Specie
Arc Testnet
Protocol

Network and assets

Arc is Circle's layer one for stablecoins. Gas is paid in USDC, blocks finalize in under a second, and every asset Specie lists is an ERC-20 with six decimals.

Chain parameters

NameArc Testnet
Chain id5042002
RPChttps://rpc.testnet.arc.io
Explorerhttps://testnet.arcscan.app
Gas currencyUSDC

A wallet that has never seen this network can be pointed at it from the connect button: Specie asks the wallet to add the chain with exactly the parameters above.

The two faces of USDC

Arc exposes one USDC balance twice. Natively it has 18 decimals and is what gas and msg.value use. Through an ERC-20 interface at the system address below it has 6 decimals, and that is the side every swap, transfer and balance on this site uses. Spending one moves the other, because they are the same money.

0x3600000000000000000000000000000000000000

This is why a swap on Arc never sends value with the transaction and why a buy needs the same approvals a sell does: the trader is spending a token in both directions.

Listed assets

AssetClassIssuerDecimalsContract
USDC
USDC
StablecoinCircle60x3600000000000000
EURC
EURC
StablecoinCircle60x89B50855F319D72a
USYC
US Yield Coin
Tokenized fundCircle60xe9185F0cBEadb86C

Every address above was confirmed on this network by calling name(), symbol() and decimals() on the contract itself. Nothing in the registry is written from memory. Issuer terms are not quoted yet, so no row claims to know what holding an asset entitles you to.

Routing contracts

Swaps are encoded for Uniswap v4 and sent to the Universal Router. Before any quote is trusted, the deployment is checked for bytecode at the addresses it is configured with. When any of them is missing, the endpoints answer 503 and name what was not found, which is the state on this network today.

Universal Routerswaps and the fee
Pool Managerv4 pools
Quoterwhat an amount really returns
State Viewpool liquidity and price
Permit2allowance in front of the router

The addresses live in configuration rather than in these docs on purpose: publishing an address we have not yet seen bytecode at would be publishing a guess.