<!-- Canonical: https://docs.linea.build/stack/deployment/finalization-layer -->

> For the complete Linea documentation index, see [llms.txt](/llms.txt).
> Agents can fetch this page as Markdown at [https://docs.linea.build/stack/deployment/finalization-layer.md](https://docs.linea.build/stack/deployment/finalization-layer.md).

# Finalization layer

This page describes the finalization layer options and requirements for a [Lineth](/protocol/reference/zero-knowledge-glossary#lineth)**Lineth** (Formerly the Linea Stack) The open-source ZK-rollup stack, codebase, and technical protocol that's the foundation of Linea Mainnet. Operators can deploy this stack to launch their own Ethereum-compatible L2 or L3 networks. deployment. The finalization layer records the deployment's proofs and state commitments for verification and [settlement finality](/stack/deployment/finality). Whether it also records transaction data depends on the [data availability](/stack/deployment/data-availability) model: a [rollup](/protocol/reference/zero-knowledge-glossary#rollup)**Rollup** A deployment model in which a Lineth network proves state transitions with zk-SNARKs and posts transaction data, state commitments, and proofs to the finalization layer. Anyone who can read that data can reconstruct history while it remains available. posts that data to the finalization layer; a [validium](/protocol/reference/zero-knowledge-glossary#validium)**Validium** A deployment model in which a Lineth network proves state transitions with zk-SNARKs and posts only state commitments and proofs to the finalization layer. A validium can be public or private, depending on who has access to the transaction data. Participants cannot reconstruct the full transaction history from the finalization layer alone. keeps it offchain.

## Finalization layer options

Enterprise operators typically choose Ethereum (L1) or [Linea Mainnet](/network) (L2) as the finalization layer. Linea Mainnet is itself a Lineth deployment that uses Ethereum as its finalization layer. The choice between finalizing on an L1 or L2 comes with different trade-offs:

| Finalization layer | Lineth network layer | What the deployment inherits | Trade-off |
| --- | --- | --- | --- |
| Ethereum (L1) | L2 | Direct settlement on Ethereum | Higher cost and longer settlement time |
| Linea Mainnet (L2) | L3 |
Linea Mainnet's operation, then Linea's own settlement on Ethereum

 |

Lower cost and faster settlement on Linea; end-to-end verification includes both layers

 |

L2 finalization is sufficient for many deployments. Choose L1 finalization when the deployment must settle directly on Ethereum.

Other finalization layers

A Lineth network can use a custom finalization layer other than Ethereum or Linea Mainnet if it can run the [system contracts](/protocol/architecture/smart-contracts). [Rollups](/stack/deployment/data-availability#rollups) that post EIP-4844 blobs need blob support on that chain.

Learn more about the [trust assumptions](/stack/evaluate/trust-model#finalization-layer) inherited from the finalization layer.

## Smart contract requirements

Operators must deploy [the finalization and verifier contracts](/protocol/architecture/smart-contracts) on the finalization layer. Together, these contracts allow the [coordinator](/protocol/reference/zero-knowledge-glossary#coordinator)**Coordinator** Lineth's coordination module for batching, proof generation, and finality submission. The coordinator monitors block production, manages conflation deadlines, batches blocks, combines batches into blobs, orchestrates execution, compression, and aggregation proofs, and submits proofs and data to the finalization layer. to finalize batches and state. The process is as follows:

1.  The coordinator submits [zk-SNARK](/protocol/reference/zero-knowledge-glossary#zk-snark)**zk-SNARK** (Zero-Knowledge Succinct Non-interactive Argument of Knowledge) A type of ZK proof where the prover and verifier don't have to interact. With zk-SNARKs, you can verify 1 transaction or 1 billion transactions in the same amount of time. proofs, state commitments, and, for a rollup, data availability payloads to the finalization layer.
2.  The finalization contract calls the verifier to check the proof.
3.  The verifier uses the submitted commitments and, for a rollup, the data availability payloads to check the proof.
4.  If verification succeeds, the finalization layer records the new state.

## See also

-   [Data availability](/stack/deployment/data-availability): Where transaction data is stored.
-   [Finality](/stack/deployment/finality): When a transaction becomes irreversible on the network versus on the finalization layer.
