Rate limits & quotas

Two independent caps, both per account: a QPS limit (real-time) and a daily request pool (UTC day). All keys on the account share both. Both count JSON-RPC calls, so every entry in a batch counts.

PlanQPS / accountDaily limit / accountNotes
Free10 calls/s10,000 requestsNo card required. Token-bucket burst ≈ 1 second of QPS.
Pro50 calls/s100,000 requestsWhile the subscription is active.

QPS (real-time)

  • Enforced on the public RPC endpoints before requests reach the upstream nodes.
  • Over HTTP, exceeding QPS returns 429 with JSON-RPC error code -32005 and a short Retry-After. A per-account WebSocket rate violation can close the connection instead.
  • Limits are per account, not per key or per IP: all your keys (HTTP and WebSocket) draw from the same QPS budget, so adding keys does not raise it.
  • QPS counts JSON-RPC calls, not HTTP requests or WebSocket messages: a batch of 20 uses 20. A batch is accepted as long as the account is not already over its rate, and its full size is charged, so a large batch borrows ahead and following HTTP calls get 429 until the account has caught up.
  • Free accounts also share the Free tier's overall capacity. When it is busy you can get 429 ("Free tier capacity is busy") below your own limit; retry shortly or upgrade to Pro. On WebSocket the message gets a -32005 error reply and the connection stays open.

Daily quota

  • Usage is collected asynchronously. Once reported account usage reaches the pool limit, all its keys pause after the next gateway refresh; this is not a synchronous, per-request hard cutoff.
  • The pool resets at 00:00 UTC; quota-paused keys resume after recovery and gateway refresh, usually within a few minutes.
  • Upgrading to Pro raises the account pool and QPS after entitlement propagation. Keys paused under the old limit are re-evaluated against the new pool and any lower per-key risk cap.
  • Account pool progress and per-key usage shares are on the dashboard; Try-it calls in these docs count toward the daily pool too.

The account pool is your plan daily limit; a single key can also carry a lower platform risk cap.

Concurrency and Try-it

Rate is separate from concurrency: slow requests can fill the in-flight limit even below your QPS. Reduce parallel work when you receive 429. Try-it has its own per-user rate and concurrency controls; its JSON-RPC calls still count toward the daily pool.