Skip to main content

CCTP — Any chain in, settle on Arc

Pairband uses Circle CCTP v2 so users can fund trades from Ethereum, Base, Unichain, Arbitrum, Optimism, Solana, and other supported domains without holding Arc USDC upfront.

Tokens never leave Arc. Only USDC moves cross-chain; ERC-20 launch tokens are minted and traded natively on Arc.

Flow

Source chain Arc (domain 26)
───────────── ─────────────────
User USDC ──burn──► TokenMessenger ──mint──► PairbandSettler

├─► Launchpad (curve buy)
└─► Book / pair (post-grad)
  1. User approves USDC on the source chain
  2. CCTP burns source USDC and attestation is relayed
  3. Arc mints native USDC to PairbandSettler
  4. Settler routes into PairbandLaunchpad or post-graduation venues
  5. User receives tokens or book credit on Arc

Bridge out burns Arc USDC and mints on the destination domain — tokens still do not bridge.

Arc constants

ParameterValue
Arc CCTP domain26
TokenMessenger (Arc)0x8FE6B999Dc680CcFDD5Bf7EB0974218be2542DAA
USDC on Arc0x3600000000000000000000000000000000000000
Settler contractSee Contracts — filled after deployment

Supported source domains (preview)

The app config includes common CCTP sources, for example:

ChainNotes
EthereumFast Transfer eligible
BaseFast Transfer eligible
UnichainFast Transfer eligible
ArbitrumStandard transfer
OptimismStandard transfer
SolanaDomain-specific CCTP flow

Exact domain IDs and messenger addresses on source chains follow Circle's CCTP documentation. Always verify live addresses before mainnet use.

Fast vs standard transfer

ModeLatencyWhen
Fast TransferSecondsSupported pairs (e.g. ETH, Base, Unichain → Arc)
StandardMinutesChains without fast path

The preview app may settle CCTP instantly for demo purposes. Production follows Circle attestation timing.

Security notes

  • Only PairbandSettler should receive minted USDC from CCTP for protocol routing — verify bytecode and ownership after deploy
  • Never paste private keys in apps, docs, or env files committed to git
  • Test every new domain on Arc Testnet (5042002) before mainnet