Unite the ecosystem
Cross-Chain Transfer Protocol (CCTP) enables USDC to flow securely between blockchains — unifying liquidity and simplifying user experience.
async function usdcCrossChainTransfer(amount: number, destinationAddress: string) {
// Deposit USDC tokens for burn and obtain transaction hash
const burnUsdcTx = await ethTokenMessengerContract.depositForBurn(amount, AVAX_DESTINATION_DOMAIN, destinationAddress, USDC_ETH_CONTRACT_ADDRESS).send();
// Extract message from burn transaction and calculate messageHash
const { messageBytes, messageHash } = extractMessageAndHash(burnUsdcTx);
// Retrieve attestation for message hash and mint USDC on AVAX tokens on the destination chain
const { attestation } = await fetch(`https://iris-api-sandbox.circle.com/attestations/${messageHash}`).json();
// Mint the USDC on AVAX tokens on the destination chain using the burn transaction message and attestation
await avaxMessageTransmitterContract.receiveMessage(messageBytes, attestation).send();
}
Natively interoperable USDC
Programmatic burning & minting
Design new real-world use cases
Live on 8 chains enabling 56 routes
CCTP is available on Arbitrum, Avalanche, Base, Ethereum, Noble, OP Mainnet, Polygon PoS, and Solana. Support for Sui is coming soon.
FAQs
CCTP is a permissionless on-chain utility that enables the flow of USDC across chains through native burning and minting. With CCTP, USDC is effectively teleported from one blockchain to another.
CCTP serves as permissionless infrastructure for developers to build on top of, or integrate into, their existing apps, wallets, and bridges.
No. CCTP is a permissionless on-chain utility for third-party developers.
CCTP is available on mainnet for Arbitrum, Avalanche, Base, Ethereum, Noble, OP Mainnet, Polygon PoS, and Solana. Support for Sui is coming soon. Developers can access our developer docs to begin building on CCTP.
There would be a gas fee on the source chain and a gas fee on the destination chain. The app that integrates CCTP would be responsible for determining how gas fees are handled and/or passed on to the end-user. There are no additional fees from CCTP.
Yes, Circle Mint and Core API are capable of moving USDC natively across chains. However, those commercial products are only available to qualified businesses approved by Circle.
Centralized exchanges typically hold various native forms of USDC liquidity on their platforms. Users with an account at a centralized exchange can deposit USDC (native to a given chain) into their exchange wallet, and then withdraw USDC (native to a different chain) to their external wallet.
In contrast, CCTP is permissionless. This means it is accessible to any third-party developer to integrate into their app(s), and does not require signing up for an account. Users can move USDC through a CCTP-enabled app to any supported blockchain at any time. Developers can also compose new on-chain experiences on top of CCTP within their apps.
CCTP doesn’t require pooled USDC liquidity to perform cross-chain transfers, increasing capital efficiency and avoiding fees charged by liquidity providers.
All burns of USDC emit an event on the source chain, which is automatically observed by Circle’s attestation service. The app facilitating the burn of USDC is responsible for fetching the signed attestation from Circle, which then enables CCTP to mint USDC on the destination chain.
No.
Circle’s plans to bring USDC natively to more blockchain networks remain the same and will continue to grow. We envision CCTP establishing USDC as a universal liquidity layer for the internet that is accessible to all.
While its unavailability would temporarily preclude new burn messages from being signed, we anticipate robust uptime and availability similar to how our existing minting services operate today.
CCTP has no direct impact upon existing bridged versions of USDC.