Rate Limits
The DuckyDux API implements tiered rate limiting to ensure fair usage and system stability. Limits are enforced per IP address and vary based on endpoint cost and usage patterns.
Rate Limit Headers
Every API response includes headers showing your current rate limit status:
RateLimit-Limit: 3
RateLimit-Remaining: 2
RateLimit-Reset: 1
X-RateLimit-Limit-Second: 3
X-RateLimit-Limit-Minute: 120
X-RateLimit-Remaining-Second: 2
X-RateLimit-Remaining-Minute: 119| Header | Description |
|---|---|
RateLimit-Limit | Allowed limit in current timeframe |
RateLimit-Remaining | Requests remaining |
RateLimit-Reset | Seconds until quota resets |
Retry-After | Seconds to wait (429 responses only) |
X-RateLimit-Limit-Second | Max requests per second |
X-RateLimit-Limit-Minute | Max requests per minute |
X-RateLimit-Remaining-Second | Remaining this second |
X-RateLimit-Remaining-Minute | Remaining this minute |
Endpoint Limits
Swap quote and bundles submission (3/s, 120/min)
Operations requiring route finding and transaction simulation.
| Endpoint | Method |
|---|---|
/v1/swap/quote | POST |
/v1/bundles/quote | POST |
/v1/bundles/send | POST |
/v1/bundles/sponsored/send | POST |
Assets balance/allowance and swap fees (5/s, 300/min)
Endpoints for balance checks and status polling.
| Endpoint | Method |
|---|---|
/v1/assets/balance | GET |
/v1/assets/allowance | GET |
/v1/bundles/{bundle_id} | GET |
/v1/swap/fees | GET |
/v1/swap/fees/balance | GET |
/v1/swap/fees/withdraw | POST |
Search & Discovery (12/s, 720/min)
Token and pool search endpoints.
| Endpoint | Method |
|---|---|
/v1/assets/search | GET |
/v1/assets/search/top | GET |
/v1/pools/search | GET |
/v1/pools/search/top | GET |
/v1/pools/{pool_address} | GET |
/v1/pools/{pool_address}/prices | GET |
/v1/pools/by-token/{token_address} | GET |
Affiliates (20/s, 1200/min)
Affiliates related details.
| Endpoint | Method |
|---|---|
/v1/affiliates/{address}/summary | GET |
/v1/affiliates/{address}/earnings | GET |
/v1/affiliates/{address}/withdrawals | GET |
Best Practices
- Check
RateLimit-Remainingbefore making requests - Use
Retry-Afterheader when receiving 429 responses - Cache responses — Token metadata (hours), pool info (minutes), balances (seconds)
- Batch operations — Group swaps into bundles, query top lists instead of individual items
- Connection pooling — Reuse HTTP connections to reduce overhead
See the Error Handling Guide for complete implementation patterns.
Need Higher Limits?
Contact support@duckydux.com with:
- Your use case and expected traffic patterns
- Current IP address(es)
- Expected requests per second/minute per endpoint
Cryptographic authentication (coming soon) will provide per-wallet rate limits.
Related Resources
- Error Handling Guide — Complete error handling patterns
- API Errors Reference — All error types and responses
- OpenAPI Specification — Full API documentation
Last updated on