Robinhood limits

The following rows come from the Robinhood entries in tier-matrix.yaml. Every numeric value is an unmeasured operational default, not measured upstream or Triport capacity. Re-measurement through the Triport path is tracked as N5-D-rh-C.

Endpoint and plans: Robinhood Chain RPC endpoint.

Values are sustained RPS / short burst capacity. The included 2× burst buffer absorbs brief traffic spikes at no extra cost and refills at the sustained rate. There is no quota on the number of bursts. Size ongoing traffic to sustained RPS; unlimited categories have no numeric burst ceiling. See Burst capacity.

CategoryFreeBasicProBusinessEnterpriseStatus
robinhood_read_rpc15 / 3020 / 40100 / 200250 / 500unlimitedunmeasured
robinhood_read_rpc_heavy15 / 3020 / 40100 / 200250 / 500unlimitedunmeasured
robinhood_send_tx3 / 65 / 1030 / 6080 / 160unlimitedunmeasured

JSON-RPC request bodies and batches

POST /rpc/robinhood accepts JSON-RPC objects and batch arrays with a total JSON body size up to 4 MiB (4,194,304 bytes), including whitespace. The same limit applies to all API keys and is independent of requests per second. Standard JSON-RPC arrays, including a one-element array, support large eth_getLogs wallet-topic filters within this limit.

Every batch element is inspected for method and tier access. Where an RPS budget applies, a batch of N requests costs N requests. Raising the RPS budget does not raise the body-size limit. Oversized batches return HTTP 413 with error: batch_too_large; split them into smaller arrays. Method-specific parameter, response-size, and execution-time limits still apply.

Streaming access

SurfaceFreeBasicProBusinessEnterpriseStatus
newHeads, logs WebSocketunavailableavailableavailableavailableavailabletier policy
Sequencer feedunavailableunavailable2 streams4 streams4 streamsunmeasured product limit

The feed requires the robinhood:feed scope. These concurrency limits do not claim upstream capacity. See the shared Rate Limits and Tiers reference for rate-limit headers, burst behavior, and product errors.

The warm receive fan is shared inside the process. Adding upstream feed/header sockets does not multiply a client's RPS budget, WebSocket concurrency allowance, message-size ceiling, or replay allocation; client limits remain exactly those shown here.

eth_getLogs also has channel-specific range and result ceilings. Triport may split or reconstruct deep ranges from receipts; reconstruction is slower and can still fail when no eligible historical channel exists.

Where the details live

TopicPage
Connecting, keys in URLs vs headers, viem/ethers/Hardhat/FoundryQuickstart
Starting without a paid plan: the Free trial key, the network's public RPC, the 401 without a keyPublic RPC and the free trial key
newHeads sourcing, reconnect, close codesnewHeads subscription
Log filters, client-side de-duplication, reorgs, backfilllogs subscription
Feed cursor, resume frame, bufferCompleteFeed resume
Confirmation watermark fields on feed framesFeed reconciliation
debug_* availability and revert reasonsDebug and trace
Measured history floors and deep-range behaviourArchive depth