What It Does
Move USDC between chains without leaving your Product Account. Compass integrates Circle’s Cross-Chain Transfer Protocol (CCTP) V2, enabling secure, native USDC transfers between Ethereum, Arbitrum, and Base. Unlike wrapped token bridges, CCTP burns USDC on the source chain and mints native USDC on the destination. No liquidity pools, no slippage, no wrapped tokens.Supported Chains
| Chain | CCTP Domain |
|---|---|
| Ethereum | 0 |
| Arbitrum | 3 |
| Base | 6 |
Transfer Modes
CCTP V2 offers two transfer speeds:| Mode | Speed | Fee |
|---|---|---|
| Standard | ~15-19 min | Free |
| Fast | ~30 seconds | ~0.01% |
How It Works
Bridging happens in two steps: burn on the source chain, then mint on the destination chain.Step 1: Burn USDC
Call the burn endpoint to get a transaction that burns USDC from the Product Account on the source chain.- A
transactionto sign and broadcast (oreip_712typed data if using gas sponsorship) - A
bridge_idto track the transfer
Step 2: Mint USDC
After the burn transaction confirms, Circle’s attestation service validates the transfer. Call the mint endpoint with thebridge_id and burn_tx_hash to get the mint transaction.
- 200 OK: Attestation ready, mint transaction included
- 202 Accepted: Attestation pending, poll again shortly
- 404 Not Found: Bridge ID not found
Implementation Example
This example demonstrates bridging 1 USDC from Base to Arbitrum without gas sponsorship.Note
- Full source code is available in our public GitHub repository: CompassLabs/api_usecases – cctp_bridging
Prerequisites
Implementation
Gas Sponsorship
Both burn and mint transactions support gas sponsorship. Setgas_sponsorship=true to receive EIP-712 typed data instead of an unsigned transaction.
The owner signs the typed data off-chain, then you submit the signature to /gas_sponsorship/prepare to get a transaction that the sender broadcasts.
Prerequisites
Before bridging:- The owner must have a Product Account on both chains
- USDC must be in the Product Account on the source chain (use /earn/transfer to deposit)
Use Cases
Cross-chain yield optimization: Move USDC to the chain with the best yield opportunities, then deposit into vaults or Aave markets. Multi-chain treasury management: Consolidate funds across chains or distribute to different chains based on operational needs. User onboarding: Let users bridge funds from any supported chain to where your application operates.Next Steps
Product Accounts
Create Product Accounts required for bridging on both chains.
Variable Earn
Deploy bridged USDC into variable yield opportunities.
Gas Sponsorship
Sponsor gas for bridge transactions to improve user experience.