Skip to content

Robinhood Chain

developer

The Arbitrum-stack L2 HISS builds on: chain IDs, Stock Token semantics, feeds, finality, and what HISS does not do.

What Robinhood Chain is

Robinhood Chain is a permissionless, Ethereum-compatible L2 built on the Arbitrum stack (Arbitrum Nitro). Gas is paid in ETH, and transaction data is posted to Ethereum as blob data — a full node needs an L1 beacon endpoint to read blobs. Sequencing is first-come-first-served: priority gas auctions do not exist, so there is no priority reordering of transactions. One inclusion rule to know: the official docs state that any transaction associated with a sanctioned address will be excluded from inclusion — sequencer-level sanctions screening exists, so HISS makes no censorship-resistance claims about the chain.

Why HISS builds on it

  • Canonical tokenized equities — 27 tokens (2 core, 20 stocks, 5 ETFs) with contract addresses published on the official contracts page, mirrored and verified in the asset registry.
  • Chainlink price feeds on the same chain — AggregatorV3 feed proxies for the Stock Tokens, with published decimals and heartbeats. See Oracle health for the pinned list.
  • First-class account abstraction — ERC-4337 EntryPoints deployed at the canonical addresses, plus EIP-7702 support.

Networks, RPC, and explorers

This table renders live from the chain config in @hiss/core:

NetworkChain IDGasPublic RPCExplorer
Robinhood Chain4663ETHhttps://rpc.mainnet.chain.robinhood.comhttps://robinhoodchain.blockscout.com
Robinhood Chain Testnet46630ETHhttps://rpc.testnet.chain.robinhood.comhttps://explorer.testnet.chain.robinhood.com

Stock Token basics

Each Stock Token is a standard ERC-20 with 18 decimals (the USDG stablecoin is the exception at 6), issued by Robinhood Assets (Jersey) Ltd as tokenized derivatives — not direct share ownership, and not offered to persons in the U.S., U.K., Canada, Switzerland, and other restricted jurisdictions. On top of ERC-20 the tokens expose an ERC-8056 surface:

  • uiMultiplier() — an 18-decimal fixed-point corporate-action multiplier (1e18 = 1.0 at launch). Underlying shares = raw token amount × multiplier ÷ 1e18.
  • balanceOfUI(account) / totalSupplyUI() — balances and supply in share-equivalent (UI) units.
  • newUIMultiplier() / effectiveAt() — when a corporate action schedules a multiplier change ahead of time, the pending value and its effective time are readable on-chain.
  • oraclePaused() — set while a corporate action is being processed. Advisory only, not enforced on-chain; staleness stays the primary pricing guard.

Canonical asset identity

The token address is the identity; the ticker is display metadata. The standing proof: the official docs list the ticker CUSO for an asset whose on-chain symbol() is USO. HISS keys everything by address and rejects any ticker/address pair that does not match the canonical registry.

Price feed policy, in one paragraph

Chainlink USD feeds on Robinhood Chain use 8 decimals, an 86,400-second heartbeat, and a 0.5% deviation threshold, updating 24/5 with market hours (heartbeat writes continue on weekends). The feed price is the token price and already includes the multiplier — never apply uiMultiplier() to it. HISS's oracle policy treats staleness (90,000-second limit vs the 86,400-second heartbeat) as the primary guard and oraclePaused() as advisory. Full rules and the pinned feed table live in Oracle health.

Finality and gas

  • Soft confirmation — sub-second; the sequencer has committed to inclusion and ordering.
  • Posted to L1 — minutes; ordering is now fixed on Ethereum.
  • Ethereum finality — roughly 13 minutes after posting; irreversible.
  • Withdrawals to L1 — a separate 7-day challenge period, a requirement of Arbitrum's fraud-proof system rather than a transaction-finality property.

Fees have two components — L2 execution (gas used × L2 gas price) and an L1 data fee proportional to calldata size — bundled into the gas the transaction pays. Minimizing calldata and batching operations (for example via account abstraction) reduces cost.

Differences from Ethereum developers should know

  • block.number is an estimate of the L1 block number, not the L2 block count. Use the ArbSys precompile for the real L2 block number.
  • block.prevrandao is constant — it is not a randomness source here.
  • L1 contracts calling into L2 arrive with an aliased msg.sender (the original address plus a fixed offset).
  • Contract size limits are larger: 96 KB max code size (vs Ethereum's 24 KB) and 192 KB max init code.
L2 block number
// block.number on Robinhood Chain is an ESTIMATE of the L1 block number.
// For the actual L2 block number, use the ArbSys precompile:
ArbSys(0x0000000000000000000000000000000000000064).arbBlockNumber();

Account abstraction

The chain has first-class ERC-4337 support and also supports EIP-7702, with Alchemy-powered infrastructure (built-in batching, configurable spend policies, and gas sponsorship) and ZeroDev as an alternative. Canonical EntryPoints:

ERC-4337 versionEntryPoint address
v0.6.00x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789
v0.7.00x0000000071727De22E5E9d8BAf0edAc6f37da032
v0.8.00x4337084D9E255Ff0702461CF8895CE9E3b5Ff108

For HISS these are future building blocks, not live features: if execution ever ships, AA is how a basket rebalance could become one batched, sponsored, spend-limited user operation instead of N raw transactions. Nothing in the public build executes anything today.

What HISS does not do in public mode

  • No trading and no order routing — a Hiss is a published document, not a position.
  • No custody — HISS holds no tokens, keys, or user funds.
  • No on-chain execution — execution flags are off in every public build.
  • No live pricing — all prices come from the deterministic mock oracle until the live gate opens (see Oracle health and Modes & flags).

$HISS is independent research software in paper mode — not investment advice, and not affiliated with Robinhood, Bankr, or Chainlink.