Skip to content

Add Arc and Arc Testnet support to Splits Lite - #166

Merged
mihoward21 merged 3 commits into
0xSplits:mainfrom
eltontay-circle:add-arc
Oct 2, 2026
Merged

mihoward21 merged 3 commits into
0xSplits:mainfrom
eltontay-circle:add-arc

Conversation

@eltontay-circle

@eltontay-circle eltontay-circle commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Adds Arc (chain 5042) and Arc Testnet (chain 5042002) to Splits Lite, with USDC and EURC in the token list. It follows the README process for new tokens and chains.

Before merging: Splits v2 needs to be deployed on Arc, and @0xsplits/splits-kit needs a release that includes Arc. Until then the SDK rejects actions on Arc; other chains are unaffected. After that release, this PR only needs the splits-kit bump, plus Arc enabled on the splits-lite Alchemy app for mainnet.

Changes

  • src/constants/chains.ts: adds arc and arcTestnet.
    • Mainnet RPC uses Alchemy (arc-mainnet.g.alchemy.com), like the other chains. Arc's docs list Alchemy for mainnet only, so Arc Testnet uses Circle's public RPC (rpc.testnet.arc.io), the same way Plume uses a public RPC.
    • Mainnet sets Multicall3 (0xcA11bde05977b3631167028862bE2a173976CA11, deployed on Arc) the same way Tempo does, because viem 2.56.5 in the lockfile ships arc without it. viem 2.56.6 and later include it.
  • src/constants/erc20.ts: USDC and EURC on both networks.
  • public/chain-icons/arc.svg: the Arc mark from Arc's official logo.

Chain details

Arc Arc Testnet
Chain ID 5042 5042002
Public RPC https://rpc.mainnet.arc.io https://rpc.testnet.arc.io
Explorer https://explorer.arc.io https://explorer.testnet.arc.io
Docs https://docs.arc.io https://docs.arc.io

README chain requirements, checked on both networks:

  • CreateX: deployed at 0xba5Ed099633D3B313e4D5F7bdc1305d3c28ba5Ed, bytecode identical to Ethereum's. The CREATE2 deployer at 0x4e59b44847b379578588920cA78FbF26c0B4956C is also present.
  • EVM: Arc targets the Osaka fork, which includes Shanghai, and PUSH0 was tested with eth_call. Differences from Ethereum are listed in Arc's EVM differences.
  • viem: includes arc and arcTestnet.
  • Deployer gas: funding transactions for 0x60C65c9a8674DA22e89C7d09e839908B9f0ecC3a on both networks will be added here.

Tokens

Token Arc Arc Testnet Decimals
USDC 0x3600000000000000000000000000000000000000 0x3600000000000000000000000000000000000000 6
EURC 0xbEf5f6d51CB62b58e6A8f77868681825C6fe21c1 0x89B50855Aa3bE2F677cD6303Cec089B5F319D72a 6

Arc-specific notes

  • USDC is Arc's native gas token. The native balance uses 18 decimals, and the ERC-20 interface at 0x3600…0000 uses 6 decimals over the same balance. Arc's docs recommend that apps "rely solely on the standard ERC-20 interface for reading balances and sending transfers", so USDC is listed here. Since the SDK always shows the native balance first, a split on Arc will currently show USDC twice for the same funds, and distributing either row pays out the same balance. Hiding the native row on Arc would fix that; happy to adjust this PR however you prefer.
  • Fees: Arc's docs ask for maxFeePerGas of at least 20 gwei; transactions below that may stay pending.
  • Indexing: a single ERC-20 USDC transfer emits two Transfer logs, one from the native system emitter and one from the ERC-20 contract. Splits Lite reads balances live and isn't affected; indexers should tell them apart by emitter address (docs).

Related

Checked locally

prettier, bun run lint and bun run build pass. Token name, symbol and decimals were read on-chain on both networks.

@splits-bot-testing

splits-bot-testing commented Oct 1, 2026 •

Copy link
Copy Markdown
Status Commit Endpoint
Ready e9f319d ad88c127.lite.testing.splits.org

@eltontay-circle

Copy link
Copy Markdown
Contributor Author

mihoward21 and others added 2 commits October 2, 2026 11:22
splits-kit 2.6.0-alpha.0 (splits-sdk 6.7.0-alpha.0) adds Arc and Arc
Testnet to the SDK's supported v2 chains; 2.5.0 rejects their chain IDs.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
viem 2.56.5 defines Arc mainnet with no default RPC URL, so the wagmi
config can't create a client for chain 5042 and RainbowKit crashes when
a wallet switches to Arc. viem 2.56.6+ ships https://rpc.mainnet.arc.io.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@mihoward21
mihoward21 marked this pull request as ready for review October 2, 2026 18:54
@mihoward21
mihoward21 requested a review from a team as a code owner October 2, 2026 18:54
@mihoward21
mihoward21 requested review from juliogarciag and removed request for a team and juliogarciag October 2, 2026 18:54
@mihoward21
mihoward21 merged commit 301ccde into 0xSplits:main Oct 2, 2026
3 of 6 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.

4 participants