Skip to main content
CCTP (Cross-Chain Transfer Protocol) is Circle’s canonical way to move USDC between chains: USDC is burned on the source chain and minted natively on the destination — never a wrapped or bridged variant. A-Identity drives it with Circle’s Bridge Kit (CCTPv2), so an agent’s dollars can leave Arc and arrive as real USDC on another chain. This is the second cross-chain rail alongside Circle Gateway. They solve related problems differently: Gateway moves a unified balance via the Forwarding Service; CCTP is the burn-and-mint primitive underneath native USDC liquidity.

The burn-and-mint lifecycle

1

approve

The bridge is approved to spend the USDC being moved.
2

burn

USDC is burned on Arc, emitting a cross-chain message.
3

fetchAttestation

Circle attests the burn. Because Arc has instant finality, the attestation is reached fast.
4

mint

Native USDC is minted on the destination chain (Base Sepolia in our demo) — the same dollar, no wrapper.
Verified live on Arc testnet: a 1 USDC transfer ran the full approve → burn → fetchAttestation → mint lifecycle in about 15 seconds, each step a real transaction, minting native USDC on Base Sepolia — on both the local and the live production backend. SDK: @circle-fin/bridge-kit.

Gateway vs CCTP

Leaving Arc, the bridged amount must exceed the CCTPv2 max fee — tiny testnet transfers can revert with “Max fee must be less than amount”. The demo defaults to 1 USDC.

Build on Arc

Arc is the primary rail — gas in USDC, sub-second finality. CCTP and Gateway extend it across chains.