Wallet Infrastructure
Wallet Infrastructure
Reference & Support

Errors and Limits

What each error means, and request limits.

Error format

Errors share one shape:

FieldValue
codeMachine-readable cause, for example validation_failed.
statusThe HTTP status.
titleA short summary.
detailWhat to change, naming the field at fault when there is one.
categoryclient (your request), upstream (a network or provider) or internal (ours).
request_idQuote it when you contact us.

Common codes

CodeStatusMeaning
unauthorized401Missing, malformed, unknown or revoked API key.
forbidden403The key lacks the scope, or the action is not allowed.
kyb_required403Live mode needs a verified business.
not_found404The resource does not exist for this project.
wallet_not_found404No wallet matches; send x-customer-id.
validation_failed400, 409The request is invalid; detail says what to change.
insufficient_funds400The balance does not cover the amount and fees.
idempotency_conflict409The idempotency key was used for a different request.
passkey_credential_invalid409The passkey assertion did not verify.
transfer_reverted409The network rejected the transfer.
chain_unavailable400, 409, 502The network or route is not available for this request.
rate_limit_exceeded429Too many requests; wait and retry.
upstream_unavailable502, 503, 504A network or provider is unavailable; retry later.
unknown500Something failed on our side; retry, and quote request_id.

Rate limits

LimitRequests per 60 seconds
Per API key300
Per business3,000

Over the limit, requests return 429 rate_limit_exceeded. Responses carry no Retry-After or rate-limit headers, so back off and retry with increasing delays.

On this page