Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.dzap.io/llms.txt

Use this file to discover all available pages before exploring further.

DZap rate-limits requests to keep the API responsive for everyone. Limits differ by API and authentication state.

Limits at a glance

SurfaceDefaultWith API key
Fuse API — /v1/quote3 req/sec/IPn/a (no auth)
Fuse API — /v1/buildTx3 req/sec/IPn/a
Fuse API — other reads60 req/min/IPn/a
Trade API — quotes/build60 req/min/IPper-key tier (typically 5–50 req/sec)
Trade API — reads120 req/min/IPper-key tier

Response headers

Every response includes:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 47
X-RateLimit-Reset: 1714117200
X-RateLimit-Reset is a Unix timestamp.

When you hit a limit

You’ll get 429 Too Many Requests:
{
  "status": "error",
  "code": "RATE_LIMITED",
  "message": "Rate limit exceeded. Retry after 12s.",
  "retryAfter": 12
}
Retry with exponential backoff. Don’t hammer.

Best practices

  • Cache quotes briefly — quotes are valid for ~30s; cache server-side if you re-render the same pair.
  • Batch where possible/v1/quotes accepts an array of items in data. One request, many quotes.
  • Use the SDK — it implements retries with backoff for you.
  • Use an API key for production — per-key limits are higher and more predictable than per-IP.

Need more headroom?

Email [email protected] with your projected req/sec and use case. Higher tiers are available for production deployments.