Skip to main content
Tender limits how many requests your merchant account can make in a fixed window. Limits are counted per merchant account, so all of your API keys and outlets share the same budget.

How the window works

  • Each limit uses a fixed 60-second window. The window starts with your first request in that group and resets 60 seconds later; it does not slide.
  • Every endpoint group has its own counter. Requests to /v1/api/payment don’t use up your /v1/api/payout budget.
  • Some groups have a second, tighter limit on top of the group limit. A request must pass every limit that applies to it.
  • Requests that are rejected with 429 still count towards the current window.

Limits

Payout, conversion and onramp endpoints have a small budget that reads and writes share. Don’t poll their GET endpoints in a tight loop; poll every 10 seconds or more, and back off once a record reaches a final status.

Rate limit headers

Responses from rate-limited endpoints include these headers: Where more than one limit applies (for example, on payout routes), the headers describe the tighter limit.

When you exceed a limit

The API responds with HTTP 429 and the standard error envelope. The message states the limit you hit:
To recover:
  1. Stop sending requests to that group.
  2. Wait for RateLimit-Reset seconds.
  3. Retry. For payouts, retry with the same Idempotency-Key; see Idempotency.
If your integration needs higher limits, contact support@tender.cash.