For the complete documentation index, see llms.txt. This page is also available as Markdown.

Rate-Limits

The gateway enforces per-API-key rate limits with a token-bucket limiter, plus a per-IP request limit and a WebSocket connection cap. Limits are tiered to support both general programmatic use and high-throughput market-making.

Request rate (per API key)

Tier
Request limit
WebSocket connections
Assignment

Pro

20 req/s

5

Default for all keys

Market Maker

2,000 req/s

100

Admin-assigned

A per-IP limit of 50 req/s applies in addition to the per-key limit.

When you exceed your limit, the gateway returns HTTP 429 with a Retry-After header. Every response also carries X-RateLimit-* headers reporting your tier's ceiling and current usage, so you can pace clients without tripping the limiter.

WebSocket connections

  • Pro keys: up to 5 active WebSocket connections; Market Maker: up to 100.

  • Connections beyond the cap are rejected.

Other limits

Limit
Value

HMAC timestamp window

±30s of server time

WebSocket token lifetime

60s, single-use

Session token lifetime

24h

Faucet (/account/credit)

500 USDX/day per key (testnet)

Designing for the limits

  • Batch order placement with POST /orders/batch instead of issuing many single POST /orders calls.

  • Prefer WebSocket streams over REST polling for order book and trade data — it is both faster and far cheaper against your rate budget.

  • Cache market metadata (GET /markets) rather than re-fetching it on every cycle.

  • Pace from the X-RateLimit-* headers rather than retrying blindly after a 429.

Status: testnet preview. Tier ceilings are configurable and may change as the tier system is finalized across release gates. Rate-limit state is currently in-memory at the gateway and resets on restart.

Last updated