Robinhood Chain and the equities REST API. One key.
Standard Ethereum JSON-RPC for Robinhood Chain (reads, logs, and transaction broadcast) plus the the equities REST API API for CLOB state, served from a self-operated node fleet. Stream the live data; use RPC for point reads and transaction submission.
POSTrpc.robinhoodrpc.io
request
{
"jsonrpc": "2.0",
"id": 1,
"method": "eth_blockNumber",
"params": []
}response4.2 ms
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x7b2a4f1"
}Two execution surfaces, one credential.
Robinhood Chain runs an EVM and a CLOB L1 side by side. We serve both from a self-operated node fleet: standard Ethereum JSON-RPC for Robinhood Chain state and transactions, and the the equities REST API /info API for market and account state on the exchange. The same API key authenticates either path.
Robinhood Chain JSON-RPC
JSON-RPC / HTTPShttps://rpc.robinhoodrpc.io
The usual eth_* set: read contract state, index logs and events, estimate gas, and broadcast signed transactions: contract calls, transfers, bridging. If your tooling speaks Ethereum, it speaks this.
Supported methods
the equities REST API
HTTPS POSThttps://api.robinhoodrpc.io/info
The read API for the the equities REST API L1, the perps and spot CLOB. Market metadata, L2 book snapshots, asset contexts with mark price, funding, and open interest, plus per-wallet state: open orders, fills, positions, funding history, and exchange status.
Request types
The supported eth_* set, with receipts.
Every method below ships with an example round-trip. Expand a row for the exact request and response bodies. Parameter details and the the equities REST API request types live in the RPC reference.
Request
{ "jsonrpc": "2.0", "id": 1, "method": "eth_blockNumber", "params": [] }Response
{ "jsonrpc": "2.0", "id": 1, "result": "0x7b2a4f1" }Request
{ "jsonrpc": "2.0", "id": 1, "method": "eth_getBlockByNumber", "params": ["latest", false]}Response
{ "jsonrpc": "2.0", "id": 1, "result": { "number": "0x7b2a4f1", "hash": "0x9c41d2e8f06a3b7d5512cc09e8b1f4a6d3370c25b8e9410f7aa61d20c4b53e18", "timestamp": "0x684694aa", "gasUsed": "0x1b8e4", "transactions": [] }}Request
{ "jsonrpc": "2.0", "id": 1, "method": "eth_getBlockByHash", "params": ["0x9c41d2e8f06a3b7d5512cc09e8b1f4a6d3370c25b8e9410f7aa61d20c4b53e18", false]}Response
{ "jsonrpc": "2.0", "id": 1, "result": { "number": "0x7b2a4f1", "hash": "0x9c41d2e8f06a3b7d5512cc09e8b1f4a6d3370c25b8e9410f7aa61d20c4b53e18", "parentHash": "0x4f8be20cd1a967340a1f2dd086c5e3b6b9407d83cf25e6a1908b4d27f013ae52" }}Request
{ "jsonrpc": "2.0", "id": 1, "method": "eth_call", "params": [ { "to": "0x5555555555555555555555555555555555555555", "data": "0x70a08231000000000000000000000000913ef4b96e9fd7d6f8c14e22b1a1a1e7c41a0a2b" }, "latest" ]}Response
{ "jsonrpc": "2.0", "id": 1, "result": "0x000000000000000000000000000000000000000000000002b5e3af16b1880000"}Request
{ "jsonrpc": "2.0", "id": 1, "method": "eth_estimateGas", "params": [ { "from": "0x913ef4b96e9fd7d6f8c14e22b1a1a1e7c41a0a2b", "to": "0x5555555555555555555555555555555555555555", "value": "0xde0b6b3a7640000" } ]}Response
{ "jsonrpc": "2.0", "id": 1, "result": "0x5208" }Request
{ "jsonrpc": "2.0", "id": 1, "method": "eth_gasPrice", "params": [] }Response
{ "jsonrpc": "2.0", "id": 1, "result": "0x3b9aca00" }Request
{ "jsonrpc": "2.0", "id": 1, "method": "eth_getBalance", "params": ["0x913ef4b96e9fd7d6f8c14e22b1a1a1e7c41a0a2b", "latest"]}Response
{ "jsonrpc": "2.0", "id": 1, "result": "0x1bc16d674ec80000" }Request
{ "jsonrpc": "2.0", "id": 1, "method": "eth_getCode", "params": ["0x5555555555555555555555555555555555555555", "latest"]}Response
{ "jsonrpc": "2.0", "id": 1, "result": "0x6080604052348015610010..." }Request
{ "jsonrpc": "2.0", "id": 1, "method": "eth_getStorageAt", "params": ["0x5555555555555555555555555555555555555555", "0x0", "latest"]}Response
{ "jsonrpc": "2.0", "id": 1, "result": "0x0000000000000000000000000000000000000000000000000000000000000001"}Request
{ "jsonrpc": "2.0", "id": 1, "method": "eth_getTransactionCount", "params": ["0x913ef4b96e9fd7d6f8c14e22b1a1a1e7c41a0a2b", "pending"]}Response
{ "jsonrpc": "2.0", "id": 1, "result": "0x2a" }Request
{ "jsonrpc": "2.0", "id": 1, "method": "eth_getLogs", "params": [ { "fromBlock": "0x7b2a000", "toBlock": "latest", "address": "0x5555555555555555555555555555555555555555", "topics": ["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"] } ]}Response
{ "jsonrpc": "2.0", "id": 1, "result": [ { "address": "0x5555555555555555555555555555555555555555", "blockNumber": "0x7b2a4f1", "transactionHash": "0x6b1f0e9a4d27c5583f10ab8e2d94c7106e3bd1a05f88c2e4917d30b6a25c84f3", "topics": ["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"], "data": "0x000000000000000000000000000000000000000000000000016345785d8a0000" } ]}Request
{ "jsonrpc": "2.0", "id": 1, "method": "eth_getTransactionReceipt", "params": ["0x6b1f0e9a4d27c5583f10ab8e2d94c7106e3bd1a05f88c2e4917d30b6a25c84f3"]}Response
{ "jsonrpc": "2.0", "id": 1, "result": { "transactionHash": "0x6b1f0e9a4d27c5583f10ab8e2d94c7106e3bd1a05f88c2e4917d30b6a25c84f3", "blockNumber": "0x7b2a4f1", "status": "0x1", "gasUsed": "0x5208", "logs": [] }}Request
{ "jsonrpc": "2.0", "id": 1, "method": "eth_getTransactionByHash", "params": ["0x6b1f0e9a4d27c5583f10ab8e2d94c7106e3bd1a05f88c2e4917d30b6a25c84f3"]}Response
{ "jsonrpc": "2.0", "id": 1, "result": { "hash": "0x6b1f0e9a4d27c5583f10ab8e2d94c7106e3bd1a05f88c2e4917d30b6a25c84f3", "from": "0x913ef4b96e9fd7d6f8c14e22b1a1a1e7c41a0a2b", "to": "0x5555555555555555555555555555555555555555", "value": "0x0", "nonce": "0x29", "blockNumber": "0x7b2a4f1" }}Note: Robinhood Chain transactions only. CLOB orders go through Robinhood Chain's signed-action exchange API.
Request
{ "jsonrpc": "2.0", "id": 1, "method": "eth_sendRawTransaction", "params": ["0x02f8718205398084773594008504a817c80082520894555555555555..."]}Response
{ "jsonrpc": "2.0", "id": 1, "result": "0x6b1f0e9a4d27c5583f10ab8e2d94c7106e3bd1a05f88c2e4917d30b6a25c84f3"}Request
{ "jsonrpc": "2.0", "id": 1, "method": "eth_chainId", "params": [] }Response
{ "jsonrpc": "2.0", "id": 1, "result": "0x3e7" }Request
{ "jsonrpc": "2.0", "id": 1, "method": "net_version", "params": [] }Response
{ "jsonrpc": "2.0", "id": 1, "result": "999" }First response in under five minutes.
No new client library. viem, ethers, and web3.py work as-is. Set one header and point them at the endpoint.
Get an API key
One key authenticates Robinhood Chain RPC, the equities REST API, and the gRPC streams across both plans. Historical exports are requested manually.
Point your client at the endpoint
Send JSON-RPC over HTTPS to rpc.robinhoodrpc.io with the key in the x-api-key header.
Read, then broadcast
eth_call and eth_getLogs for state; eth_sendRawTransaction when you are ready to write.
Timed from key creation to the first JSON-RPC response.
# latest Robinhood Chain blockcurl https://rpc.robinhoodrpc.io \ -H 'x-api-key: YOUR_KEY' \ -H 'content-type: application/json' \ -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}' # read contract state (ERC-20 balanceOf)curl https://rpc.robinhoodrpc.io \ -H 'x-api-key: YOUR_KEY' \ -H 'content-type: application/json' \ -d '{"jsonrpc":"2.0","id":2,"method":"eth_call","params":[{ "to": "0x5555555555555555555555555555555555555555", "data": "0x70a08231000000000000000000000000913ef4b96e9fd7d6f8c14e22b1a1a1e7c41a0a2b" },"latest"]}'Measured, not asserted.
A continuous evaluation harness issues real JSON-RPC reads from Frankfurt, every hour, from a neutral vantage point. Percentiles are published unedited, including the bad days.
0.0 ms
p50, JSON-RPC reads, Frankfurt
99.00%
Trailing 12-month uptime
0+
Markets readable via /info
as of 2026-08-27
The rest of the platform
Read the chain. Broadcast the transaction.
One API key covers Robinhood Chain JSON-RPC, the equities REST API, and the gRPC streams. Manual historical exports are requested separately.
Common questions
A data and RPC provider for Robinhood Chain. We stream real-time market data over gRPC, serve Robinhood Chain/the equities REST API RPC, and prepare historical exports and custom datasets on request.
Robinhood Chain transactions, yes, via eth_sendRawTransaction on our RPC. the equities REST API CLOB orders are placed through Robinhood Chain's signed-action exchange API, separate from EVM RPC.
Streams are sub-second. We run a self-operated Robinhood Chain node fleet with automated failover and redundancy.
Request an API key for self-serve tiers, or contact us for Enterprise: dedicated nodes, custom SLAs, and custom datasets.