# CCTP Block Confirmations V1

This is CCTP V1 (Legacy) version. For the latest version, see [CCTP](https://developers.circle.com/cctp).

Before signing an attestation for a source chain event, Circle waits for a specified number of onchain block confirmations to achieve hard finality. The table below shows the average time required for an attestation to become available after a message is emitted onchain.

{% hint style="warning" %}
Note: These values are subject to change.
{% endhint %}

### CCTP V1 Attestation Times

| Source Chain    | Number of Blocks  | Average Time         |
| --------------- | ----------------- | -------------------- |
| **Ethereum**    | \~65\*            | \~13 to 19 minutes\* |
| **Avalanche**   | 1                 | \~8 seconds          |
| **OP Mainnet**  | \~65 ETH blocks\* | \~13 to 19 minutes\* |
| **Arbitrum**    | \~65 ETH blocks\* | \~13 to 19 minutes\* |
| **Noble**       | 1                 | \~20 seconds         |
| **Base**        | \~65 ETH blocks\* | \~13 to 19 minutes\* |
| **Polygon PoS** | \~33              | \~75 to 120 seconds  |
| **Solana**      | 32                | \~25 seconds         |
| **Sui**         | 1                 | \~8 seconds          |
| **Aptos**       | 1                 | \~8 seconds          |
| **Unichain**    | \~65 ETH blocks\* | \~13 to 19 minutes\* |

{% hint style="info" %}
Block confirmations for L2s to Ethereum

Layer 2 (L2) blockchains publish transaction data in batches to Ethereum L1, and the frequency of these posts varies by chain. Some submit batches every few minutes, while others are less frequent. After a batch is posted, Circle waits for the Ethereum L1 block containing the batch to finalize, which typically happens after \~65 blocks, or 13 to 19 minutes, before issuing an attestation.
{% endhint %}

Previous: [CCTP Aptos Packages and Interfaces V1](broken://pages/4880ed1f887793fc790c8f85cd241cc7888f01fa)\
Next: [CCTP Chain Domains V1](/chainaiswap-docs/cross-chain-transfer-protocol/cross-chain-transfer-protocol-v1/cctp-chain-domains-v1.md)


---

# 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/cross-chain-transfer-protocol-v1/cctp-block-confirmations-v1.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.
