How it works
Circle maintains a Fast Transfer allowance pool that backs all in-process CCTP Fast Transfers. The following steps describe how the allowance works:- Initial state: Circle maintains a Fast Transfer allowance pool (for example, 10 million USDC).
-
Fast Transfer initiated: When you burn USDC on the source blockchain with
Fast Transfer:
- The burn amount temporarily debits the allowance
- Circle’s Attestation Service issues an attestation after soft finality
- You can immediately mint USDC on the destination blockchain
- Allowance depleted: If the allowance reaches zero, Fast Transfers are temporarily unavailable until the allowance replenishes.
- Allowance replenished: Once burns reach hard finality on source blockchains, the corresponding amounts are credited back to the allowance.
Note: The Fast Transfer allowance is global across all supported
blockchains. It’s not specific to a particular source or destination blockchain,
but rather tracks the total value of in-process Fast Transfers.
Check the current allowance
To check the remaining Fast Transfer allowance, call theGET /v2/fastBurn/USDC/allowance
endpoint. For a detailed guide on checking the allowance, see
Get the Fast Transfer allowance.
When allowance is insufficient
If the Fast Transfer allowance is insufficient for your transfer, you have two options:Option 1: Wait for replenishment
The allowance automatically replenishes as pending Fast Transfers reach hard finality. Monitor the allowance until sufficient capacity is available:JavaScript
Option 2: Use Standard Transfer
ChangeminFinalityThreshold to 2000 or higher to use
Standard Transfer,
which doesn’t consume the Fast Transfer allowance.
Allowance lifecycle
Understanding what happens during each phase of the allowance lifecycle helps you build more robust applications:1
Burn initiated
The user calls
depositForBurn with minFinalityThreshold ≤ 1000. The
transaction confirms on the source blockchain, and the allowance is debited by
the burn amount.2
Soft finality reached
Circle’s Attestation Service issues an attestation, and the attestation becomes
available through the API. The user can now mint USDC on the destination
blockchain.
3
Hard finality reached
The burn transaction reaches hard finality on the source blockchain. The
allowance is credited back by the burn amount, and capacity is restored for new
Fast Transfers.