# Cross-Chain Finality and Validation (Tezos / Etherlink) Finality rules for 138, Etherlink, and ALL Mainnet in DON and relay configs. ## Finality by chain | Chain | Finality rule | Use in DON / relay | |-------------|----------------------|--------------------------| | ChainID 138 | QBFT; ~1 confirmation | Commit DON: 1 block finality | | Ethereum | 12+ blocks | Execute DON: wait 12 blocks after commit | | ALL Mainnet | 12 blocks (default) | Relay: 12 confirmations | | Etherlink | TBD (e.g. 12) | **Placeholder:** Set confirmation blocks in relay/DON config when decided; document here. See [TEZOS_CCIP_REMAINING_ITEMS.md](TEZOS_CCIP_REMAINING_ITEMS.md) ยง2. | ## Validation - **Commit DON**: Observes source chain (138 or other) for finalized blocks; builds Merkle tree of messages; submits commit report. Use finality rule per source chain. - **Execute DON**: Waits for commit; verifies Merkle proof; submits execution on destination. Only execute after commit finality. - **Custom relay**: Wait for source chain confirmations (per table above) before submitting on destination; ensure idempotency (messageId / tx hash). ## Tests - Confirm finality values in DON and relay configs; run tests that send a message and verify execution only after expected confirmations.