Skip to main content
The DexUtils API enforces usage quotas on Free and Standard tier accounts to ensure fair service for all users. If you are on the Pro API plan, you have unlimited access with no daily caps, no per-minute ceilings, and no burst restrictions. Understanding your quota and building retry logic into your integration will keep your application running smoothly regardless of which plan you are on.

Rate Limit Tiers

Your plan determines how many requests you can make per day, per minute, and in short bursts. The table below summarizes the limits for each tier.
Pro API customers are not subject to rate limiting and will never receive a 429 response due to quota. Rate limiting applies only to Free and Standard tier accounts.

Rate Limit Response Headers

Every API response includes headers that tell you where you stand against your quota. Inspect these headers proactively to throttle your own requests before you hit the limit.

Handling 429 Too Many Requests

When you exceed your quota, the API returns a 429 Too Many Requests status alongside a Retry-After header indicating how many seconds to wait before retrying. The safest approach is exponential backoff so your application recovers gracefully without hammering the API.

Best Practices

Following these habits will help you stay well within your quota limits and keep your integration running smoothly.

Cache Responses

Token prices and pool metadata don’t change every millisecond. Cache responses locally for at least 10–30 seconds to avoid redundant requests for the same data.

Batch Token Lookups

Instead of fetching token prices one by one, use POST /tokens/batch to retrieve up to 100 token prices in a single request and dramatically reduce your request count.

Monitor Your Headers

Read X-RateLimit-Remaining on every response. If the value drops below a safe threshold, add a short delay before your next request.

Upgrade to Pro

If your application consistently approaches the Standard tier’s per-minute limit, the Pro API plan removes all restrictions and guarantees uninterrupted access.
Use POST /tokens/batch whenever you need prices for multiple tokens at once. Batching 100 lookups into one request uses 1% of the quota that 100 individual calls would consume.