TriportRPC

Robinhood Chain RPC Node

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

Robinhood Chain connection values
Network nameRobinhood Chain mainnet
Chain ID4663 (0x1237)
CurrencyETH
RPC URLhttps://triport.io/rpc/robinhood
WebSocket URLwss://triport.io/ws/robinhood
Sequencer feedwss://triport.io/ws/robinhood-feed (Pro+, scope robinhood:feed)
Authenticationx-token: $TRIPORT_API_KEY (Authorization: Bearer also accepted)
Keyed URL for walletshttps://triport.io/r/<API_KEY>/rpc/robinhood
Keyless endpointhttps://triport.io/rpc/robinhood/public — read-only, rate-limited, no account
TestnetChain ID 46630 exists publicly; Triport does not proxy it

Try it without a key

https://triport.io/rpc/robinhood/public answers the 18 light read methods with no account and no key, from a browser as well — CORS is open, so a wallet or a chain list can call it directly. It is capped at 60 calls per minute per IP, five calls per batch and a 64 KiB body, and it serves neither logs, proofs and debug_* nor submission, subscriptions or the feed: those return HTTP 403 pointing at the keyed URL. There is no availability commitment on it and the limits can change — it exists for wallets, chain lists and a first look, not for a workload. See the public endpoint reference.

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 through a single operator, without an availability SLA.
  • eth_getBlockReceipts for whole-block receipt reads instead of per-transaction fan-out.
  • Feed resume by cursor with an explicit bufferComplete flag, so a gap is visible instead of silent.
  • A continuously warm receive fan that publishes the first arrival per sequenceNumber and 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.

eth_getBalance · eth_call · eth_getTransactionReceipt

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.

eth_getLogs · WebSocket subscriptions

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.

Sequencer feed · Fast submission

Developer tooling

Use eth_call, gas estimation and debug traces to prepare and dissect calls. Wire up submission with its current acceptance status in mind.

debug_traceCall · eth_estimateGas

Caveats we publish with the capability

Straight from the capability registry — each line is the limitation recorded for that surface
CapabilityStatusLimitation
Logs, receipts and proofsAvailableHistorical block availability does not prove state availability at that block.
Debug traces (best-effort)LimitedOne upstream operator, best-effort, no dedicated SLA.
Transaction submissionAcceptance unverifiedRouting is confirmed; acceptance of a valid transaction is not verified. A submit response is not inclusion.
WebSocket logsLimitedDeduplicate by (blockHash, transactionHash, logIndex) and handle removed; ordering within a block is not guaranteed yet.
Sequencer feedAvailableResume with from_sequence; bufferComplete=false means reconcile the gap through RPC.

Limits and plans

Requests per second by plan — per-category RPS limits, not measured upstream capacity
CategoryFree trial (7 days)BasicProBusinessEnterprise
Reads1520100250contract-agreed
Heavy reads1520100250contract-agreed
Submission routes353080contract-agreed
WebSocket (newHeads, logs)yesyesyesyes
Sequencer feed streams244

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

Honest answers to the most frequent requests
RequestCurrent 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 guaranteed accepted submission measured to inclusion”Successful acceptance and inclusion still require separate verification.
“I need quotes, stocks or brokerage-account data”This product is blockchain RPC; such business data is not offered as an API.

Transaction submission is published with status accept_unverified: the route is implemented, but acceptance of a valid transaction is not yet verified. See submission and conditional transactions.

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).
Is there a Robinhood Chain RPC without an API key?
Yes: https://triport.io/rpc/robinhood/public serves 18 read-only methods with no account, callable from a browser, capped at 60 calls per minute per IP. Logs, proofs, debug_* and submission need a key.
What is chain ID 4663?
4663 (0x1237) is Robinhood Chain mainnet, an EVM-compatible Arbitrum Orbit L2 that pays gas in ETH. A public testnet with chain ID 46630 exists, but Triport does not proxy it.
How do I add Robinhood Chain to MetaMask?
Add a network with chain ID 4663, currency ETH and your Triport RPC URL in the keyed form https://triport.io/r/<API_KEY>/robinhood, since wallets cannot send custom headers.
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 through a single operator 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?
The catalog publishes eth_sendRawTransaction and eth_sendRawTransactionConditional and the route is implemented, but acceptance of a valid transaction is not yet verified (status accept_unverified). Conditional options are validated locally; Triport does not evaluate the conditions themselves.
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