Robinhood Chain RPC endpoint
Arbitrum Orbit L2 · chain ID 4663 · gas in ETH · 27 JSON-RPC methods · WebSocket · sequencer feed
Last updated:
Get API key Read the documentation
Network details
| Network name | Robinhood Chain mainnet |
|---|---|
| Chain ID | 4663 (0x1237) — chain ID 4663 network config for MetaMask, viem and Hardhat |
| Currency | ETH |
| RPC URL | https://triport.io/rpc/robinhood |
| WebSocket URL | wss://triport.io/ws/robinhood |
| Sequencer feed | wss://triport.io/ws/robinhood-feed (Pro+, scope robinhood:feed) |
| Authentication | x-token: $TRIPORT_API_KEY (Authorization: Bearer also accepted) |
| Keyed URL for wallets | https://triport.io/r/<API_KEY>/robinhood |
| Keyless endpoint | https://triport.io/public/robinhood — no key, 15 req/s reads shared by every caller (what it serves) |
| Testnet | Chain ID 46630 exists publicly; Triport does not proxy it. Robinhood Chain testnet 46630 and faucets |
Try it without a key
Robinhood Chain is one of six networks with a keyless Triport endpoint. Point a script or a wallet at it to see real answers before creating a key: reads include the heavy category, so debug_* traces and eth_getProof answer on it. trace_* and txpool_* are not part of the Robinhood contract, state at the very first blocks is outside coverage, and there is no WebSocket and no sequencer feed. The budget is one for everyone and has no per-IP share, so production traffic belongs on a key.
https://triport.io/public/robinhood — 15 req/s reads, 3 req/s transaction sends — one budget shared by every caller. JSON-RPC over HTTPS POST with no key and no account; it is not a plan, and there is no WebSocket.
curl https://triport.io/public/robinhood \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'
# -> {"jsonrpc":"2.0","id":1,"result":"0x1237"}Checked by a live probe on 2026-11-01. Bodies up to 256 KiB; a batch of 20 calls is answered.
Which endpoint for which job
| Job | Endpoint | Scope | Plan |
|---|---|---|---|
| Reads, traces and submission from server code | https://triport.io/rpc/robinhood + x-token header | robinhood:rpc | Free trial and up |
Wallets, hardhat.config, foundry.toml | https://triport.io/r/<API_KEY>/robinhood | robinhood:rpc | Free trial and up |
Events: newHeads, logs | wss://triport.io/ws/robinhood | robinhood:rpc | Basic and up |
| Block stream with cursor resume | wss://triport.io/ws/robinhood-feed | robinhood:feed | Pro and up |
| A keyless first look on Triport | https://triport.io/public/robinhood — reads and sends, shared budget, no WebSocket | — | none |
| The network's own public RPC | https://rpc.mainnet.chain.robinhood.com — not Triport, rate-limited | — | — |
How the network's public URL differs from a keyed endpoint: Robinhood Chain public RPC vs a keyed endpoint. Starting without a paid plan: public RPC and the free trial key. Other providers on the same network: Robinhood Chain RPC providers compared.
What is available
JSON-RPC — 27 methods
18 standard reads, 7 heavy reads and 2 submission routes, including eth_getBlockReceipts, eth_getProof and four debug_* trace methods. Full list: Robinhood JSON-RPC reference.
WebSocket — newHeads and logs
Available from Basic with scope robinhood:rpc. newHeads is served from a shared warm header layer; logs takes an address/topic filter. newPendingTransactions is not available, and robinhood_pendingBlock is an operator-controlled extension that is disabled by default. See WebSocket.
Sequencer feed — assembled L2 blocks
From Pro with scope robinhood:feed: 2 concurrent streams on Pro, 4 on Business and Enterprise. Reconnect with ?from_sequence=<cursor>; the first frame reports earliestAvailableSequence, latestAvailableSequence and bufferComplete. See Sequencer feed.
What is specific to Triport here
- Four
debug_*trace methods in the published catalog — best-effort, without an availability SLA. eth_getBlockReceiptsfor whole-block receipt reads instead of per-transaction fan-out.- Feed resume by cursor with an explicit
bufferCompleteflag, so a gap is visible instead of silent. - A continuously warm receive fan that publishes the first arrival per
sequenceNumberand deduplicates later copies — it trims the per-socket tail, not a promised average. - JSON-RPC bodies and batches up to 4 MiB; every batch element is checked, and N elements cost N requests.
- Flat monthly price with no compute units and no per-call credits.
Quickstart
# curl
curl https://triport.io/rpc/robinhood \
-H "x-token: $TRIPORT_API_KEY" -H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'
# viem
import { createPublicClient, defineChain, http } from "viem";
const robinhood = defineChain({
id: 4663,
name: "Robinhood Chain",
nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
rpcUrls: { default: { http: ["https://triport.io/r/<API_KEY>/robinhood"] } },
});
const client = createPublicClient({ chain: robinhood, transport: http() });
# ethers v6
new ethers.JsonRpcProvider("https://triport.io/r/<API_KEY>/robinhood", 4663);
# Hardhat / Foundry
networks: { robinhood: { url: "https://triport.io/r/<API_KEY>/robinhood", chainId: 4663 } }
rpc_endpoints = { robinhood = "https://triport.io/r/<API_KEY>/robinhood" }Wallets and config files cannot send custom headers, so they use the keyed URL form; server code should send the x-token header instead and keep the key out of URLs and logs.
What you can build
Wallet with live updates
Read balances and known token contracts, subscribe to the events you care about, refresh the UI when they arrive and confirm with a receipt. Discovering every asset and a full history still needs your own indexing.
Token transfer monitoring
Filter Transfer events for the contracts and addresses you track, receive them over WebSocket, store the last processed block and reconcile the gap with eth_getLogs after a disconnect.
Your own indexer
Read blocks, receipts and logs, add best-effort traces for internal calls and measure your own coverage. Data to index is not the same as a ready-made history API for any address.
eth_getBlockReceipts · debug_traceBlockByNumber · Address history: what exists
Real-time application
Consume the sequencer feed, track the sequence and the confirmation boundary, persist the cursor and handle resume. Speed depends on your region, filters and load — measure it on your own route.
Developer tooling
Use eth_call, gas estimation and debug traces to prepare and dissect calls. Submit with eth_sendRawTransaction and track the receipt.
Caveats we publish with the capability
| Capability | Status | Limitation |
|---|---|---|
| Logs, receipts and proofs | Available | Historical block availability does not prove state availability at that block. |
| WebSocket logs | Available | Deduplicate by (blockHash, transactionHash, logIndex) and handle removed logs. |
| Sequencer feed | Available | Resume with from_sequence; bufferComplete=false means reconcile the gap through RPC. |
Terms on this page: Sequencer · Stock Token.
Limits and plans
2× burst buffer, included. Finite request-rate limits show sustained RPS and short burst capacity. A full buffer at 20 RPS can absorb up to 40 requests at once and refills at 20 requests per second. There is no quota on the number of bursts and no extra charge for them. Size ongoing traffic to sustained RPS. Categories with no per-category cap have no numeric burst ceiling. How burst capacity works.
| Category | Free trial (7 days) | Basic | Pro | Business | Enterprise |
|---|---|---|---|---|---|
| Reads | 15 RPS sustained · up to 30 burst | 20 RPS sustained · up to 40 burst | 100 RPS sustained · up to 200 burst | 250 RPS sustained · up to 500 burst | contract-agreed |
| Heavy reads | 15 RPS sustained · up to 30 burst | 20 RPS sustained · up to 40 burst | 100 RPS sustained · up to 200 burst | 250 RPS sustained · up to 500 burst | contract-agreed |
| Submission routes | 3 RPS sustained · up to 6 burst | 5 RPS sustained · up to 10 burst | 30 RPS sustained · up to 60 burst | 80 RPS sustained · up to 160 burst | contract-agreed |
| WebSocket (newHeads, logs) | — | yes | yes | yes | yes |
| Sequencer feed streams | — | — | 2 | 4 | 4 |
Bodies and WebSocket messages are capped at 4 MiB; an oversized batch returns HTTP 413 batch_too_large. Plans: Basic $20, Pro $249, Business $499, Enterprise from $999 per month; Free is a 7-day trial with a single key in the EU region, not a permanent plan. See network limits.
Every plan with its limits on every network, and what a plan costs at its cap: RPC pricing.
What is not in the product yet
| Request | Current answer |
|---|---|
| “Give me every operation of an address in one API” | A full indexed address-history endpoint is not published. |
| “I need the complete history of internal ETH transfers” | Raw debug data is best-effort; a separate index that accounts for reverted calls is still required. |
| “I need a normal mempool” | txpool_* and newPendingTransactions are not part of the contract. |
| “I need trace_filter or vendor asset-transfer methods” | Those methods are not published for Robinhood Chain. |
| “I need replay for any past day” | Only the bounded operational feed buffer exists. |
| “I need a full state archive from block zero” | That depth of coverage is not confirmed. |
| “I need every submission to land” | The sequencer decides inclusion; a returned hash is routing, and the receipt is the outcome. |
| “I need quotes, stocks or brokerage-account data” | This product is blockchain RPC; such business data is not offered as an API. |
Transactions are submitted to the sequencer intake; a returned hash means the request was routed, and the receipt decides inclusion. See submission and conditional transactions. The Conditional Transactions API page shows which block number the bounds are compared with and what each response means.
FAQ
- What is the Robinhood Chain RPC URL?
- https://triport.io/rpc/robinhood for JSON-RPC over HTTPS, wss://triport.io/ws/robinhood for newHeads and logs subscriptions, and wss://triport.io/ws/robinhood-feed for the sequencer feed. Authenticate with the x-token header (Authorization: Bearer also works); tools that take only a URL use https://triport.io/r/<API_KEY>/robinhood.
- Do I need an API key?
- For https://triport.io/rpc/robinhood, WebSocket and the feed, yes — each answers HTTP 401 without one; a 7-day Free trial key is the way to try them. For a first test there is the keyless https://triport.io/public/robinhood: JSON-RPC over HTTPS, 15 req/s reads and 3 req/s sends shared by every caller, no WebSocket. The network also runs https://rpc.mainnet.chain.robinhood.com, which it documents as rate-limited and not recommended for production use.
- What is chain ID 4663?
- Robinhood Chain mainnet (0x1237); wallet and library values are on the Robinhood Chain network config page.
- Does Triport serve Robinhood Chain testnet?
- No. A public testnet with chain ID 46630 exists, but Triport does not proxy it — point test work at the network's own testnet endpoint and switch the URL and chain ID for mainnet.
- How do I add Robinhood Chain to MetaMask?
- Add a network with chain ID 4663, currency ETH and the keyed URL https://triport.io/r/<API_KEY>/robinhood, since wallets cannot send custom headers. A Triport URL without the key fails the wallet's chain ID check with HTTP 401.
- Is Robinhood Chain EVM compatible?
- Yes — standard eth_* JSON-RPC and the usual EVM tooling (viem, ethers, Hardhat, Foundry) work. Block tags are latest, earliest, pending and hex numbers; safe and finalized are not part of this contract.
- Does Triport support debug_traceTransaction on Robinhood Chain?
- The catalog publishes four debug methods (debug_traceTransaction, debug_traceCall, debug_traceBlockByNumber, debug_traceBlockByHash). They run best-effort and carry no availability SLA. Parity-style trace_* methods are not part of the contract.
- What is the sequencer feed and which plan includes it?
- A WebSocket stream of assembled L2 blocks where sequenceNumber is the L2 block number. It needs the robinhood:feed scope and starts at Pro: 2 concurrent streams on Pro, 4 on Business and Enterprise.
- Can I resume the feed after a disconnect?
- Yes, within a bounded in-memory window: reconnect with ?from_sequence=<last processed sequence>. The first frame reports earliestAvailableSequence, latestAvailableSequence and bufferComplete; when bufferComplete is false, reconcile the gap through RPC or your own store.
- How large is the feed replay buffer?
- At most 8,192 frames, 64 MiB or five minutes — whichever limit is reached first. It lives in process memory and is lost on restart, so it is an operational buffer, not history.
- Are pending transactions available?
- No. newPendingTransactions and txpool_* are not part of the Robinhood contract; measurements acknowledged the subscription but delivered no messages. robinhood_pendingBlock is an operator-controlled extension, disabled by default.
- Can I send transactions?
- Yes: eth_sendRawTransaction and eth_sendRawTransactionConditional go to the sequencer intake, and a malformed payload is answered with a JSON-RPC error. A returned hash means the request was routed — the receipt decides inclusion. Conditional options are validated locally; the sequencer evaluates the conditions.
- What are the rate limits?
- Reads 15/20/100/250 RPS and submission routes 3/5/30/80 RPS on the 7-day Free trial, Basic, Pro and Business; Enterprise is contract-agreed. These are per-category RPS limits, not measured upstream capacity. Request bodies and batches are capped at 4 MiB.
- How is Triport priced?
- Flat monthly plans — Basic $20, Pro $249, Business $499, Enterprise from $999 — with no compute units and no per-call credits: you buy throughput (RPS), not request counts. Free is a 7-day trial with a single key in the EU region, not a permanent plan.
All 27 Robinhood JSON-RPC methods
- debug_traceBlockByHash
- debug_traceBlockByNumber
- debug_traceCall
- debug_traceTransaction
- eth_blockNumber
- eth_call
- eth_chainId
- eth_estimateGas
- eth_feeHistory
- eth_gasPrice
- eth_getBalance
- eth_getBlockByHash
- eth_getBlockByNumber
- eth_getBlockReceipts
- eth_getCode
- eth_getLogs
- eth_getProof
- eth_getStorageAt
- eth_getTransactionByHash
- eth_getTransactionCount
- eth_getTransactionReceipt
- eth_maxPriorityFeePerGas
- eth_sendRawTransaction
- eth_sendRawTransactionConditional
- eth_syncing
- net_version
- web3_clientVersion