Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.0xarchive.io/llms.txt

Use this file to discover all available pages before exploring further.

Rate limits are implementation constraints, not just plan table rows. Use Rate Limits And Credits for the public plan table and this page for the design concept behind those limits. Rate limits are not only a number of requests per second. They are the combined envelope of request rate, concurrent queries, credit budget, route gates, WebSocket subscriptions, replay speed, retry behavior, and downstream processing capacity.

Limit Types

Limit typeWhat it protectsClient design rule
Requests per secondAPI edge and account burst behaviorQueue work and back off on 429
Concurrent queriesHeavy historical or long-running callsBound worker pools by route family
CreditsVolume and heavier data familiesEstimate before broad loops
WebSocket subscriptionsLive stream fanoutSubscribe only to required channel-symbol pairs
Replay speedHistorical stream pressureBound windows, speed, and output storage
Route gatesL3, L4, replay, or advanced featuresCheck plan and generated route docs before production

Client Pattern

1

Start narrow

Confirm one venue family, one symbol, one route, and one small window.
2

Separate heavy and light work

Do not let L3, L4, replay, or long-history jobs share an unbounded worker pool with freshness checks.
3

Back off with context

Preserve meta.request_id, route, symbol, retry count, and wait time when handling 429 or transient failures.
4

Store job shape

Save route family, symbols, windows, concurrency, and output destination so usage can be audited.

Automation Guardrails

Scripts should not default to every symbol, every channel, or every historical window. A safe job names the route family and symbol scope, sets a limit, implements backoff, logs request IDs, and writes output incrementally. For broad exports, start with a bounded sample request before widening the run. For WebSocket clients, rate limits interact with processing speed. A client that receives data faster than it can process will create stale dashboards, bad local books, or dropped replay messages even if the server accepts the subscription.

Limit Packet

Before increasing scope, store the limit packet with the job.
FieldCapture
ScopeRoute family, symbol set, data family, and time window
CapacityRequest rate, concurrent queries, credits, subscription count, or replay speed
Retry behaviorBackoff, jitter, max attempts, and status classes that stop the job
TraceRequest IDs, cursor state, output path, and data-quality decision
Stop conditionRate response, credit threshold, stale data, gap event, or consumer lag

Next Step

Use Limits And Throughput for implementation details, WebSocket Limits for stream-specific sizing, and Credits for capacity planning.
Last modified on May 18, 2026