Limits
| Endpoint | Limit |
|---|---|
POST /payments/withdraw/address | 200 requests per minute |
GET /trades/pbc/sell/rates | 20 requests per minute |
x-app-id) in your request headers.
Response headers
Rate-limited endpoints include the following headers in every response:| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum number of requests allowed per window (e.g., 200). |
X-RateLimit-Remaining | Number of requests remaining in the current window. |
X-RateLimit-Reset | Unix timestamp (in seconds) when the rate limit window resets. Included on every response. |
Retry-After | Number of seconds to wait before retrying. Only included on 429 responses. |
Example response headers
Handling rate limits
When you exceed the rate limit, the API returns a 429 Too Many Requests status code. See error handling for the full 429 response format. To handle this gracefully:- Check the
X-RateLimit-Remainingheader before making requests. If it is approaching0, slow down. - If you receive a
429response, use theRetry-Afterheader (value in seconds) to determine how long to wait before retrying. - Add a retry loop so transient rate limit hits don’t break your integration.
Example retry logic
Best practices
- Batch operations where possible to reduce the total number of API calls.
- Monitor headers proactively. Don’t wait for a
429to start throttling. - Queue withdrawals on your end and process them at a steady rate below the limit.