Overview
Cross-Chain Transfer Protocol V1 is a permissionless onchain utility that facilitates USDC transfers securely between blockchain networks via native burning and minting. Circle created CCTP to improve capital efficiency and minimize trust requirements when using USDC across blockchain networks. CCTP V1 enables developers to build multichain applications that allow users to perform 1:1 transfers of USDC securely across blockchains.Note: CCTP V1 only supports Standard Transfer, constrained by
blockchain finality on the source blockchain. Later CCTP versions
support Fast Transfer and Hooks, in addition to also supporting
Standard Transfer.
Understanding the Problem
Blockchain networks often operate in siloed environments and cannot natively communicate with one another. While some ecosystems, such as Cosmos, use built-in protocols like the Inter-Blockchain Communication (IBC) protocol to enable data transmission between their appchains, direct communication between isolated networks, such as Ethereum and Avalanche, remains infeasible. Traditional bridges exist to address this limitation by enabling the transfer of digital assets, such as USDC, across blockchains. However, these bridges come with significant drawbacks. Two common methods, lock-and-mint bridging and liquidity pool bridging, require locking USDC liquidity in third-party smart contracts. This approach reduces capital efficiency and introduces additional trust assumptions.Design Approach
As a low-level primitive, CCTP V1 can be embedded within any app or wallet - even existing bridges - to enhance and simplify the user experience for cross-chain use cases. With USDC circulating across a large number of blockchain networks, CCTP V1 can connect and unify liquidity across disparate ecosystems where it’s supported. CCTP V1 is built on generalized message passing and designed for composability, enabling a wide range of use cases. Developers can extend its functionality beyond just moving USDC between blockchains. For example, you can create a flow where USDC is sent across chains and automatically deposited into a DeFi lending pool after the transfer, allowing it to generate yield in an automated manner. This experience can be designed to feel like a seamless, single transaction for the end user.How CCTP V1 works
Standard Transfer is the default method in CCTP V1 for transferring USDC across blockchains, which involves burning USDC on the source chain and minting it on the destination chain. It relies on transaction finality on the source chain and uses Circle’s Attestation Service to enable standard-finality () transfers. The process includes the following steps:- Initiation. A user accesses an app powered by CCTP V1 and initiates a Standard Transfer of USDC, specifying the recipient’s wallet address on the destination chain.
- Burn Event. The app facilitates a burn of the specified USDC amount on the source blockchain.
- Attestation. Circle’s Attestation Service observes the burn event and, after observing hard finality on the source chain, issues a signed attestation. Hard finality ensures the burn is irreversible (about 13 to 19 minutes for Ethereum and L2 chains.)
- Mint Event. The app retrieves the signed attestation from Circle and uses it to mint USDC on the destination chain.
- Completion. The recipient wallet address receives the newly minted USDC on the destination blockchain, completing the transfer.