Trust Wallet logo

Rate Limits

Understanding API rate limits, tiers, and best practices for optimal usage

Rate Limiting Overview

Time Windows

Rate limits are calculated per minute, hour, and day

Fair Usage

Prevents abuse while ensuring reliable service

Scalable Tiers

Higher limits available with premium plans

Graceful Handling

Clear error messages when limits are exceeded

Rate Limit Strategy

Our rate limiting uses a sliding window approach with burst allowances. This ensures fair access while allowing for occasional traffic spikes within reasonable limits.

Rate Limit Tiers

F

Free

$0/month

Wallet Analysis:10/hour
Risk Assessment:5/hour
Batch Processing:Not available
Real-time Monitoring:Not available
P

Pro

$49/month

Wallet Analysis:100/hour
Risk Assessment:50/hour
Batch Processing:10/hour
Real-time Monitoring:5 addresses
E

Enterprise

Custom

Wallet Analysis:1000/hour
Risk Assessment:500/hour
Batch Processing:100/hour
Real-time Monitoring:Unlimited

Rate Limit Headers

Every API response includes rate limit headers to help you track your usage and avoid hitting limits.

HeaderDescriptionExample
X-RateLimit-LimitThe maximum number of requests allowed in the current window100
X-RateLimit-RemainingThe number of requests remaining in the current window85
X-RateLimit-ResetUnix timestamp when the rate limit window resets1642694400
X-RateLimit-WindowThe duration of the rate limit window in seconds3600

Example Response Headers

HTTP/1.1 200 OK
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 85
X-RateLimit-Reset: 1642694400
X-RateLimit-Window: 3600
Content-Type: application/json

{
  "analysis_id": "ana_1234567890",
  ...
}

Best Practices

Monitor Headers

Always check rate limit headers in responses

  • Parse X-RateLimit-Remaining before making requests
  • Use X-RateLimit-Reset to plan request timing
  • Implement client-side rate limit tracking

Implement Backoff

Use exponential backoff when limits are hit

  • Start with 1-second delays
  • Double delay time on subsequent 429 errors
  • Add jitter to prevent thundering herd

Handle 429 Errors

Gracefully handle rate limit exceeded responses

  • Check Retry-After header for wait time
  • Queue requests instead of dropping them
  • Provide user feedback about delays

Optimize Usage

Maximize efficiency within your limits

  • Batch requests when possible
  • Cache results to avoid duplicate calls
  • Use webhooks for real-time updates

Rate Limit Exceeded Response

HTTP/1.1 429 Too Many Requests
Retry-After: 60
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1642694400

{
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Rate limit exceeded. Try again in 60 seconds."
  }
}