Skip to content

Robinhood Chain #12488

Description

@linear

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:

  1. 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.
  2. 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.
  3. 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).
  4. 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)

  • Relay: add 4663 to chainIdToRelayChainId (packages/swapper/src/swappers/RelaySwapper/constant.ts) plus the native asset case in utils/relayTokenToAssetId.ts; chain entry is depositEnabled: true, tokenSupport: "All" (/chains)
  • 0x: add to zrxSupportedChainIds (ZrxSwapper/types.ts) and ZRX_SUPPORTED_CHAINIDS (utils/constants.ts); the swap proxy already passes chainId 4663 through (supported chains)
  • Across: add 4663 to 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)

  • 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

  • Balance loads on 4663
  • Swap in and out via Relay
  • Intrachain quote via 0x executes
  • Across inbound ETH fills
  • Popular Assets populated
  • Wrapped-native unwrap works with the WETH address above
  • pnpm run lint --fix and pnpm run type-check green, coingecko adapter tests updated (ETH-native chain)

Metadata

Metadata

Assignees

Type

No type

Projects

Status
Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions