Cross-Chain Transfer Protocol
Enable unified liquidity across blockchains to simplify the user experience.
Cross-Chain Transfer Protocol (CCTP) is a permissionless on-chain utility that can burn native USDC on a source chain and mint native USDC of the same amount on a destination chain. Developers can embed CCTP into their apps to provide users with a highly secure and capital-efficient way to transfer USDC across chains, setting the stage for a united and mainstream Web3.
Background
Prior to CCTP, developers and users have needed to use conventional “lock-and-mint” bridges, which lock native USDC on a source chain – incurring a potential security risk – and then mint a synthetic/bridged version of USDC on the destination chain, resulting in fragmentation of liquidity and poor UX.
CCTP improves upon this by enabling USDC to move securely across chains via a native burn-and-mint process. Exposed through smart contracts, CCTP is also designed to allow composability of additional functionality beyond just transferring USDC from one chain to another.
• Example: a developer could build a flow where a user can transfer USDC across chains and deposit the newly-minted USDC into a DeFi (decentralized finance) lending pool to begin generating yield. This flow could be designed to feel to the user like one seamless transaction.
How does it work?
- 1. USDC is burned on the source chain: Using an app, a user initiates a transfer of USDC from one blockchain to another, and specifies the recipient wallet address on the destination chain. The app facilitates a burn of the specified amount of USDC on the source chain.
- 2. A signed attestation is fetched from Circle: Circle observes and attests to the burn event on the source chain. The app requests the attestation from Circle, which provides authorization to mint the specified amount of USDC on the destination chain.
- 3. USDC is minted on the destination chain: The app uses the attestation to trigger the minting of USDC. The specified amount of USDC is minted on the destination chain and sent to the recipient wallet address.
The possibilities of CCTP
Developers can tap the power of CCTP to build novel cross-chain apps that stack together the various functionalities of trading, lending, payments, NFTs, gaming, and more, all while keeping things simple for users.
Cross-chain swaps
Users can perform cross-chain swaps with digital assets that live on distinct chains, even across L2 rollups (e.g. swapping ARB on Arbitrum for OP on OP Mainnet). In a completely automated way, ARB can be swapped for USDC on Arbitrum, routed by CCTP to OP Mainnet, and swapped for OP. Routing and execution are hidden from the user to deliver a seamless user experience.
Cross-chain deposits
Users can utilize USDC on Ethereum to open a trading position on a decentralized exchange on Avalanche. Because CCTP can route USDC across chains behind the scenes, the user never needs to switch wallets or even think about which chain they’re holding USDC on.
Cross-chain purchases
With one click, a user with USDC on Avalanche can buy an Arbitrum-based NFT on Uniswap and list it for sale on OpenSea. When the user initiates the transaction, CCTP routes their USDC from Avalanche to Arbitrum to purchase the NFT from Uniswap, then opens the listing on OpenSea. Once again, the user is shielded from complexity for a fast and seamless experience.
Supported Chains
Mainnet:
- Arbitrum, Avalanche, Ethereum, OP Mainnet
Testnet:
- Arbitrum Goerli, Avalanche Fuji, Ethereum Goerli, OP Goerli
Coming soon in 2023:
- Solana and additional chains
Attestation Service API
This API provides signed attestations used to transmit cross-chain messages. For more information, see the API reference.
Environment | URL |
---|---|
Testnet | https://iris-api-sandbox.circle.com |
Mainnet | https://iris-api.circle.com |
Updated 9 days ago