> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orbitflare.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Robinhood Chain Nodes

> Dedicated Robinhood Chain node access from OrbitFlare — low-latency RPC and WebSocket endpoints for the tokenized-stock L2, with free trials available.

## Overview

OrbitFlare provides node infrastructure for **Robinhood Chain**, the EVM-compatible Ethereum Layer 2 that Robinhood launched on mainnet in July 2026. The chain is built on the Arbitrum Orbit (Nitro) stack, uses ETH for gas, and is home to Robinhood's tokenized stocks, which trade around the clock and integrate with DeFi protocols such as Uniswap and Chainlink from day one.

If you are building trading systems, indexers, or DeFi integrations around tokenized equities, OrbitFlare gives you direct node access without operating Nitro infrastructure yourself. Because the chain is fully EVM-compatible, standard tooling like Hardhat, Foundry, ethers.js, viem, and Wagmi works against the endpoint without modification, and the chain has first-class support for ERC-4337 account abstraction.

<Note>
  Robinhood Chain node access is currently offered as a **free trial**. Reach out to the team to get provisioned.
</Note>

## Endpoints

<Tabs>
  <Tab title="Mainnet">
    | Protocol            | Endpoint                                   |
    | ------------------- | ------------------------------------------ |
    | **JSON-RPC (HTTP)** | `http://robinhood.rpc.orbitflare.com:8547` |
    | **WebSocket**       | `ws://robinhood.rpc.orbitflare.com:8548`   |

    Robinhood Chain mainnet uses `chainId: 4663` with ETH as the gas token.

    ### Access

    Access is controlled by **IP allowlisting** rather than API keys. When requesting a trial, include the public IP addresses of the servers that will connect. Requests from addresses that are not on the allowlist are rejected.
  </Tab>

  <Tab title="Testnet">
    Robinhood Chain also runs a public testnet (`chainId: 46630`), an Arbitrum Orbit chain settling to Ethereum Sepolia with ETH as the gas token:

    | Resource                  | Location                                                                                                           |
    | ------------------------- | ------------------------------------------------------------------------------------------------------------------ |
    | **Faucet**                | [faucet.testnet.chain.robinhood.com](https://faucet.testnet.chain.robinhood.com)                                   |
    | **Explorer**              | [explorer.testnet.chain.robinhood.com](https://explorer.testnet.chain.robinhood.com)                               |
    | **Bridge (from Sepolia)** | [Arbitrum Bridge](https://portal.arbitrum.io/bridge?destinationChain=robinhood-chain-testnet\&sourceChain=sepolia) |

    Generate a throwaway keypair, request testnet ETH from the faucet, and you can exercise the full transaction lifecycle end to end.

    <Note>
      The OrbitFlare endpoint serves **mainnet only**.
    </Note>
  </Tab>
</Tabs>

## Making RPC Calls

Robinhood Chain is EVM-compatible and speaks standard JSON-RPC 2.0. Pass `Content-Type: application/json` with a POST body:

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST "http://robinhood.rpc.orbitflare.com:8547" \
    -H "Content-Type: application/json" \
    -d '{
      "jsonrpc": "2.0",
      "method": "eth_blockNumber",
      "params": [],
      "id": 1
    }'
  ```

  ```typescript viem theme={null}
  import { createPublicClient, defineChain, http } from "viem";

  const robinhoodChain = defineChain({
    id: 4663,
    name: "Robinhood Chain",
    nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
    rpcUrls: {
      default: { http: ["http://robinhood.rpc.orbitflare.com:8547"] },
    },
  });

  const client = createPublicClient({
    chain: robinhoodChain,
    transport: http(),
  });

  const block = await client.getBlockNumber();
  console.log("Latest block:", block);
  ```

  ```python web3.py theme={null}
  from web3 import Web3

  w3 = Web3(Web3.HTTPProvider("http://robinhood.rpc.orbitflare.com:8547"))

  print("Connected:", w3.is_connected())
  print("Chain ID:", w3.eth.chain_id)       # 4663
  print("Latest block:", w3.eth.block_number)
  ```
</CodeGroup>

### WebSocket Subscriptions

Real-time subscriptions run over the WebSocket endpoint. In Node.js, install the `ws` package (`npm install ws`):

```javascript theme={null}
import WebSocket from "ws";

const ws = new WebSocket("ws://robinhood.rpc.orbitflare.com:8548");

ws.on("open", () => {
  ws.send(JSON.stringify({
    jsonrpc: "2.0",
    id: 1,
    method: "eth_subscribe",
    params: ["newHeads"],
  }));
});

ws.on("message", (data) => {
  const msg = JSON.parse(data);
  console.log("New block header:", msg.params?.result);
});
```

Robinhood Chain produces blocks roughly every 100 milliseconds, so expect a much faster `newHeads` cadence than on Ethereum mainnet or most L2s.

### Supported Methods

The node exposes the standard EVM JSON-RPC surface, including:

| Category         | Methods                                                                           |
| ---------------- | --------------------------------------------------------------------------------- |
| **Blocks**       | `eth_blockNumber`, `eth_getBlockByHash`, `eth_getBlockByNumber`                   |
| **Transactions** | `eth_sendRawTransaction`, `eth_getTransactionByHash`, `eth_getTransactionReceipt` |
| **Accounts**     | `eth_getBalance`, `eth_getCode`, `eth_getStorageAt`, `eth_getTransactionCount`    |
| **Contracts**    | `eth_call`, `eth_estimateGas`, `eth_getLogs`                                      |
| **Network**      | `net_version`, `eth_chainId`, `eth_gasPrice`, `eth_feeHistory`                    |
| **WebSocket**    | `eth_subscribe` (newHeads, logs, newPendingTransactions)                          |

<Note>
  As an Arbitrum Nitro chain, the node also serves the `arb_*` extension methods alongside the standard `eth_*` set. For the full method reference, see the [Ethereum JSON-RPC specification](https://ethereum.org/en/developers/docs/apis/json-rpc/).
</Note>

## Example: Reading a Tokenized Stock

The chain's flagship assets are Robinhood's tokenized stocks, which are standard ERC-20 contracts. Here is the NVIDIA token (`NVDA`) read directly from chain state:

<CodeGroup>
  ```typescript viem theme={null}
  import { createPublicClient, defineChain, erc20Abi, http } from "viem";

  const robinhoodChain = defineChain({
    id: 4663,
    name: "Robinhood Chain",
    nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
    rpcUrls: {
      default: { http: ["http://robinhood.rpc.orbitflare.com:8547"] },
    },
  });

  const client = createPublicClient({ chain: robinhoodChain, transport: http() });

  const NVDA = "0xd0601CE157Db5bdC3162BbaC2a2C8aF5320D9EEC";

  const [name, symbol, decimals, totalSupply] = await Promise.all([
    client.readContract({ address: NVDA, abi: erc20Abi, functionName: "name" }),
    client.readContract({ address: NVDA, abi: erc20Abi, functionName: "symbol" }),
    client.readContract({ address: NVDA, abi: erc20Abi, functionName: "decimals" }),
    client.readContract({ address: NVDA, abi: erc20Abi, functionName: "totalSupply" }),
  ]);

  console.log(`${name} (${symbol}), ${totalSupply / 10n ** BigInt(decimals)} shares tokenized`);
  // NVIDIA • Robinhood Token (NVDA), 26419 shares tokenized
  ```

  ```bash cURL theme={null}
  # symbol() on the NVDA token contract
  curl -X POST "http://robinhood.rpc.orbitflare.com:8547" \
    -H "Content-Type: application/json" \
    -d '{
      "jsonrpc": "2.0",
      "method": "eth_call",
      "params": [{
        "to": "0xd0601CE157Db5bdC3162BbaC2a2C8aF5320D9EEC",
        "data": "0x95d89b41"
      }, "latest"],
      "id": 1
    }'
  ```
</CodeGroup>

<Warning>
  Search the [explorer](https://robinhoodchain.blockscout.com) carefully before hardcoding token addresses: many copycat tokens use the `NVDA` symbol. The official Robinhood stock tokens carry the `• Robinhood Token` naming, and the address above is the one held by tens of thousands of accounts.
</Warning>

## Use Cases

<CardGroup cols={3}>
  <Card title="Tokenized Stock Trading" icon="chart-line">
    Trade and monitor on-chain equities like NVDA and AAPL 24/7, without market-hours limits.
  </Card>

  <Card title="DeFi Integrations" icon="coins">
    Build against Uniswap pools and Chainlink feeds live on the chain since launch.
  </Card>

  <Card title="Indexers & Analytics" icon="database">
    Follow 100ms blocks in real time over WebSocket and keep your own view of chain state.
  </Card>
</CardGroup>

## Get Started

<CardGroup cols={2}>
  <Card title="Request a Trial on Discord" icon="discord" href="https://discord.gg/orbitflare">
    Open a ticket in the OrbitFlare Discord with your use case and the server IPs to allowlist, and we will get you connected.
  </Card>

  <Card title="Dashboard" icon="gauge" href="https://orbitflare.com/dashboard">
    Manage your OrbitFlare services, keys, and plans from the dashboard.
  </Card>
</CardGroup>

## Official Resources

* [Robinhood Chain documentation](https://docs.robinhood.com/chain)
* [Robinhood Chain explorer (Blockscout)](https://robinhoodchain.blockscout.com)
* [Robinhood Chain status page](https://status.robinhoodchain.offchain.io)
