Limits
| Window | Limit |
|---|---|
| Per minute | 2,000 requests |
| Per day | 30,000 requests |
What happens when you exceed a limit
When you exceed a rate limit, the API returns HTTP429 Too Many Requests. Your account is temporarily suspended from making further requests until the current window resets.
Duplicate POST requests
Submitting the same POST request more than once within a 1-second window causes awager_action_duplicated error. This protects against accidental double-submission of orders.
The duplicate check is based on request content, not idempotency keys. If you need to retry a failed POST, wait at least 1 second before resubmitting.
Best practices
Cache responses where possible. Market data like event listings and price history does not change every second. Cache responses and serve them from memory rather than re-fetching on every operation. Use exponential backoff on 429 responses. If you receive a429, wait before retrying. Start with a short delay (e.g., 1 second) and double it on each successive failure, up to a maximum wait time.
python
category, tag, currency_mode) to retrieve only the data you need in a single call rather than fetching all events and filtering client-side.
Avoid polling at fixed short intervals. If you are monitoring market state, use longer polling intervals (e.g., 5–10 seconds) and increase the interval during low-activity periods.
HTTP response codes
| Code | Meaning |
|---|---|
200 OK | Request succeeded. |
429 Too Many Requests | Rate limit exceeded. Back off and retry. |
400 Bad Request | Invalid parameters, including wager_action_duplicated. |