Getting started
Robinhood Chain is an Ethereum L2 built on the Arbitrum stack, with 100ms block times and 24/7 tokenized-asset markets. ArrowRPC gives you low-latency endpoints for it. Here's everything you need for your first request. For chain-level reference, see the official Robinhood Chain docs.
Network
| Network | Mainnet |
| Chain ID | 4663 (0x1237) |
| HTTPS endpoint | https://rpc.arrowrpc.com |
| WebSocket endpoint | wss://ws.arrowrpc.com |
Your first request
The endpoints speak standard Ethereum JSON-RPC. Confirm you're talking to the right chain:
curl https://rpc.arrowrpc.com \
-X POST -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId"}'
# → {"jsonrpc":"2.0","id":1,"result":"0x1237"}Add the network to a wallet
Use these parameters in MetaMask, Rabby, or any EVM wallet:
| Field | Value |
|---|---|
| Network name | Robinhood Chain |
| RPC URL | https://rpc.arrowrpc.com |
| Chain ID | 4663 |
| Currency symbol | ETH |
| Block explorer | robinhoodchain.blockscout.com |
Rate limits
Limits are per IP and published up front. The HTTPS endpoint allows 100 requests per second with bursts of up to 200 requests absorbed on top. The WebSocket endpoint allows one concurrent connection per IP; multiplex all your subscriptions over it. Exceeding either limit returns HTTP 429; back off and retry. Nothing is silently dropped. If you need more, email hello@arrowrpc.com.
JSON-RPC methods
ArrowRPC endpoints expose the standard Ethereum JSON-RPC surface. Anything built for Ethereum (viem, ethers, wagmi, foundry) works unmodified.
Reads & state
| Method | Notes |
|---|---|
eth_chainId, net_version | Returns 0x1237 (4663) on mainnet |
eth_blockNumber, eth_getBlockByNumber, eth_getBlockByHash | Blocks arrive every ~100ms |
eth_getBalance, eth_getCode, eth_getStorageAt, eth_getTransactionCount | Historical block tags require archive access |
eth_call, eth_estimateGas | Gas estimates include the L1 data-posting component, so expect higher totals than the pure L2 execution cost |
eth_getLogs | Max 10,000-block range per request |
Transactions
| Method | Notes |
|---|---|
eth_sendRawTransaction | Forwarded straight to the sequencer |
eth_getTransactionByHash, eth_getTransactionReceipt | Receipts include Arbitrum-style L1/L2 gas breakdown fields |
eth_gasPrice, eth_maxPriorityFeePerGas | Priority fees are typically zero, since the sequencer is first-come-first-served |
WebSocket subscriptions
Connect to wss://ws.arrowrpc.com and use eth_subscribe with:
newHeads: a new header every ~100mslogs: filtered contract events as they landnewPendingTransactions: sequencer-accepted transactions
wscat -c wss://ws.arrowrpc.com
> {"jsonrpc":"2.0","id":1,"method":"eth_subscribe","params":["newHeads"]}
< {"jsonrpc":"2.0","id":1,"result":"0x9ce59a13059e417087c02d3236a0b1cc"}One WebSocket connection per IP: open a single socket and run all your subscriptions over it. A second connection attempt from the same IP is rejected with 429.
Debug, trace & chain-specific notes
debug_traceTransaction,debug_traceCall, anddebug_traceBlockByNumberare available on request, backed by archive nodes. Email hello@arrowrpc.com to get access.- Robinhood Chain settles to Ethereum; finality follows the Arbitrum model: soft confirmation from the sequencer feed is near-instant, and L1 finality follows batch posting.
- Fees have two parts: L2 execution plus L1 data. Use
eth_estimateGasrather than hand-computing gas. - Some precompiles from Arbitrum (e.g.
ArbSysat0x64) are available for L1↔L2 messaging.
Run your own node
Robinhood Chain runs on Arbitrum Nitro, and anyone can run a full node that follows the chain. A node is a Nitro instance configured for chain ID 4663: it receives blocks from the sequencer feed, verifies them against batches posted to Ethereum L1, and serves standard JSON-RPC locally once synced.
Hardware requirements
| Component | Requirement |
|---|---|
| CPU | Modern multi-core (8+) with strong single-core performance |
| RAM | 64 GB minimum, 128 GB recommended |
| Storage | Locally attached NVMe SSD with (2 × current chain size) + 20% buffer; expect several TB. Network-attached storage will throttle sync badly. |
| Clock | Accurate system time via ntp or chrony, since a drifting clock breaks feed validation |
You'll also need Docker, an Ethereum L1 execution RPC endpoint, an L1 beacon endpoint for blob data, and the chain config files (robinhood-chain-info.json plus the genesis file) from the official docs in a local ./config directory.
Start a mainnet full node
docker run --rm -it \
-v $(pwd)/data:/home/nitro/.arbitrum \
-v $(pwd)/config:/home/nitro/config \
-p 8547:8547 -p 8548:8548 \
offchainlabs/nitro-node:v3.11.2-3599aca \
--parent-chain.connection.url=<YOUR_L1_RPC_URL> \
--parent-chain.blob-client.beacon-url=<YOUR_L1_BEACON_URL> \
--chain.id=4663 \
--chain.name="Robinhood Chain" \
--chain.info-files=/home/nitro/config/robinhood-chain-info.json \
--init.genesis-json-file=/home/nitro/config/robinhood-genesis.json \
--node.feed.input.url=wss://feed.mainnet.chain.robinhood.com \
--http.addr=0.0.0.0 \
--http.port=8547 \
--http.api=net,web3,ethPort 8547 serves HTTP JSON-RPC and 8548 serves WebSockets. To sync much faster than from genesis, pass --init.url=<SNAPSHOT_URL> with a recent database snapshot on first start. For the Sepolia-settled testnet, swap in --chain.id=46630, the testnet info file, and the testnet feed (wss://feed.testnet.chain.robinhood.com), use Sepolia L1 endpoints, and drop the genesis-file flag (testnet doesn't use one).
Verify it's working
curl http://localhost:8547 \
-X POST -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId"}'
# → {"jsonrpc":"2.0","id":1,"result":"0x1237"}Compare eth_blockNumberagainst the public explorer; you're synced when they match. Initial sync from genesis can take a long time; a recent database snapshot gets you there much faster. Running an RPC node is permissionless; becoming a validator additionally requires allowlist inclusion and a 1 WETH bond.
For AI agents
Building with an AI agent, coding assistant, or LLM pipeline? Everything on this page is available as plain markdown at a stable URL, following the llms.txt convention.
https://arrowrpc.com/llms.txtPoint your agent at that file (or paste it into context) and it gets the endpoints, chain parameters, rate limits, a test request, and a viem setup snippet in one shot. No key or signup is needed to start making requests, so agents can verify the endpoint works with a single eth_chainId call.