Summary
Add Robinhood Chain as a second-class EVM chain and enable the three swappers whose providers already route it (verified with live executable quotes on 2026-07-12: Relay, 0x, Across). No indexer deployment required for the second-class path.
Docs: https://docs.robinhood.com/chain/
Process contract: .claude/contracts/second-class-evm-chain.md
RPC: https://rpc.mainnet.chain.robinhood.com (chain ID 4663)
Explorer: https://robinhoodchain.blockscout.com
Process
This integration follows the repo's standard second-class EVM chain process. Do not improvise the steps:
- Authoritative checklist:
.claude/contracts/second-class-evm-chain.md on develop covers every required integration point (CAIP constants, KnownChainIds, chain adapter extending SecondClassEvmAdapter, adapter type unions, plugin, feature flag, HDWallet support flags across all wallet implementations, viem/ethers clients, base asset, utility functions, CoinGecko adapter touchpoints, asset generation, state/UI wiring, CSP, migrations, tests). Use it as the build todo list and check items off as you go.
- Scaffolder first: write
chains/robinhood.json (schema per chains/abstract.json) and run pnpm run add-chain (scripts/addChain/index.ts), then complete the remaining contract items the codemods do not cover.
- Reference integrations: Abstract commit
0036075b7 in this repo (chain enablement plus Relay wiring), and for the HDWallet flags pattern hdwallet PR #753 (Monad) and #756 (HyperEVM).
- Check whether the pinned viem version ships a
robinhood chain definition before hand-rolling defineChain with id 4663.
Chain parameters (inputs to the contract, verified 2026-07-12)
|
|
| Chain ID |
4663 (0x1237), testnet 46630 (add network) |
| SLIP44 / gas |
ETH, standard EVM (Arbitrum Orbit rollup on Ethereum L1, connecting docs) |
| RPC |
https://rpc.mainnet.chain.robinhood.com (public, rate limited, fine for .env.development; production needs a keyed provider: Alchemy network ROBINHOOD_MAINNET (quickstart) or Tenderly gateway) |
| Explorer |
Blockscout https://robinhoodchain.blockscout.com (REST v2, keyless). Etherscan V2 does NOT cover 4663 |
| CoinGecko |
asset platform robinhood exists (asset_platforms); native asset maps to ethereum (ETH-native chain: manualRelatedAssetIndex + both coingecko test files apply) |
| Canonical contracts |
WETH 0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73, USDG 0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168, Multicall3 and Permit2 at canonical addresses (bytecode verified on-chain, so multicall balance reads work unchanged) |
Swapper enablement (constants-only, per the contract's swapper section)
Out of scope: stock-token pairs (legal review pending, tracked on the related business issue), LiFi or Stargate as new swappers, unchained deployment / first-class promotion.
Robinhood-specific gotchas (facts the contract cannot know)
- Asset ingestion must whitelist by contract address, never by symbol: impostor stock-ticker tokens exist on the chain.
- Explorer or history work targets Blockscout APIs (REST v2; the Etherscan-compatible module rejects
module=proxy).
- Withdrawals via the canonical Arbitrum bridge carry the 7-day challenge period; Relay covers fast exits.
Acceptance
Summary
Add Robinhood Chain as a second-class EVM chain and enable the three swappers whose providers already route it (verified with live executable quotes on 2026-07-12: Relay, 0x, Across). No indexer deployment required for the second-class path.
Docs: https://docs.robinhood.com/chain/
Process contract: .claude/contracts/second-class-evm-chain.md
RPC:
https://rpc.mainnet.chain.robinhood.com(chain ID 4663)Explorer: https://robinhoodchain.blockscout.com
Process
This integration follows the repo's standard second-class EVM chain process. Do not improvise the steps:
.claude/contracts/second-class-evm-chain.mdondevelopcovers every required integration point (CAIP constants, KnownChainIds, chain adapter extendingSecondClassEvmAdapter, adapter type unions, plugin, feature flag, HDWallet support flags across all wallet implementations, viem/ethers clients, base asset, utility functions, CoinGecko adapter touchpoints, asset generation, state/UI wiring, CSP, migrations, tests). Use it as the build todo list and check items off as you go.chains/robinhood.json(schema perchains/abstract.json) and runpnpm run add-chain(scripts/addChain/index.ts), then complete the remaining contract items the codemods do not cover.0036075b7in this repo (chain enablement plus Relay wiring), and for the HDWallet flags pattern hdwallet PR #753 (Monad) and #756 (HyperEVM).robinhoodchain definition before hand-rollingdefineChainwith id 4663.Chain parameters (inputs to the contract, verified 2026-07-12)
https://rpc.mainnet.chain.robinhood.com(public, rate limited, fine for.env.development; production needs a keyed provider: Alchemy networkROBINHOOD_MAINNET(quickstart) or Tenderly gateway)https://robinhoodchain.blockscout.com(REST v2, keyless). Etherscan V2 does NOT cover 4663robinhoodexists (asset_platforms); native asset maps toethereum(ETH-native chain: manualRelatedAssetIndex + both coingecko test files apply)0x0Bd7D308f8E1639FAb988df18A8011f41EAcAD73, USDG0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168, Multicall3 and Permit2 at canonical addresses (bytecode verified on-chain, so multicall balance reads work unchanged)Swapper enablement (constants-only, per the contract's swapper section)
chainIdToRelayChainId(packages/swapper/src/swappers/RelaySwapper/constant.ts) plus the native asset case inutils/relayTokenToAssetId.ts; chain entry isdepositEnabled: true, tokenSupport: "All"(/chains)zrxSupportedChainIds(ZrxSwapper/types.ts) andZRX_SUPPORTED_CHAINIDS(utils/constants.ts); the swap proxy already passes chainId 4663 through (supported chains)chainIdToAcrossChainId(AcrossSwapper/constant.ts); route asymmetry: ETH inbound plus USDG to USDC exits only, no ETH exits (available-routes)Out of scope: stock-token pairs (legal review pending, tracked on the related business issue), LiFi or Stargate as new swappers, unchained deployment / first-class promotion.
Robinhood-specific gotchas (facts the contract cannot know)
module=proxy).Acceptance
pnpm run lint --fixandpnpm run type-checkgreen, coingecko adapter tests updated (ETH-native chain)