Skip to content

Addresses & networks

All mainnet facts below were verified live on 2026-07-09 (RPC + Blockscout verified source + official docs) — see CHAIN_FACTS.md in the repository for the full audit trail. Re-verify before relying on them; the chain is days old and moving fast.

Networks

MainnetTestnet
Chain ID4663 (0x1237)46630
RPChttps://rpc.mainnet.chain.robinhood.comhttps://rpc.testnet.chain.robinhood.com
Explorerrobinhoodchain.blockscout.comexplorer.testnet.chain.robinhood.com
Faucetfaucet.testnet.chain.robinhood.com
Gas tokenETHETH

Public RPCs are rate-limited; use a dedicated provider (e.g. Alchemy) for watcher duty.

Sentinel deployments

Testnet (46630)

Deployed 2026-07-09 (v2 — post-audit-fix: monitored set + NOT_MONITORED synthesis, tightened masks, renounceOwnership disabled). Deployer/updater 0xdb696F3BEEb24518e0e5e7eDD40DaCd96De5a62e (demo key; v1 trust model's single operator).

ContractAddress
SentinelRegistry (v2, current)0xF9CB022A064cB26F8C5D555937eA319e81BA2F31
SentinelRegistry (v1, deprecated — pre-fix, no monitored set)0x65986Be31F34db8AB88f6751B9B779718E2E5e54

Live drill at deployment: TOKEN_PAUSED froze the consuming Gapline oracle and cleared cleanly; statusOf of an unregistered address returned NOT_MONITORED (0x20); an updater attempting to write that bit reverted InvalidTokenFlags.

Mainnet (4663)

Not deployed. Mainnet deployment follows an audit and a testnet soak — see the trust model.

What Sentinel watches (mainnet)

The issuer's admin surface:

ContractAddressWhy it matters
AccessControlsRegistry + shared beacon0xe10b6f6B275de231345c20D14Ab812db62151b00One contract is both the compliance registry (blocklist, roles, registry-wide pause) and the upgrade beacon — a single upgradeTo() changes every stock token at once
Stock implementation (known-good)0xb35490d6f9163DE4F80d88dc75c3516eb64C5aE2The shared implementation behind every stock token's BeaconProxy; drift from this address raises IMPLEMENTATION_UPGRADED
USDG (6 decimals)0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168The chain's native stablecoin — the loan-token side of stock-token markets

Stock tokens (mainnet)

25 tokens, ERC-20, 18 decimals, all BeaconProxies behind the registry above. The full table lives in CHAIN_FACTS.md and watcher/src/config.ts; the most liquid:

SymbolTokenCanonical Chainlink proxy (RDD 2026-07-09)
TSLA0x322F0929c4625eD5bAd873c95208D54E1c003b2d0x4A1166a659A55625345e9515b32adECea5547C38
NVDA0xd0601CE157Db5bdC3162BbaC2a2C8aF5320D9EEC0x379EC4f7C378F34a1B47E4F3cbeBCbAC3E8E9F15
SPY0x117cc2133c37B721F49dE2A7a74833232B3B4C0C0x319724394D3A0e3669269846abE664Cd621f9f6A
MSFT0xe93237C50D904957Cf27E7B1133b510C669c2e740x45C3C877C15E6BA2EBB19eA114Ea508d14C1Af2E
AMD0x86923f96303D656E4aa86D9d42D1e57ad2023fdC0x943A29E7ae51A4798823ca9eEd2ed533B2A22C72

Feed caveat

Feeds are 8-decimal AggregatorV3Interface instances with descriptions like RHTSLA / USD, updating 24/5 following market hours. Two addresses answer identically per symbol (proxy + underlying aggregator); resolve via aggregator() before relying on round IDs. Feed prices already include the ERC-8056 corporate-action multiplier — never apply uiMultiplier() on top.

ContractAddress
Morpho (Blue) singleton0x9D53d5E3bd5E8d4Cbfa6DB1ca238AEA02E651010not at the canonical 0xBBBB… CREATE2 address
AdaptiveCurveIrm0x2BD3d5965B26B51814AC95127B2b80dD6CcC0fa1
Permit20x000000000022D473030F116dDEE9F6B43aC78BA3
1inch AggregationRouterV60x111111125421cA6dc452d289314280a0f8842A65

The Chainlink L2 Sequencer Uptime Feed address for Robinhood Chain has not been published yet; until it is, the watcher measures block-production lag directly (SEQUENCER_DOWN at >120s).

Unaudited, day-one software. MIT licensed.