Business APIQuotas & Errors

Quotas & Errors

Rate limiting and common error codes for the Business API.

Per-key budgets

Every API key is metered against these rolling budgets:

BudgetDefault limitScope
Requests per minute200Per key
Requests per hour1000Per key
Weight per minute200Per key (shared across all routes)

Weight is a single per-key budget shared across every route: each call subtracts its route weight (see below) from the same 200 weight/minute pool. A key can therefore make 200 weight-1 calls or 20 weight-10 order creations per minute, in any mix, before receiving 429. Admins can raise a key's limits from the dashboard; the values above are the defaults.

Rate limit headers

Business responses can include:

  • X-RateLimit-Limit / X-RateLimit-Remaining / X-RateLimit-Reset
  • X-RateLimit-Weight-Limit / X-RateLimit-Weight-Remaining

Route weights

Route familyWeightConcurrency
Currencies1None
Route discovery2None
Route resolve31
Onchain resolve41
Onchain execution report41
Onchain execution status1None
Quotes12
Orders create101
Order reads1None
Emergency21
Notification email11
QR1None
Callbacks & webhooks11 on mutations

Common errors

CodeMeaningWhat to do
INVALID_API_KEYKey is invalid, inactive, or revokedVerify the issued key and key status
SIGNATURE_REQUIREDSignature header missingSend X-API-SIGN
INVALID_SIGNATURE_FORMATSignature is not lowercase hexSend a lowercase hex HMAC digest
TIMESTAMP_REQUIREDTimestamp header missingSend X-API-TIMESTAMP
TIMESTAMP_OUT_OF_RANGETimestamp outside tolerance windowRegenerate timestamp before sending
NONCE_REPLAYEDNonce already usedGenerate a fresh nonce for every request
RATE_LIMIT_EXCEEDEDBudget exhaustedBack off using the limit headers
CONCURRENCY_LIMIT_EXCEEDEDAnother mutation runningRetry later with same Idempotency-Key
IDEMPOTENCY_BODY_MISMATCHSame key, different bodyNever reuse a key for a different request
IDEMPOTENCY_REQUEST_IN_PROGRESSAlready processingRetry later
IDEMPOTENCY_PREVIOUSLY_FAILEDEarlier attempt failedUse a new Idempotency-Key
ORDER_NOT_FOUNDUnknown or unauthorized orderVerify order belongs to same principal