The Book · 27 Jul 2026
Build on Robinhood Chain

Developer quickstart

Robinhood Chain is an EVM-compatible Arbitrum L2 — your existing tooling works, point it at the RPC. Connect a wallet, run your first call, grab the tooling, then pull live ecosystem data from the HoodL2 API.

Robinhood Chain Mainnet

Chain ID
4663 (0x1237)
RPC
https://rpc.mainnet.chain.robinhood.com
Explorer
https://robinhoodchain.blockscout.com

Robinhood Chain Testnet

Chain ID
46630 (0xb626)
RPC
https://rpc.testnet.chain.robinhood.com
Explorer
https://explorer.testnet.chain.robinhood.com

The public RPC is free but rate-limited and, per Robinhood's terms, unsuitable for production. For real traffic use a dedicated provider — Alchemy, QuickNode, Blockdaemon, dRPC, or Validation Cloud.


First call

Talk to the chain

curl · eth_chainId
curl -s https://rpc.mainnet.chain.robinhood.com \
  -X POST -H 'content-type: application/json' \
  --data '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'
# → {"jsonrpc":"2.0","id":1,"result":"0x1237"}  (4663)
TypeScript · viem
import { createPublicClient, http, defineChain } from "viem";

export const robinhoodChain = defineChain({
  id: 4663,
  name: "Robinhood Chain",
  // Gas is paid in ETH, like Ethereum — there is no separate chain token.
  nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
  rpcUrls: { default: { http: ["https://rpc.mainnet.chain.robinhood.com"] } },
  blockExplorers: { default: { name: "Blockscout", url: "https://robinhoodchain.blockscout.com" } },
});

const client = createPublicClient({ chain: robinhoodChain, transport: http() });
const block = await client.getBlockNumber();

Standard EVM tooling

Point your stack at the RPC

Robinhood Chain ships no proprietary SDK — it's the Arbitrum stack, so Ethereum contracts and libraries work unchanged. ERC-4337 and EIP-7702 are first-class; canonical EntryPoint addresses are in the contract registry. Source: docs.robinhood.com/chain.


HoodL2 data

Read API · MCP · embeds

Pull the cross-linked ecosystem — entities, categories, validators, metrics — as JSON. No key, CORS-open, built to be cited.

curl · /api/v1
curl -s https://hoodl2.com/api/v1
# → { name, entities, categories, validators, endpoints, … }

Read API

Read-only JSON at /api/v1. No auth. ETag + Cache-Control.

MCP server

Tools for AI agents: search_entities, get_entity, list_validators, get_metric.

Embeds

Drop-in entity cards, metric tiles, and the validator board via iframe.

OpenAPI 3.1 and the MCP endpoint are being finalised. The /api/v1 index and the embed builder below are live.


Write side

The filing API

Listings enter through /submit and are reviewed before anything publishes. Review agents work the queue over a key-gated API: claim a filing, write the enrichment — corrected fields, sources, confidence, a recommendation — then decide. Approval creates the entity and lists it, on the record with its sources.

curl · agent review flow
# the queue
curl -s https://hoodl2.com/api/agent/submissions?status=open \
  -H "Authorization: Bearer $AGENT_API_KEY" -H "X-Agent-Name: my-reviewer"

# claim → enrich → decide
curl -s -X POST .../api/agent/submissions/$ID/claim -H "Authorization: Bearer $AGENT_API_KEY"
curl -s -X POST .../api/agent/submissions/$ID/enrich \
  -H "Authorization: Bearer $AGENT_API_KEY" -H "content-type: application/json" \
  -d '{"sources":[{"url":"https://…"}],"confidence":72,"recommendation":"approve"}'
curl -s -X POST .../api/agent/submissions/$ID/decision \
  -H "Authorization: Bearer $AGENT_API_KEY" -H "content-type: application/json" \
  -d '{"action":"approve"}'
EndpointDoes
POST /api/submissionsFile a listing (multipart; the public form uses it too).
POST /api/submissions/autofillScrape a project site into prefill suggestions + a captured logo.
GET /api/submissions/status/{token}Submitter-facing status + review ledger.
GET /api/agent/submissions?status=openThe review queue, newest first.
GET /api/agent/submissions/{id}One filing with its full event ledger.
POST /api/agent/submissions/{id}/claimOpen the filing for review.
POST /api/agent/submissions/{id}/enrichWrite the review payload.
POST /api/agent/submissions/{id}/decisionapprove · reject · needs_info. Approve lists the entity.

/api/agent/* wants Authorization: Bearer $AGENT_API_KEY and an X-Agent-Nameheader — every action lands on the filing's ledger under that name. Keys are issued by the editors; the public endpoints are rate-limited instead.


Drop-in widgets

Embed a widget

Self-contained, framable widgets in the HoodL2 house style — they adapt to light or dark automatically. Pick one, copy the iframe, paste it anywhere. No script, no key, attribution built in.

Start typing for suggestions from the register.

Live preview

Embed code · iframe

Answers

Building on Robinhood Chain, answered

What chain ID is Robinhood Chain?
Robinhood Chain mainnet is chain ID 4663 (0x1237), RPC https://rpc.mainnet.chain.robinhood.com. The public testnet is chain ID 46630 (0xb626), RPC https://rpc.testnet.chain.robinhood.com. Contracts written in Solidity or Vyper deploy without modification.
How do I pay for gas?
Gas is paid in ETH, exactly like Ethereum — there is no separate chain token, no staking, no governance coin. Bridge ETH across the canonical Robinhood Chain Bridge or a supported third-party bridge, then transact. Standard EVM tooling works; just point it at the Robinhood Chain RPC.
Does HoodL2 have an API?
Yes — a read-only JSON API at /api/v1 (no key required) plus an MCP server for AI agents and copy-paste embeddable widgets. The API index lists available endpoints; OpenAPI and the full surface are being finalised.