Skip to content

Usage and limits

Understand RPC credits, organization-wide limits, retries, archive access, and batching.

Estimate what your RPC workload will cost and keep it within your organization's shared limits. RPC calls and WebSocket subscription events draw credits at the rates for their method class. Rate and concurrency limits apply to your whole organization.

Current credit rates

Use the method rates below to estimate request costs. Track actual consumption in Platform Usage.

Current rates as of Nov 14, 2026, 12:03 AM UTC.

Usage componentApplies toRate
RPC callsDefault20 credits per RPC call
RPC callsRPC method cost class: Standard20 credits per RPC call
RPC callsRPC method cost class: Compute-heavy30 credits per RPC call
RPC callsRPC method cost class: Log scans40 credits per RPC call
RPC callsRPC method cost class: State proofs40 credits per RPC call
RPC callsRPC method cost class: Trace and debug60 credits per RPC call
Subscription eventsDefault20 credits per subscription event
Subscription eventsSubscription type: newHeads20 credits per subscription event
Subscription eventsSubscription type: logs20 credits per subscription event
Subscription eventsSubscription type: newPendingTransactions20 credits per subscription event
Subscription eventsSubscription type: syncing20 credits per subscription event
Response bytesDefault0 credits per GiB
Response bytesRPC method cost class: Log scans1,500,000 credits per GiB

RPC method cost class

ClassMethods
Compute-heavyeth_call, eth_createAccessList, eth_estimateGas
Log scanseth_getLogs
State proofseth_getProof
Trace and debugdebug_…, trace_…
StandardAll methods not matched by another class

Credits follow the method's cost class, not the block's age, so an archive read uses the same credits as a current-state call to the same method. Check Supported networks for archive coverage on your network.

Organization limits

These limits apply to your whole organization, not to each API key, and they do not change with your plan size. Contact support for the values that apply to your workload or to request an increase.

LimitApplies toGuidance
Request rateHTTPS and WebSocket RPC callsSpread traffic across time and use backoff after 429.
Concurrent requestsIn-flight requests for the organizationBound worker pools and queue background jobs.
Batch sizeNumber of JSON-RPC calls in one HTTP batchKeep batches small enough to retry individual failures.
Response sizeLarge logs, blocks, receipts, and archive readsUse narrower ranges or paginated application workflows.
Request timeoutLong state reads and log scansSplit large archive jobs by block range.
WebSocket connectionsLive subscriptionsReuse connections and unsubscribe unused streams.
WebSocket subscriptionsActive subscriptions per organizationPrefer one filtered subscription over many overlapping ones.

Rate-limit and request headers

Treat optional headers as informational

Do not rely on rate-limit or request-tracing headers to enforce production limits. Handle 429 responses, use bounded concurrency, apply backoff with jitter, and monitor usage in the platform UI.

Responses may include headers such as:

HTTP

X-GraphOps-RateLimit-Limit: <LIMIT>
X-GraphOps-RateLimit-Remaining: <REMAINING>
X-GraphOps-RateLimit-Reset: <unix-seconds>
X-GraphOps-Request-Id: <request-id>

These headers are informational; availability can vary by endpoint.

Control your usage

Most limit errors come from a few workload shapes. Keep each one bounded:

WorkloadKeep it within limitsGuide
Current-state readsRetry 429, 502, 503, and 504 with exponential backoff and jitter, and cap total retry time.Retries and reorgs
Log scans and archive readsSplit work into block ranges and reduce the range before retrying.Backfill historical events
Batch requestsKeep batches small, match responses by id, and retry only failed retryable items.API integration
Transaction submissionRetry the same signed transaction; never change it and resend blindly.Send a raw transaction
WebSocket streamsReuse connections, unsubscribe unused streams, and backfill gaps after a reconnect.WebSocket subscriptions

Production checklist

  • Store API keys outside source code. See Authentication.
  • Bound request concurrency per organization.
  • Add exponential backoff with jitter for retryable errors.
  • Use explicit block references for multi-call workflows.
  • Split broad eth_getLogs and archive reads into block ranges.
  • Track credit usage in the platform UI.
  • Use route-token authentication for WebSocket clients that cannot send custom headers.
  • Contact GraphOps support(opens in a new tab) when limits need to be raised.

Next steps

Last updated