Skip to main content

Defaults

Per-tenant: 300 requests per minute with a burst window of 60 requests. Per-IP (for unauthenticated public endpoints like checkout pages): 120 requests per minute per IP, with a burst of 30. Per-checkout polling (when a customer is on the checkout page): 60 requests per minute per checkout token. This protects the indexer-polling path that auto-detects on-chain payments. If you genuinely need a higher tenant limit, contact us. We’ve raised the cap for high-volume tenants on request without negotiation overhead.

Response headers

Every response includes:
  • X-RateLimit-Limit: total requests allowed in the current window.
  • X-RateLimit-Remaining: requests still available before the window resets.
  • X-RateLimit-Reset: unix timestamp when the window resets.

When you get rate-limited

The Retry-After header is in seconds. Wait at least that long before retrying.

Back-off strategy

If you’re regularly hitting limits, the simplest fix is exponential back-off with jitter:
The 0.5× jitter spreads retries from concurrent processes so you don’t all wake up at the same instant.

Why per-IP limits exist

Public endpoints (the checkout page itself, the public chain-status pages) are unauthenticated. Without a per-IP limit, an abusive client could DoS the indexer. The per-IP limit kicks in before any per-tenant accounting, so an authenticated tenant request from the same IP isn’t double-counted.

See also