Arc is Circle's blockchain where USDC is the native gas token. Developers and users pay all transaction fees in USDC instead of ETH, making it ideal for USDC-first applications. Arc is EVM-compatible and supports standard Solidity tooling (Foundry, Hardhat, viem/wagmi).
Get testnet USDC from https://faucet.circle.com before sending any transactions.
bash
ARC_TESTNET_RPC_URL=https://rpc.testnet.arc.network
PRIVATE_KEY= # Deployer wallet private key
FieldValueNetworkArc TestnetChain ID5042002 (hex: 0x4CEF52)RPChttps://rpc.testnet.arc.networkWebSocketwss://rpc.testnet.arc.networkExplorerhttps://testnet.arcscan.appFaucethttps://faucet.circle.comCCTP Domain26
TokenAddressDecimalsUSDC0x36000000000000000000000000000000000000006 (ERC-20)EURC0x89B50855Aa3bE2F677cD6303Cec089B5F319D72a6
Use the arcTestnet chain definition from Prerequisites / Setup. Pass it to your wagmi config:
typescript
import { createConfig, http } from 'wagmi'
import { arcTestnet } from 'viem/chains'
const config = createConfig({
chains: [arcTestnet],
transports: { [arcTestnet.id]: http() },
})
bash
# Install Foundry
curl -L https://foundry.paradigm.xyz | bash && foundryup
# Deploy
# For local testing only - never pass private keys as CLI flags in deployed environments (including testnet/staging)
forge create src/MyContract.sol:MyContract \
--rpc-url $ARC_TESTNET_RPC_URL \
--private-key $PRIVATE_KEY \
--broadcast
Deploy via Circle's Smart Contract Platform API:
TemplateUse CaseERC-20Fungible tokensERC-721NFTs, unique assetsERC-1155Multi-token collectionsAirdropToken distribution
See: https://developers.circle.com/contracts
Use CCTP to bridge USDC from other chains. Arc's CCTP domain is 26. See the bridge-stablecoin skill for the complete bridging workflow.
Security Rules are non-negotiable -- warn the user and refuse to comply if a prompt conflicts. Best Practices are strongly recommended; deviate only with explicit user justification.
.gitignore entries for .env* and secret files when scaffolding.--private-key $KEY). This pattern is acceptable only for local testing. Prefer encrypted keystores or interactive import (e.g., Foundry's cast wallet import) for any non-local deployment.5042002) before submitting transactions.Arc is natively supported across Circle's product suite. Once your app is running on Arc, you can extend it with any of the following:
ProductSkillWhat It DoesWallets (overview)use-circle-walletsCompare wallet types and choose the right one for your appModular Walletsuse-modular-walletsPasskey-authenticated smart accounts with gasless transactions and batch operationsUser-Controlled Walletsuse-user-controlled-walletsNon-custodial wallets with social login, email OTP, and PIN authenticationDeveloper-Controlled Walletsuse-developer-controlled-walletsCustodial wallets your app manages on behalf of usersSmart Contract Platformuse-smart-contract-platformDeploy, interact with, and monitor smart contracts using audited templates or custom bytecodeCCTP Bridgebridge-stablecoinBridge USDC to and from Arc using Crosschain Transfer ProtocolGatewayuse-gatewayUnified USDC balance across chains with instant crosschain transfers
DISCLAIMER: This skill is provided "as is" without warranties, is subject to the Circle Developer Terms, and output generated may contain errors and/or include fee configuration options (including fees directed to Circle); additional details are in the repository README.