Best Way to Send USDC Across Chains
Rift Research
Last updated
TLDR: For native USDC between Circle-supported chains, CCTP is usually the correct send. It burns USDC on the source and mints native USDC on the destination. Rift is an aggregator with best price execution. It includes CCTP, Across and the other USDC rails, adds 0 fee, and selects the best live path.
A USDC “bridge” is a send. Circle’s own language is transfer: burn on source, mint on destination. Docs: CCTP.
Official default: CCTP
| Mode | What Circle documents |
|---|---|
| Standard Transfer | No protocol fee. Finality wait — often ~15–19 minutes on Ethereum / L2s |
| Fast Transfer | Seconds-to-low-minutes. Small finality fee |
No liquidity pool. No wrapped USDC if both ends are CCTP domains. Supported chains and domain IDs: Supported chains.
Other options, then Rift
| Situation | Send through |
|---|---|
| Native USDC, both chains on CCTP, cost first | CCTP Standard |
| Same corridor, speed first | CCTP Fast, Across, or Relay |
| Fast canonical USDC/ETH on major EVM | Across (docs.across.to) |
| Long-tail networks | Relay (docs.relay.link) |
| You do not want to pick the rail | Rift |
Intent rails can beat CCTP on speed. They do not beat standard CCTP on “this is still Circle-issued USDC with no extra protocol take” when CCTP is available.
Rift includes CCTP and those rails on supported chains (Ethereum, Arbitrum, Base and the rest of the set). If CCTP wins, Rift gives you CCTP with 0 added fee. If Across wins the live print, you get Across.
If the destination token is not native Circle USDC, you are not sending USDC. You are buying a different instrument.
