Tonder implements rate limiting to ensure fair usage and maintain system stability. Understanding these limits is essential for production applications.

Current Rate Limits

EndpointLimitWindow
POST /process/100 requestsper minute
GET /transactions/300 requestsper minute

Rate Limit Headers

Rate limit headers are included in responses:
HeaderExample ValueDescription
X-RateLimit-Limit100Request limit per window
X-RateLimit-Remaining95Requests remaining in the current window
X-RateLimit-Reset1640995200Unix timestamp when the limit resets

Rate Limit Response

When rate limited, the API returns HTTP 429 with retry information:
{
  "error": {
    "code": "rate_limit_exceeded",
    "message": "Too many requests",
    "retry_after": 60
  }
}

Basic Limit Handling

When you receive a 429 response, do the following:
  1. Check the retry_after field in the error response
  2. Wait the specified time before retrying
  3. Monitor rate limit headers to prevent hitting limits
  4. Implement exponential backoff for failed requests

Best Practices

These are some best practices to follow when handling rate limits.
  • Track your API usage against limits
  • Use exponential backoff for retries
  • Cache when possible to reduce unnecessary API calls
  • Batch multiple operations when supported

Next Steps