Specie
Arc
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
Chain id5042
RPChttps://rpc.mainnet.arc.io
Explorerhttps://explorer.arc.io
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.

Phantom cannot connect to Arc. Its EVM side works only on the networks Phantom ships with and refuses to add a new one. When several wallets are installed, Specie asks which one to use; pick MetaMask or Rabby. The choice is remembered and can be changed from the wallet menu with Change wallet.

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, which is the side transfers, balances and sales on this site use. Spending one moves the other, because they are the same money.

0x3600000000000000000000000000000000000000

This is why buying on Specie takes a single signature: a purchase pays USDC as native value, so there is nothing to approve. Selling EURC, cirBTC or WETH spends an ERC-20 and can need approvals first.

Listed assets

AssetClassIssuerDecimalsContract
USDC
USDC
StablecoinCircle60x36000000…00000000
EURC
EURC
StablecoinCircle60xbEf5f6d5…C6fe21c1
USYC
US Yield Coin
Tokenized fundCircle60x8a5D989B…A42bF490
cirBTC
Circle Wrapped Bitcoin
Wrapped bitcoinCircle80x171A4217…b4bDbAA0
WETH
Wrapped Ether
Bridged etherBridged, issuer not verified180x128cC466…19B84EDB

Every address above was checked on Arc before this deploy: bytecode present and decimals() answering the number in the table. 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 or v3 and sent to the Universal Router, or for an Aero pool and sent to the Aero router. Before any quote is trusted, the deployment is checked for bytecode at the addresses below. If any of them is missing, the endpoints answer 503 and name what was not found rather than quote.

ContractRoleAddress
Universal Routerswaps and the fee0x4fcA4a…A89Fb1
Pool Managerv4 pools0x8366a3…e40951
Quoterwhat an amount really returns in v40x8dc178…c98f94
v3 Factoryfinds v3 pools0xf0db7b…653918
v3 Quoterwhat an amount really returns in v30x7dfd4f…ac1468
Aero Factoryfinds Aero pools0xb89Df7…491d03
Aero RouterAero swaps and the fee0xb4702E…3EdB2B
State Viewpool liquidity and price0xf33341…9e673b
Permit2allowance in front of the router0x000000…C78BA3

Each of these was checked on Arc before deploy, and the router was confirmed to answer the Universal Router interface this site encodes for.