Only two finality thresholds are supported. Any minFinalityThreshold
value
below 1000 is treated as 1000, and any value above 1000 is treated
as 2000.
In CCTP V2, finality thresholds allow integrators to specify the level of confirmation required before an attestation is issued.
CCTP V2 introduces the concept of a finality threshold, which provides a chain-agnostic representation of the confirmation level for a given attestation.
In CCTP V2, each message specifies a minFinalityThreshold
. This threshold
indicates the minimum level of confirmation required for Circle's attestation
service (Iris) to attest to the message. Iris will not attest to a message at a
confirmation level below the specified minimum threshold. This allows
applications to enforce a desired level of finality before acting on an
attestation on the destination chain.
CCTP V2 defines the following finality thresholds:
Finality Threshold | Value |
---|---|
Confirmed | 1000 |
Finalized | 2000 |
minFinalityThreshold
of 1000 or lower are considered
Fast messages. These messages are eligible for fast attestation at the
confirmed level by Iris.minFinalityThreshold
of 2000 are considered Standard
messages. These messages are attested to at the finalized level by Iris.Only two finality thresholds are supported. Any minFinalityThreshold
value
below 1000 is treated as 1000, and any value above 1000 is treated
as 2000.
For CCTP V2 transfers, a fee is collected onchain at the time of USDC minting. Retrieve the applicable fee by calling the API before executing a transaction. Fees are subject to change with advance notice. See the table below for rates.
maxFee
parameter in depositForBurn
specifies the maximum fee that can
be charged during minting.
maxFee
is less than the minimum Standard Transfer fee, the burn reverts
onchain.maxFee
is equal to or greater than the minimum Fast Transfer fee, and
minFinalityThreshold
is 1000 or lower, the attestation is eligible for
Fast Transfer. In this case, the Fast Transfer fee (which varies by chain)
is charged onchain at minting.maxFee
is below the Fast Transfer fee or minFinalityThreshold
is greater
than 1000—the Standard Transfer fee (currently 0) is charged onchain at
minting.The minimumFee
field in the /v2/burn/USDC/fees
response represents the
required fee rate in basis points (bps). To calculate the maxFee
to include
in depositForBurn
, multiply this value by the amount to be transferred.
Source chain | Fee |
---|---|
Arbitrum | 1 bps (0.01%) |
Base | 1 bps (0.01%) |
Codex | 2 bps (0.02%) |
Ethereum | 1 bps (0.01%) |
Linea | 14 bps (0.14%) |
OP Mainnet | 1 bps (0.01%) |
Solana | 1 bps (0.01%) |
World Chain | 1 bps (0.01%) |
Source chain | Fee |
---|---|
Arbitrum | 0 bps (0%) |
Avalanche | 0 bps (0%) |
Base | 0 bps (0%) |
Codex | 0 bps (0%) |
Ethereum | 0 bps (0%) |
Linea | 0 bps (0%) |
OP Mainnet | 0 bps (0%) |
Solana | 0 bps (0%) |
Sonic | 0 bps (0%) |
World Chain | 0 bps (0%) |