Skip to content

feat: add Robinhood Chain (4663) support#215

Merged
fichiokaku merged 3 commits into
developfrom
feat/robinhood-chain-support
Jul 9, 2026
Merged

feat: add Robinhood Chain (4663) support#215
fichiokaku merged 3 commits into
developfrom
feat/robinhood-chain-support

Conversation

@fichiokaku

Copy link
Copy Markdown
Collaborator

What

Adds Robinhood Chain mainnet (Arbitrum Orbit / Nitro, chain id 4663, ETH gas token) to the node, following the same pattern as previous chain integrations (katana #, megaeth):

  • src/modules/chains/constants.ts: robinhoodChain viem chain definition (not yet in our viem version) added to CHAIN_DEFINITIONS
  • k8s/values.prod.yaml: supported_chains.robinhood (gcpsecretkey prd-mee-mode-robinhood-config) + nodeEnabledChains entries for both node deployments
  • .github/workflows/prd-refresh-secrets-restart.yml: mee-node-robinhood-4663-configs added to the refresh list

Feasibility (verified live against the chain)

  • eth_feeHistory, eth_call state+bytecode overrides, Cancun (TSTORE/TLOAD/MCOPY): all working
  • debug_traceCall is NOT exposed on the official public RPC - the chain config MUST use a provider with debug support (QuickNode/dRPC paid tiers carry this chain)
  • EntryPoint v0.7, CREATE2 proxy, CreateX, Multicall3 pre-deployed
  • Chainlink is the chain's official day-one oracle; ETH/USD feed live at 0x78F3556b67E17Df817D51Ef5a990cDaF09E8d3A9 (8 decimals, 0.5%/24h)

Contracts

Current-gen stx suite deployed and verified on 4663 (standard addresses: Nexus 0x0000b1C0B95D..., factory 0x0000B1c0dCFd..., NodePaymasterFactory 0x0000B1C05975... etc). v2.2.1 suite deployment is prepared and pending a go-ahead.

Chain config (to be added manually in GCP Secret Manager as prd-mee-mode-robinhood-config)

Suggested, mirroring Arbitrum One (type: arbitrum reuses the ArbGasInfo L1-fee path) but pricing via the chain-local Chainlink feed:

{
  "name": "Robinhood Chain",
  "rpcs": ["<provider RPC with debug_traceCall>"],
  "isTestChain": false,
  "chainId": "4663",
  "type": "arbitrum",
  "eip1559": true,
  "price": { "chainId": "4663", "oracle": "0x78F3556b67E17Df817D51Ef5a990cDaF09E8d3A9" },
  "paymasterFunding": "0.01",
  "paymasterFundingThreshold": "0.001",
  "executor": { "workerCount": 3, "workerFunding": "0.001", "workerFundingThreshold": "0.0005" },
  "batcher": { "batchGasLimit": "16000000" },
  "paymentTokens": [
    { "name": "ETH", "address": "0x0000000000000000000000000000000000000000", "symbol": "ETH", "decimals": 18,
      "price": { "chainId": "4663", "oracle": "0x78F3556b67E17Df817D51Ef5a990cDaF09E8d3A9" } }
  ]
}

Checklist before activation

  • GSM secret prd-mee-mode-robinhood-config created (manual, with debug-capable RPC)
  • Master EOA + workers funded with ETH on 4663
  • v2.2.1 suite deployed (pending approval)
  • mee-indexer SUPPORTED_CHAINS entry (separate repo)

@fichiokaku

Copy link
Copy Markdown
Collaborator Author

Added Robinhood to the token-storage-detection service as well (Chain enum + chain id mapping). Activation is env-side: set ROBINHOOD_RPC (or ROBINHOOD_FORK_RPC) in the prd-token-storage-detection-env secret - chains without the env var are skipped, so this is inert until configured. Also verified the provisioned RPC_4663 endpoint supports debug_traceCall with callTracer + stateOverrides (the exact simulator shape) - the config checklist item about a debug-capable RPC is satisfied by that provider. v2.2.1 suite is now deployed and verified on 4663 (factory 0x000000002c9A..., Nexus 0x0000000020fe2F..., K1 validator 0x0000000002d3cC..., bootstrap, forwarder, composability contracts, NodePaymasterFactory).

@fichiokaku
fichiokaku merged commit d669804 into develop Jul 9, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant