Rate Limits
Rate limits are enforced per API key and vary by plan tier. When exceeded, the API returns 429 with a Retry-After header.
Limits by Plan
| Plan | Req/Min | Req/Day | Monthly Limit | Throughput | Overage |
|---|---|---|---|---|---|
| Explorer (Free) | 20 | 1,000 | 1,000 | 10 msg/s | Hard block |
| Builder ($49/mo) | 200 | 10,000 | 10,000 | 100 msg/s | Hard block |
| Sovereign ($199/mo) | 2,000 | 100,000 | 100,000 | 1,000 msg/s | Contact sales |
| Enterprise (Custom) | Custom | Custom | Custom | Custom | Custom SLA |
Rate Limit Headers
X-RateLimit-LimitMaximum requests allowed in the current window
X-RateLimit-RemainingRequests remaining in the current window
X-RateLimit-ResetUnix timestamp when the window resets
Retry-AfterSeconds to wait before retrying (only on 429 responses)
Best Practices
→Implement exponential backoff on 429 responses
→Monitor your usage via the /v1/did/status endpoint
→Use the utilisation_pct field to set alerts before hitting limits
→For high-throughput use cases, consider the Sovereign or Enterprise tier