Skip to content

feat: add arbitrum and arbitrum-sepolia to NetworkSchema#180

Open
tdnupe3 wants to merge 1 commit into
coinbase:mainfrom
tdnupe3:main
Open

feat: add arbitrum and arbitrum-sepolia to NetworkSchema#180
tdnupe3 wants to merge 1 commit into
coinbase:mainfrom
tdnupe3:main

Conversation

@tdnupe3
Copy link
Copy Markdown

@tdnupe3 tdnupe3 commented May 20, 2026

Description

Adds arbitrum (chain ID 42161) and arbitrum-sepolia (chain ID 421614) to the TypeScript NetworkSchema enum, SupportedEVMNetworks array, and EvmNetworkToChainId map in typescript/packages/legacy/x402/src/types/shared/network.ts.

Why Arbitrum: Second-largest EVM chain by TVL. Circle issues native USDC on Arbitrum One (0xaf88d065e77c8cC2239327C5EDb3A432268e5831) with full EIP-3009 (transferWithAuthorization) support — the same transfer method used by Base and Polygon. No Permit2 fallback needed.

What was already in the repo (this PR completes the picture):

  • typescript/packages/mechanisms/evm/src/shared/defaultAssets.tseip155:42161 and eip155:421614 already defined ✅
  • go/mechanisms/evm/constants.goChainIDArbOne and ChainIDArbSepolia already defined ✅

This PR adds the missing network shortname entries so that clients and servers can reference "arbitrum" by name, consistent with how "polygon", "avalanche", and other chains are registered.

Tests

Verified end-to-end against a live x402 infrastructure with real USDC settlement on Arbitrum One using the native 0xaf88d065e77c8cC2239327C5EDb3A432268e5831 token contract. EIP-3009 transferWithAuthorization signatures produce valid on-chain USDC transfers on Arbitrum One, confirming the chain is fully compatible with the existing exact-evm scheme.

The TypeScript change is additive only (new enum values, no logic changes), so existing tests for other networks are unaffected.

Checklist

  • I have formatted and linted my code
  • All new and existing tests pass
  • My commits are signed (required for merge) -- you may need to rebase if you initially pushed unsigned commits
  • I added a changelog fragment for user-facing changes (docs-only changes can skip)

@cb-heimdall
Copy link
Copy Markdown

cb-heimdall commented May 20, 2026

🟡 Heimdall Review Status

Requirement Status More Info
Reviews 🟡 0/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

2 participants