# Cross-Chain Transfer Protocol

Move USDC securely across blockchains and simplify user experience

## Overview

[Cross-Chain Transfer Protocol (CCTP)](https://circle.com/cctp) is a permissionless onchain utility that securely transfers USDC between supported blockchains by burning tokens on the source chain and minting them on the destination chain. Circle created CCTP to improve capital efficiency and reduce trust assumptions when using USDC across blockchains. CCTP enables developers to build multichain applications that allow users to perform secure 1:1 USDC transfers across chains.

{% hint style="info" %}
Tip: Use Bridge Kit to simplify crosschain transfers with CCTP. [Bridge Kit](https://developers.circle.com/bridge-kit) is an SDK that leverages CCTP as its protocol provider, letting you transfer USDC between blockchains in just a few lines of code.
{% endhint %}

CCTP supports both **Fast Transfer** and **Standard Transfer**, and also integrates **Hooks** for custom logic. Fast Transfer enables USDC transfers between blockchains at faster-than-finality speeds, reducing transfer times from over 15 minutes to under 30 seconds across most domains. Hooks enhance crosschain composability by allowing you to trigger automated actions post-transfer. For more details, see the [Hooks](broken://pages/bac7c1a53b3bea89fbae2edfa8de2d0ac977aa43#cctp-hooks) section.

***

## Background and design

The following sections provide additional context on CCTP’s evolution, the challenges it addresses, and its architectural principles. Expand any to explore these deeper technical details.

<details>

<summary>Understanding the Problem</summary>

Blockchains 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 depositing USDC liquidity into third-party smart contracts. This approach reduces capital efficiency, acts as a target for malicious attacks, and introduces additional trust assumptions.

</details>

<details>

<summary>Design Approach</summary>

As a low-level primitive, CCTP can be embedded in any app, wallet, or bridge to enhance and simplify the user experience for crosschain use cases. With USDC circulating across a large number of blockchain networks, CCTP connects and unifies liquidity across the disparate ecosystems where it’s supported.

CCTP is built on generalized message passing and designed for composability and flexible use cases. Developers can extend its capabilities 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.

</details>

***

## How CCTP works

CCTP enables fast and secure transfers of USDC across blockchains through two transfer methods: **Fast Transfer** and **Standard Transfer**. Both involve burning USDC on the source chain and minting it on the destination chain, but the steps and speed differ.

* Fast Transfer
* Standard Transfer

### Fast Transfer

**Fast Transfer** is an advanced feature of CCTP designed for speed-sensitive use cases. It leverages Circle’s Attestation Service and Fast Transfer Allowance to enable *faster-than-finality* (soft finality) transfers. The process involves the following steps:

{% stepper %}
{% step %}

### Initiation

A user accesses an app powered by CCTP and initiates a Fast Transfer of USDC, specifying the recipient’s wallet address on the destination chain.
{% endstep %}

{% step %}

### Burn Event

The app facilitates a burn of the specified USDC amount on the source blockchain.
{% endstep %}

{% step %}

### Instant Attestation

Circle’s Attestation Service attests to the burn event after soft finality (which varies per chain) and issues a signed attestation.
{% endstep %}

{% step %}

### Fast Transfer Allowance Backing

Until hard finality is reached, the burned USDC amount is backed by Circle’s [Fast Transfer Allowance](/chainaiswap-docs/cross-chain-transfer-protocol/cctp-faq.md#what-is-the-fast-transfer-allowance-in-cctp-v2). The Fast Transfer Allowance is temporarily debited by the burn amount.

Circle’s Fast Transfer Allowance limits how much USDC can be minted through Fast Transfer before the related burns on source chains reach hard finality. It caps the total value of in-flight transfers to manage risk, and is restored once those burns finalize.
{% endstep %}

{% step %}

### Mint event

The app explicitly fetches the signed attestation from Circle’s Attestation Service and uses it to mint USDC on the destination chain. A [fee](broken://pages/bac7c1a53b3bea89fbae2edfa8de2d0ac977aa43#cctp-fees) is collected onchain during this process.
{% endstep %}

{% step %}

### Fast Transfer Allowance Replenishment

Once the burn reaches finality on the source chain, the corresponding amount is credited back to Circle’s Fast Transfer Allowance.
{% endstep %}

{% step %}

### Completion

The recipient wallet address receives the newly minted USDC on the destination blockchain, completing the transfer.
{% endstep %}
{% endstepper %}

Fast Transfer is ideal for low-latency use cases, enabling USDC transfers to complete in seconds while maintaining trust and security through Circle’s Fast Transfer Allowance.

Read the [CCTP White Paper](https://github.com/circlefin/evm-cctp-contracts/blob/master/whitepaper/CCTPV2_White_Paper.pdf) to learn about the motivation behind CCTP and how the Fast Transfer Allowance balances speed, risk, and capital efficiency in crosschain USDC transfers.

***

## Use cases

CCTP enables developers to build novel crosschain apps that integrate functionalities like trading, lending, payments, NFTs, and gaming, while simplifying the user experience. Below are practical examples of how you can leverage CCTP in your applications—expand any to learn more.

<details>

<summary>Fast and secure crosschain rebalancing</summary>

Market makers, fillers/solvers, exchanges, and bridges can use CCTP to manage liquidity more efficiently. By securely rebalancing USDC holdings across blockchains, you can reduce operational costs, meet demand, and take advantage of market opportunities with minimal latency.

</details>

<details>

<summary>Composable crosschain swaps</summary>

With CCTP, users can quickly swap between digital assets on different blockchains by routing through USDC. Users can also swap for USDC and automatically trigger subsequent actions on the destination chain, seamlessly enabling complex crosschain actions such as swaps and deposits.

</details>

<details>

<summary>Programmable crosschain purchases</summary>

Automate crosschain purchases with CCTP. For example, a user can use USDC on one chain to purchase an NFT on a decentralized exchange on another chain and list it for sale on an NFT marketplace. When the transaction is initiated, CCTP routes USDC across chains to buy the NFT and opens the listing on the marketplace—all in one streamlined flow.

</details>

<details>

<summary>Simplify crosschain complexities</summary>

Simplify the crosschain experience by using USDC as collateral on one chain to open a borrowing position on a lending protocol on another chain. With CCTP, USDC can move quickly between blockchains, allowing users to onboard to new applications without switching wallets or managing multichain complexities.

</details>

***

Related:

* [Bridge Kit SDK Reference](https://developers.circle.com/bridge-kit/references/sdk-reference)
* [Migrate from CCTP V1 (Legacy) to V2](/chainaiswap-docs/cross-chain-transfer-protocol/migrate-from-cctp-v1-legacy-to-v2.md)

Assistant

Responses are generated using AI and may contain mistakes.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://chainaiswap.gitbook.io/chainaiswap-docs/cross-chain-transfer-protocol.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
