<!-- Canonical: https://docs.linea.build/stack/deployment/core-components -->

> 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/core-components.md](https://docs.linea.build/stack/deployment/core-components.md).

# Deployment components

This page describes the [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. components. It identifies which components an [operator](/protocol/reference/zero-knowledge-glossary#operator)**Operator** The entity or consortium responsible for deploying, administering, and running the network infrastructure, contracts, keys, access controls, and operational procedures for a network built on Lineth. must or may run, and describes how they are versioned or replaced. For what each component does internally, see [Protocol Architecture](/protocol/architecture).

## Core protocol components

The following components are **required**.

**Replaceability:** Versioned via protocol upgrade.

-   [Maru](/protocol/architecture#consensus-client-maru): Consensus layer client
-   [Linea Besu](/protocol/architecture#execution-client-linea-besu): Execution layer client
-   [Sequencer](/protocol/architecture/sequencer): Orders transactions and builds blocks
-   [Coordinator](/protocol/architecture/coordinator): Orchestrates batching, proof generation, and submissions
-   [Prover](/protocol/architecture/prover): Generates zero-knowledge proofs of state transitions
-   [State manager](/protocol/architecture/state-manager): Maintains a state representation for proof generation
-   [Tracer](/protocol/architecture/sequencer/traces-generator): Generates execution traces required for proofs

note

Lineth uses a [dual-layer architecture](/protocol/architecture#nodes): Maru for consensus and an execution client for the EVM. Operators can configure the consensus and execution layers separately. This enables but does not guarantee client diversity and network resilience; those depend on the operator's deployment.

## Onchain system contracts

The following [smart contracts](/protocol/architecture/smart-contracts) or alternatives that offer parity are **required**.

**Replaceability:** Versioned via redeployment.

-   `AddressFilter` contract
-   Canonical token bridge
-   Finalization verifier
-   `LineaRollup` message bridge contract
-   Token bridge contracts

## Data availability

In addition to concrete components, Lineth depends on correctness-critical requirements, which may be satisfied by different implementations depending on the [deployment model](/stack/evaluate/deployment-models).

**Purpose**

-   Ensure transaction data and state transitions remain accessible
-   Enable reconstruction and verification of historical state

**Correctness requirement**

-   Without data availability, the protocol cannot be independently verified
-   Loss of data availability breaks state reconstructability

**Example implementations**

-   **Linea Public Mainnet deployment:** EIP-4844 blobs on Ethereum
-   **Private Validium deployments:** Operator-provided or outsourced data availability infrastructure

**Trust model**

-   Data availability is within the trust boundary
-   Responsibility for data availability implementation depends on deployment model

See more on [data availability considerations](/stack/deployment/data-availability-finalization).

## Auxiliary services

Auxiliary services are **not required for protocol correctness**. They are typically **optional** and **replaceable**.

Common examples include:

-   [Block explorer](/protocol/architecture#block-explorer)
-   [Archive node service](/protocol/architecture/rpc-services#archive-nodes)
-   [RPC load balancers](/protocol/architecture/rpc-services)
-   Monitoring and metrics
-   Indexer
-   API portal

**Special cases**

-   [Web3Signer](/protocol/architecture#web3signer): remote signing with integration with a large number of Key Management Solutions (KMS):
    -   Not required for correctness
    -   _In_ trust boundary (signing path)
    -   Not replaceable: currently, Web3Signer is integral
    -   Optional
