Rate limits
API requests are limited per API key: 180 requests per minute, in a fixed one-minute window. Sandbox and live keys have the same limit.
Every response carries:
| Header | Meaning |
|---|---|
X-RateLimit-Limit | Requests allowed in the window |
X-RateLimit-Remaining | Requests left in the current window |
When you exceed the limit the API returns 429 with a Retry-After header (seconds) and code rate_limited.
Backing off#
- On
429, wait at leastRetry-Afterseconds. - On
5xxor a network error, retry with exponential backoff and jitter (for example 0.5s, 1s, 2s, 4s), and stop after a few attempts. - Never retry in a tight loop.
- Spread work out. To reconcile, use
GET /settlementswith a date range instead of fetching payments one by one.
Related limits#
- Hosted checkout pages are limited separately, per visitor.
- Amounts: payment links and payouts accept
0.01to100,000,000in major units. QR codes accept up to10,000,000,000minor units. - Payouts and refunds above a per-currency threshold need a second approver: see Payouts.
Need a higher limit for a launch? Contact dev@olympuspay.co with your expected volume.