Skip to main content
Without a sufficient number of confirmations, transactions may be changed by blockchain reorganization, or reorg. Reorgs occur when validators discard one or more blocks and replace them with a different set of blocks, rewriting part of the chain. Each additional block confirmation added after a block makes that block less likely to be removed in a reorg. Each confirmation adds confidence that the transaction is permanent.

Confirmation numbers

Confirmations show how safe a transaction is from reorg. The confirmation number is how many blocks must be added until a block is considered permanent. Each chain’s confirmation number is different, and determined by Circle. Confirmation numbers are based on a variety of factors, including the chain’s history, potential for reorg, and overall network architecture. For L2 chains, Circle waits for blocks on the L1 chain. This happens after the L2 block gets included in an L1 block
ChainConfirmations/BlocksApproximate Time
Algorand (USDC)1~3 seconds
Aptos (USDC)1~500 milliseconds
Arbitrum (USDC)300~3 minutes
Avalanche (USDC, EURC)1~2 seconds
Base (USDC, EURC)12 ETH Blocks~3 to 9 minutes
Celo (USDC)65 ETH Blocks~13 to 19 minutes
Codex (USDC)65 ETH Blocks~13 to 19 minutes
Ethereum (USDC, EURC)12~3 minutes
Flow (USDC)*--
Hedera (USDC)N/A~3 seconds
HyperEVM (USDC)1<1 second
Ink (USDC)65 ETH Blocks~60 minutes
Linea (USDC)65 ETH Blocks~6 to 32 hours
NEAR (USDC)1~2 seconds
Noble (USDC)1~1.53 seconds
OP Mainnet (USDC)12 ETH Blocks~3 to 9 minutes
Plume (USDC)65 ETH Blocks~30 minutes
Polkadot Asset Hub (USDC)1~12 seconds
Polygon PoS (USDC)50~2 minutes
Sei (USDC)1~400 milliseconds
Solana (USDC, EURC)1~400 milliseconds
Sonic (USDC)1~1 second
Stellar (USDC, EURC)1~5 seconds
Sui (USDC)1~500 milliseconds
TRON (USDC)**19~1 minute
Unichain (USDC)12 ETH Blocks~3 to 9 minutes
World Chain (USDC)65 ETH Blocks~13 to 19 minutes
XDC (USDC)3~6 seconds
XRPL (USDC)1~5 seconds
ZKsync Era (USDC)65 ETH Blocks~5 to 7 hours
HederaHedera is built on a hashgraph, not a blockchain. As such, there isn’t a count of confirmations before Circle considers a transfer valid. This determination is performed on Hedera directly and is then shared back to Circle. See Hedera consensus to learn more.

Transfer status

When an incoming transfer is included in a block, the API makes it available for you. However, the transfer remains in the running status. It won’t credit the balance of the associated wallet with the transfer amount until the required number of confirmations has been reached. Once the confirmation number is reached, the transfer status changes to completed. If you subscribed to webhook notifications, you’ll get a message about this change. You can use transfers in your processes before they reach completed status. This comes with risk. Chain reorgs are rare, but they can happen. If you use transfers before they get enough confirmations, you take on this risk.

Waiting for confirmations only applies to onchain transfers. These are transfers where the source is type blockchain. Transfers between hosted wallets don’t need to wait. These transfers have a source type of wallet and happen instantly.
I