Rate Limits

Rate Limits

Request quotas per endpoint category and retry guidance.

Rate limits are enforced per API key. Limits reset on a 60-second rolling window. Exceeded requests return 429 rate_limit_exceeded with a Retry-After header.

Limits by category

CategoryEndpointsReq / min (live)Req / min (test)
Agent ManagementPOST/PATCH/DELETE /agents120300
Agent ReadsGET /agents, GET /agents/:id6001200
Spend AuthorisePOST /spend/authorise12003000
Wallet OperationsGET/POST /wallets/*300600
TransactionsGET /transactions300600
Webhook ManagementPOST/DELETE /webhooks60120

Handling 429s

typescriptnomiqon.com
// The SDK handles retries automatically with exponential backoff.
// If you use raw fetch, implement backoff manually:
async function withRetry<T>(fn: () => Promise<T>, maxRetries = 3): Promise<T> {
  for (let attempt = 0; attempt <= maxRetries; attempt++) {
    try {
      return await fn();
    } catch (err: unknown) {
      const isRateLimit = err instanceof NomiqonError && err.status === 429;
      if (!isRateLimit || attempt === maxRetries) throw err;
      const delay = Math.pow(2, attempt) * 500 + Math.random() * 200;
      await new Promise(r => setTimeout(r, delay));
    }
  }
  throw new Error("unreachable");
}
Rate Limits — Nomiqon Docs