Wallet setup
Use the button below to add Arc Testnet to your wallet automatically.Manual setup
Arc uses USDC as the native gas token (18 decimals). If your wallet supports
custom gas tokens, ensure display/decimals are set correctly. Wallets that
don’t support custom gas tokens still work for signing and sending
transactions—balances may display as “ETH” but the underlying token is USDC.
See Gas and fees for details.
- MetaMask
- Rabby
- Coinbase Wallet
- Rainbow
1
Open network settings
Open MetaMask → Settings → Networks → Add network → Add a network manually.
2
Enter network details
| Field | Value |
|---|---|
| Network name | Arc Testnet |
| New RPC URL | https://rpc.testnet.arc.io |
| Chain ID | 5042002 |
| Currency symbol | USDC |
| Explorer URL | https://testnet.arcscan.app |
3
Save and switch
Click Save, then switch to Arc Testnet.
1
Open network settings
Open Rabby → click the network selector (top-left) → Add Custom Network.
2
Enter network details
| Field | Value |
|---|---|
| Chain Name | Arc Testnet |
| Chain ID | 5042002 |
| RPC URL | https://rpc.testnet.arc.io |
| Currency | USDC |
| Block Explorer | https://testnet.arcscan.app |
3
Confirm and switch
Click Confirm, then select Arc Testnet from the network list.
1
Open network settings
Open Coinbase Wallet → Settings → Networks → Add custom network.
2
Enter network details
| Field | Value |
|---|---|
| Network name | Arc Testnet |
| RPC URL | https://rpc.testnet.arc.io |
| Chain ID | 5042002 |
| Currency symbol | USDC |
| Block explorer | https://testnet.arcscan.app |
3
Save and switch
Click Save, then switch to Arc Testnet.
1
Open network settings
Open Rainbow → Settings (gear icon) → Networks → Custom Network.
2
Enter network details
| Field | Value |
|---|---|
| Network name | Arc Testnet |
| RPC URL | https://rpc.testnet.arc.io |
| Chain ID | 5042002 |
| Symbol | USDC |
| Block explorer | https://testnet.arcscan.app |
3
Save and switch
Click Save, then switch to Arc Testnet.
Network details
| Parameter | Value |
|---|---|
| Network | Arc Testnet |
| Chain ID | 5042002 |
| Currency | USDC |
| Explorer | testnet.arcscan.app |
| Faucet | faucet.circle.com |
RPC endpoints
https://rpc.testnet.arc.io
https://rpc.blockdaemon.testnet.arc.io
https://rpc.drpc.testnet.arc.io
https://rpc.quicknode.testnet.arc.io
WebSocket endpoints
wss://rpc.testnet.arc.io
wss://rpc.blockdaemon.testnet.arc.io:443/websocket
wss://rpc.drpc.testnet.arc.io
wss://rpc.quicknode.testnet.arc.io
Frontend wallet libraries
Usewagmi and viem to integrate Arc Testnet into
ConnectKit,
Reown AppKit, or a bare
WalletConnect connector.
Arc Testnet chain definition
viem ships Arc Testnet as a built-in chain. No manual definition is needed.
import { arcTestnet } from "viem/chains";
Configure wallet connection
Pick the tab that matches your setup.- ConnectKit
- Reown AppKit
- WalletConnect
npm install connectkit wagmi viem
import { arcTestnet, mainnet } from "viem/chains";
import { createConfig, http } from "wagmi";
import { getDefaultConfig } from "connectkit";
const config = createConfig(
getDefaultConfig({
chains: [arcTestnet, mainnet],
transports: {
[arcTestnet.id]: http("https://rpc.testnet.arc.io"),
[mainnet.id]: http("https://cloudflare-eth.com"),
},
walletConnectProjectId: process.env.NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID,
appName: "Your App Name",
}),
);
When
mainnet is omitted from chains, ConnectKit falls back to its own
eth.merkle.io endpoint for ENS name lookups, which blocks cross-origin
browser requests. Include mainnet with a CORS-safe transport (such as the
Cloudflare endpoint shown earlier) to prevent this.npm install @reown/appkit @reown/appkit-adapter-wagmi wagmi viem @tanstack/react-query
Import
defineChain from @reown/appkit/networks, not from viem. AppKit
requires two additional fields (caipNetworkId and chainNamespace) that
viem’s version omits; using the wrong import causes a runtime error.import { defineChain } from "@reown/appkit/networks";
import { WagmiAdapter } from "@reown/appkit-adapter-wagmi";
import { createAppKit } from "@reown/appkit/react";
const projectId = process.env.NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID;
const arcTestnet = defineChain({
id: 5042002,
caipNetworkId: "eip155:5042002",
chainNamespace: "eip155",
name: "Arc Testnet",
nativeCurrency: { decimals: 18, name: "USDC", symbol: "USDC" },
rpcUrls: {
default: {
http: ["https://rpc.testnet.arc.io"],
webSocket: ["wss://rpc.testnet.arc.io"],
},
},
blockExplorers: {
default: { name: "ArcScan", url: "https://testnet.arcscan.app" },
},
testnet: true,
});
const wagmiAdapter = new WagmiAdapter({
networks: [arcTestnet],
projectId,
});
createAppKit({
adapters: [wagmiAdapter],
networks: [arcTestnet],
projectId,
metadata: {
name: "Your App Name",
description: "Your App Description",
url: "https://yourdomain.com",
icons: ["https://yourdomain.com/icon.png"],
},
});
Get a project ID at dashboard.reown.com. The
same project ID works for the bare WalletConnect connector.
For
wagmi apps that need WalletConnect sessions without Reown AppKit’s full modal UI.import { arcTestnet } from "viem/chains";
import { createConfig, http } from "wagmi";
import { walletConnect } from "wagmi/connectors";
const config = createConfig({
chains: [arcTestnet],
connectors: [
walletConnect({
projectId: process.env.NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID,
metadata: {
name: "Your App",
description: "Your App Description",
url: "https://yourdomain.com",
icons: ["https://yourdomain.com/icon.png"],
},
}),
],
transports: {
[arcTestnet.id]: http("https://rpc.testnet.arc.io"),
},
});
Arc Testnet (chain ID 5042002) is not registered in the WalletConnect chain
registry. On first connection, WalletConnect issues a
wallet_addEthereumChain call per user.