Skip to content

feat: add Circle Arc testnet chain (PAR-40)#112

Draft
MSevey wants to merge 1 commit into
mainfrom
matt/par-40-update-packages-and-documentation
Draft

feat: add Circle Arc testnet chain (PAR-40)#112
MSevey wants to merge 1 commit into
mainfrom
matt/par-40-update-packages-and-documentation

Conversation

@MSevey

@MSevey MSevey commented Jul 2, 2026

Copy link
Copy Markdown

Summary

Adds Circle Arc Testnet (chain ID 5042002) to @eco-foundation/chains (PAR-40). New definition src/definitions/arc.ts exporting arcTestnet, registered in EcoRoutesChains / EcoRouteChainMap, with a dedicated test suite.

Chain facts

Field Value
Chain ID 5042002
Name Arc Testnet
Native gas token USDC (18-decimal native accounting; ERC-20 USDC is 6 decimals)
Alchemy RPC https://arc-testnet.g.alchemy.com/v2/${ALCHEMY_API_KEY} (+wss), key injected via EcoChains
Default RPC https://rpc.testnet.arc.network (+wss)
Public RPCs arc.network, QuickNode, Blockdaemon, dRPC testnet endpoints
Explorer ArcScan — https://testnet.arcscan.app (Blockscout, Etherscan-compatible /api)
multicall3 0xcA11bde05977b3631167028862bE2a173976CA11 (blockCreated 0)
USDC (stable) 0x3600000000000000000000000000000000000000 (6 decimals)
testnet true
isCalderaChain false

Arc mainnet (5042) intentionally excluded

Circle's public mainnet RPC/USDC/CCTP details are not yet published (private mainnet only; pending PAR-26 / Circle private docs). Shipping a mainnet definition with no working RPCs would break downstream consumers that enumerate getMainnetChains() — notably balances-service, which auto-tracks every mainnet chain. A TODO in src/definitions/arc.ts documents this.

Downstream

  • balances-service (PAR-32) and other consumers will bump to the released version in follow-up PRs.
  • feat: commit → semantic-release will cut a minor release (2.3.3 → 2.4.0) on merge; CHANGELOG is generated automatically.

Testing

  • pnpm test — 50/50 pass (new src/tests/arc.spec.ts: stables lookup, getChain by id, Alchemy key substitution/filtering, testnet classification, mainnet-absent guard)
  • pnpm lint, pnpm prettier, pnpm build — clean

🤖 Generated with Claude Code

Adds the Circle Arc testnet (chain ID 5042002) definition:
- Native gas token USDC (18-decimal native accounting; ERC-20 USDC is 6 decimals)
- Alchemy RPC with ${ALCHEMY_API_KEY} templating plus public Arc RPCs
  (arc.network, QuickNode, Blockdaemon, dRPC)
- ArcScan block explorer with Etherscan-compatible API
- Canonical multicall3, USDC stable at 0x3600...0000 (6 decimals)

Arc mainnet (5042) is intentionally not included: Circle's public mainnet
RPC/USDC/CCTP details are unpublished (private mainnet only, pending PAR-26),
and shipping a mainnet chain without working RPCs would break consumers that
enumerate getMainnetChains() (e.g. balances-service).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@linear-code

linear-code Bot commented Jul 2, 2026

Copy link
Copy Markdown

PAR-40

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