# Linea Markdown version of https://l2beat.com/layer2s/projects/linea ## Summary - Total Value Secured: $376.72 M (-2.88% compared to seven days ago; canonically bridged $131.43 M, natively minted $1.79 M, externally bridged $243.50 M; 64.6% with additional trust assumptions compared to the tokens involved and the Stage assigned to the project's canonical messaging bridge) - Past day UOPS: 0.19 (+11.1% compared to seven days ago) - Stage: Stage 0 - Gas token: ETH - Type: ZK Rollup - Purpose: Universal - Host chain: Ethereum - Chain ID: 59144 ### Risks - Sequencer failure: No mechanism (sentiment: bad) - State validation: Validity proofs (SN) (sentiment: good) - Data availability: Onchain (sentiment: good) - Exit window: None (sentiment: bad) - Proposer failure: Cannot withdraw (sentiment: bad) ### About Linea is a ZK Rollup powered by a zkEVM developed at Consensys, designed to scale the Ethereum network. ## Value Secured Shown as an interactive chart or widget on [the HTML page](https://l2beat.com/layer2s/projects/linea#tvs). - [TVS chart (JSON)](https://l2beat.com/api/scaling/tvs/linea) - [TVS breakdown by token (JSON)](https://l2beat.com/api/scaling/tvs/linea/breakdown) ## Activity Shown as an interactive chart or widget on [the HTML page](https://l2beat.com/layer2s/projects/linea#activity). - [Activity chart (JSON)](https://l2beat.com/api/scaling/activity/linea) ## Onchain costs Shown as an interactive chart or widget on [the HTML page](https://l2beat.com/layer2s/projects/linea#onchain-costs). ## Data posted Shown as an interactive chart or widget on [the HTML page](https://l2beat.com/layer2s/projects/linea#data-posted). ## Liveness Shown as an interactive chart or widget on [the HTML page](https://l2beat.com/layer2s/projects/linea#liveness). ## Milestones & Incidents - 2025-09-10 (incident): [Linea halts for 1 hour](https://x.com/DeclanFox14/status/1965677827488903320). - 2024-06-09: [Proof system is complete](https://x.com/LineaBuild/status/1932172959587913816). The Linea proof system and verifier on ethereum covers 100% of the zkEVM. - 2024-03-26: [Linea starts using blobs](https://twitter.com/LineaBuild/status/1772711269159567483). Linea starts publishing data to blobs. - 2024-02-13: [Alpha v2 is released](https://docs.linea.build/build-on-linea/linea-version#alpha-v2-release-notes). This release reduces L1 costs and fees for users. - 2023-07-12: [Mainnet Alpha Launch](https://linea.mirror.xyz/7l9gKzYzKVOxEOnReavov467Ss_fsrkGzABvbRISPMY). Linea has launched on the Ethereum mainnet. - 2023-03-28: [Open Testnet is Live](https://linea.mirror.xyz/6G30hwV2wPs_wPv0VEgHYaIdghMkIQaad-OI_0br1hM). Linea has launched on the Goerli testnet, allowing users and developers to test the platform. ## Risk summary ### Funds can be stolen if 1. a contract receives a malicious code upgrade. There is a 0s delay on code upgrades. ### Funds can be frozen if 2. the sequencer refuses to include an exit transaction, (CRITICAL) 3. the operator censors withdrawal transaction. ### Users can be censored if 4. the operator refuses to include their transactions. ### MEV can be extracted if 5. the operator exploits their centralized position and frontruns user transactions. ## Risk analysis ### Sequencer failure No mechanism (sentiment: bad) There is no mechanism to have transactions be included if the sequencer is down or censoring. Eventually (after 6 months of no finalized blocks) the Operator role becomes public, theoretically allowing anyone to post data. ### State validation Validity proofs (SN) (sentiment: good) SNARKs are succinct zero knowledge proofs that ensure state correctness, but require trusted setup. ### Data availability Onchain (sentiment: good) All of the data needed for proof construction is published on Ethereum L1. Unlike most ZK rollups, transaction data is posted instead of state diffs. ### Exit window None (sentiment: bad) There is no window for users to exit in case of an unwanted upgrade since contracts are instantly upgradable. ### Proposer failure Cannot withdraw (sentiment: bad) Only the whitelisted proposers can publish state roots on L1, so in the event of failure the withdrawals are frozen. Eventually (after 6 months of no finalized blocks) the Operator role becomes public, theoretically allowing anyone to propose state with valid proofs. ## Stage Linea is a Stage 0 ZK Rollup. ### Stage 0 - [x] A complete and functional proof system is deployed. - [x] The project calls itself a rollup. - [x] State roots are posted to Ethereum L1. - [x] Inputs for the state transition function are posted to Ethereum L1. - [x] A source-available node exists that can recreate the state from Ethereum L1 data. Please note that the L2BEAT team has not verified the validity of the node source code. [View code](https://github.com/Consensys/linea-besu) ### Stage 1 - [ ] Principle: Compromising ≥75% of the Security Council should be the only way (other than bugs) for a rollup to indefinitely block an L2→L1 message (e.g. a withdrawal) or push an invalid L2→L1 message (e.g. an invalid withdrawal) with a <7d exit window. - [ ] Users' withdrawals can be censored by the permissioned operators. - [ ] Upgrades executed by actors with more centralized control than a Security Council provide less than 7d for users to exit if the permissioned operator is down or censoring. - [ ] Security Council members are not publicly known. - [x] The proof system meets the minimum trusted setup requirements defined in the L2BEAT [trusted setup assessment framework](https://forum.l2beat.com/t/the-trusted-setups-framework-for-zk-catalog/381). - [x] Prover source code is published. - [ ] Not all onchain verifiers' smart contracts can be independently regenerated from the verifier source code. ### Stage 2 - [ ] Upgrades unrelated to onchain provable bugs provide less than 30d to exit. - [ ] The Security Council's actions are not confined to onchain provable bugs. ## Data availability ### All data required for proofs is published on chain All the data that is used to construct the system state is published on chain in the form of cheap blobs or calldata. This ensures that it will be available for enough time. **References** - [Eip4844BlobAcceptor.sol - Etherscan source code, submitBlobs() function](https://etherscan.io/address/0x052b73d934E9412045Bf731574463Fd026D74645#code) ## State derivation ### Node software The node software ([Linea Besu](https://github.com/Consensys/linea-besu-package)) and a guide to reconstruct the state from L1 is available [here](https://docs.linea.build/network/overview/recoverable-state). Other node implementations like Nethermind, Geth or Erigon can sync too, but state derivation from L1 and Linea-specific features [are unsupported](https://docs.linea.build/get-started/how-to/run-a-node). ### Compression scheme Linea uses a [bespoke lossless compression scheme](https://github.com/Consensys/linea-monorepo/blob/main/docs/architecture-description.md#blob-compressor) based on LZSS (deflate-like). It is available as a [dedicated library](https://github.com/Consensys/compress) and a [zk-decompression circuit](https://github.com/Consensys/gnark/tree/master/std/compress) in Gnark. ### Genesis state Is available via the official Linea docs for Linea Besu (preloaded), [Besu](https://docs.linea.build/get-started/how-to/run-a-node/besu#step-2-download-the-genesis-file-and-besu-configuration-file), [Erigon](https://docs.linea.build/get-started/how-to/run-a-node/erigon#step-2-download-the-genesis-file), [Nethermind](https://docs.linea.build/get-started/how-to/run-a-node/nethermind), [Geth](https://docs.linea.build/get-started/how-to/run-a-node/geth#step-2-download-the-genesis-file). ### Data format Linea groups L2 blocks [into batches](https://lineascan.build/batches) which are then posted to L1 for proving. Each batch (whether sent as a blob or compressed calldata) contains L2 blocks. Blocks in turn include the [transactions with unnecessary data stripped](https://community.linea.build/t/proposal-state-reconstruction-from-l1-blobs/8038#p-22077-block-data-sent-to-l1-in-the-compressed-blob-2). More info on [the compression, packing and blob structure](https://github.com/Consensys/linea-monorepo/blob/main/docs/architecture-description.md#blob-compressor). ## State validation Each update to the system state must be accompanied by a ZK proof that ensures that the new state was derived by correctly applying a series of valid user transactions to the previous state. These proofs are then verified on Ethereum by a smart contract. ### Prover Architecture The Linea prover code is [available on Github](https://github.com/Consensys/linea-monorepo/tree/main/prover). Linea splits proving into: **Corset** (Go + Lisp DSL) expands EVM execution traces and generates a bespoke constraint system for the zk-EVM. **gnark** (Go) ingests the expanded traces and constraint system, instantiates the circuits and produces the SNARK proof. ### ZK Circuits The constraint system lives in the public [linea-constraints](https://github.com/Consensys/linea-constraints) repo and is authored in a Lisp-style DSL before being compiled to Go. Gnark then turns those constraints into PLONK-compatible circuits over **BN254**. Internally, Linea’s flow uses a recursive proof stack called [Vortex → Arcane → PLONK compression](https://docs.linea.build/technology/transaction-lifecycle#step-5-generating-a-zk-proof-using-transaction-data): Vortex/Arcane supply small inner proofs that are finally aggregated into a single PLONK proof that the L1 contract can verify. ### Verification Keys Generation Linea uses a Plonk-based proof system which requires a trusted setup. The verification keys are hardcoded in the verifier contract on-chain. ### Validity proofs Each update to the system state must be accompanied by a ZK proof that ensures that the new state was derived by correctly applying a series of valid user transactions to the previous state. These proofs are then verified on Ethereum by a smart contract. **References** - [LineaRollupBase.sol - Etherscan source code, finalizeBlocks() and _verifyProof() calls](https://etherscan.io/address/0x052b73d934E9412045Bf731574463Fd026D74645#code#F38#L277) - [PlonkVerifierMainnetFull.sol (Proof Type 0)](https://etherscan.io/address/0xAFF26999780901ee8B48f0a1271a177ff46fD53F) - [PlonkVerifierMainnetFull.sol (Proof Type 1)](https://etherscan.io/address/0x09ac9f7E5Fb37e241e0B1e52aaF01eFE0a488a77) ## Upgrades & Governance ## Updates Shown as an interactive chart or widget on [the HTML page](https://l2beat.com/layer2s/projects/linea#updates). ## Operator ### The system has a centralized sequencer Only a trusted sequencer is allowed to submit transaction batches. A mechanism for users to submit their own batches is currently disabled. **Risks** - MEV can be extracted if the operator exploits their centralized position and frontruns user transactions. - Funds can be frozen if the sequencer refuses to include an exit transaction (CRITICAL). **References** - [Eip4844BlobAcceptor.sol - Etherscan source code, onlyRole(OPERATOR_ROLE) modifier](https://etherscan.io/address/0x052b73d934E9412045Bf731574463Fd026D74645#code) ### Users can't force any transaction There is no general mechanism to force the sequencer to include the transaction. **Risks** - Users can be censored if the operator refuses to include their transactions. ## Withdrawals ### Regular messaging The user initiates L2->L1 messages by submitting a regular transaction on this chain. When the block containing that transaction is settled, the message becomes available for processing on L1. ZK proofs are required to settle blocks. Note that withdrawal requests can be censored by the Sequencer. Currently, there is a general limit of 10000.0 ETH that can be withdrawn within each 1d time window. Users can (eventually, after 6 months of inactivity from the centralized Operator) exit by replacing the Operator. In such a case they need to self-propose and prove their new state on the base layer with the required software which is currently not made available. **Risks** - Funds can be frozen if the operator censors withdrawal transaction. **References** - [L1MessageService.sol - Etherscan source code, claimMessageWithProof() function](https://etherscan.io/address/0x052b73d934E9412045Bf731574463Fd026D74645#code#F21#L92) - [LivenessRecovery.sol - Etherscan source code, setLivenessRecoveryOperator() function ](https://etherscan.io/address/0x052b73d934E9412045Bf731574463Fd026D74645#code#F36#L41) ## Permissions ### Ethereum #### Actors ##### CallForwardingProxy Addresses: [0x3697bD0bC6C050135b8321F989a5316eACbF367D](https://etherscan.io/address/0x3697bD0bC6C050135b8321F989a5316eACbF367D) A public proxy contract forwarding calls to a predefined target contract (LineaRollup). Can be called by any address. * Can interact with LineaRollup * submit and finalize blocks as the Operator role when 6 months of no finalizations have passed ##### Linea Security Council Addresses: [0x892bb7EeD71efB060ab90140e7825d8127991DD3](https://etherscan.io/address/0x892bb7EeD71efB060ab90140e7825d8127991DD3) A Multisig with 5/9 threshold. * Can upgrade **with no delay** * TokenBridge [via: Timelock → ProxyAdmin] * L1USDCBridge [via: ProxyAdmin] * LineaRollup [via: Timelock → ProxyAdmin] * YieldManager [via: Timelock → ProxyAdmin] * Can interact with TokenBridge * can pause the bridge * can pause token bridging actions initiated from the other layer * can pause token bridging actions initiated from this layer * can prevent tokens that have not been bridged already from being bridged by assigning them a reserved status **with 3mo delay or with no delay** [via: Delay with 3mo delay → Linea Multisig 2 - or - acting directly] * can remove the reserved status from a token, meaning that it is allowed to be bridged again **with 3mo delay or with no delay** [via: Delay with 3mo delay → Linea Multisig 2 - or - acting directly] * can set custom ERC20 contracts for specific ERC20s **with 3mo delay or with no delay** [via: Delay with 3mo delay → Linea Multisig 2 - or - acting directly] * can set the contract used as the source of truth from crosschain messages * can unpause token bridging actions initiated from the other layer * can unpause token bridging actions initiated from this layer * manage all critical access control roles and permissions (full admin of the main bridge escrow) * Can interact with Delay * enable/disable the module, set delays and expiration of transactions, set the target **with 3mo delay** [via: Delay with 3mo delay → Linea Multisig 2] * Can interact with UpgradeableBeacon * change the beacon implementation * Can interact with LineaRollup * manage all critical access control roles and permissions (full admin of the rollup system) * pause the rollup for 2d, followed by 2d cooldown, during which the rollup cannot be paused, except by the Security Council * pause the rollup indefinitely * send ETH from the rollup bridge to the YieldManager * set the address of the yield manager contract that receives ETH from rollup bridge * Can interact with Timelock * cancel queued transactions * execute transactions that are ready * manage all access control roles and change the minimum delay [via: Timelock] * propose transactions **with 3mo delay or with no delay** [via: Delay with 3mo delay → Linea Multisig 2 - or - acting directly] * Can interact with YieldManager * manage native yield staking: modify reserve parameters, set yield pools, set yield receiver addresses * operate native yield staking: stake and unstake, collect yield, pause and unpause, ossify yield managers ##### Linea Multisig 2 Addresses: [0xB8F5524D73f549Cf14A0587a3C7810723f9c0051](https://etherscan.io/address/0xB8F5524D73f549Cf14A0587a3C7810723f9c0051) A Multisig with 3/5 threshold. It uses the following modules: Delay (A simple Safe module for that can queue and execute transactions as Linea Multisig 2 after a delay of currently 3mo, if registered as a module there). * Can interact with TokenBridge * can prevent tokens that have not been bridged already from being bridged by assigning them a reserved status * can remove the reserved status from a token, meaning that it is allowed to be bridged again * can set custom ERC20 contracts for specific ERC20s * Can interact with Delay * enable/disable the module, set delays and expiration of transactions, set the target * Can interact with Timelock * propose transactions ##### Safe Addresses: [0xD6481cC92eD746EbC679788654723Ce49D45EbeA](https://etherscan.io/address/0xD6481cC92eD746EbC679788654723Ce49D45EbeA) A Multisig with 1/4 threshold. Member of Linea Security Council. ##### EOA 1 Addresses: [0x2532bfdc9Ba58B13358A9C5C05136d6938Bc42d0](https://etherscan.io/address/0x2532bfdc9Ba58B13358A9C5C05136d6938Bc42d0) * Can interact with TokenBridge * can pause the bridge * Can interact with LineaRollup * pause the rollup for 2d, followed by 2d cooldown, during which the rollup cannot be paused, except by the Security Council ##### 2 EOAs Addresses: [0x46d2F319fd42165D4318F099E143dEA8124E9E3e](https://etherscan.io/address/0x46d2F319fd42165D4318F099E143dEA8124E9E3e) (EOA 2), [0x52FF08F313A00A54e3Beffb5C4a7F7446eFb6754](https://etherscan.io/address/0x52FF08F313A00A54e3Beffb5C4a7F7446eFb6754) (EOA 3) * Can interact with LineaRollup * Allowed to prove blocks and post the corresponding transaction data ##### EOA 4 Addresses: [0x89F1668D215Bb5839A0A7a1A4619b1541258388c](https://etherscan.io/address/0x89F1668D215Bb5839A0A7a1A4619b1541258388c) * Can interact with AddressFilter * add and remove addresses to the filter list. Addresses in this list can not send forced transactions from L1 ##### EOA 5 Addresses: [0xcEE1f08Bcae342E950e88c209F7e6327ABB6d448](https://etherscan.io/address/0xcEE1f08Bcae342E950e88c209F7e6327ABB6d448) * Can interact with LineaRollup * send ETH from the rollup bridge to the YieldManager * Can interact with YieldManager * operate native yield staking: stake and unstake, collect yield, pause and unpause, ossify yield managers ### Linea #### Actors ##### Linea Multisig 4 Addresses: [0xB8F5524D73f549Cf14A0587a3C7810723f9c0051](https://lineascan.build/address/0xB8F5524D73f549Cf14A0587a3C7810723f9c0051) A Multisig with 3/5 threshold. * Can interact with TokenBridge * can prevent tokens that have not been bridged already from being bridged by assigning them a reserved status * can remove the reserved status from a token, meaning that it is allowed to be bridged again * can set custom ERC20 contracts for specific ERC20s * Can interact with L2Timelock * propose transactions ##### Linea Multisig 3 Addresses: [0xf5cc7604a5ef3565b4D2050D65729A06B68AA0bD](https://lineascan.build/address/0xf5cc7604a5ef3565b4D2050D65729A06B68AA0bD) A Multisig with 5/9 threshold. * Can upgrade **with no delay** * TokenBridge [via: L2Timelock → ProxyAdmin] * L2MessageService [via: L2Timelock → ProxyAdmin] * L2USDCBridge [via: ProxyAdmin] * Can interact with TokenBridge * can pause the bridge * can pause token bridging actions initiated from the other layer * can pause token bridging actions initiated from this layer * can prevent tokens that have not been bridged already from being bridged by assigning them a reserved status * can remove the reserved status from a token, meaning that it is allowed to be bridged again * can set custom ERC20 contracts for specific ERC20s * can set the contract used as the source of truth from crosschain messages * can unpause token bridging actions initiated from the other layer * can unpause token bridging actions initiated from this layer * manage all critical access control roles and permissions (full admin of the main bridge escrow) * Can interact with L2Timelock * cancel queued transactions * execute transactions that are ready * manage all access control roles and change the minimum delay [via: L2Timelock] * propose transactions * Can interact with UpgradeableBeacon * change the beacon implementation ##### EOA 6 Addresses: [0x2532bfdc9Ba58B13358A9C5C05136d6938Bc42d0](https://lineascan.build/address/0x2532bfdc9Ba58B13358A9C5C05136d6938Bc42d0) * Can interact with TokenBridge * can pause the bridge ##### EOA 7 Addresses: [0x2b0F9C76970975aec03784EFd763623757EF7652](https://lineascan.build/address/0x2b0F9C76970975aec03784EFd763623757EF7652) * Can interact with L2MessageService * Can anchor L1 data on the L2. A check is supposed to be added to the proof system on L1 so that it is not possible to settle if the anchor is not correct. The function is permissioned because otherwise anyone can cause a liveness failure by posting an invalid anchor ## Smart contracts ### Ethereum #### TokenBridge Addresses: [0x051F1D88f0aF5763fB888eC4378b4D8B29ea3319](https://etherscan.io/address/0x051F1D88f0aF5763fB888eC4378b4D8B29ea3319#code), [0xF0e003F0dE2d583Ae28FA8cBF66aa096CdAce3ff](https://etherscan.io/address/0xF0e003F0dE2d583Ae28FA8cBF66aa096CdAce3ff#code) (Implementation (Upgradable)), [0xF5058616517C068C7b8c7EbC69FF636Ade9066d6](https://etherscan.io/address/0xF5058616517C068C7b8c7EbC69FF636Ade9066d6#code) (Admin) Contract used to bridge and escrow ERC-20 tokens. * Roles: * **admin**: ProxyAdmin; ultimately Linea Security Council * **allPausers**: EOA 1, Linea Security Council * **allUnpausers**: Linea Security Council * **completeTokenBridgingPausers**: Linea Security Council * **completeTokenBridgingUnpausers**: Linea Security Council * **customContractSetters**: Linea Multisig 2, Linea Security Council; ultimately Linea Security Council * **defaultAdmin**: Linea Security Council * **initiateTokenBridgingPausers**: Linea Security Council * **initiateTokenBridgingUnpausers**: Linea Security Council * **messageServiceSetters**: Linea Security Council * **reserveTokenRemovers**: Linea Multisig 2, Linea Security Council; ultimately Linea Security Council * **reserveTokenSetters**: Linea Multisig 2, Linea Security Council; ultimately Linea Security Council Can be upgraded by: Linea Security Council with no delay #### PlonkVerifierFull Addresses: [0x09ac9f7E5Fb37e241e0B1e52aaF01eFE0a488a77](https://etherscan.io/address/0x09ac9f7E5Fb37e241e0B1e52aaF01eFE0a488a77#code), [0xAFF26999780901ee8B48f0a1271a177ff46fD53F](https://etherscan.io/address/0xAFF26999780901ee8B48f0a1271a177ff46fD53F#code) #### BridgedToken Addresses: [0x36f274C1C197F277EA3C57859729398FCc8a3763](https://etherscan.io/address/0x36f274C1C197F277EA3C57859729398FCc8a3763#code) Standard implementation used for assets that are native to the other layer and are bridged to this layer. #### ProxyAdmin Addresses: [0x41fAD3Df1B07B647D120D055259E474fE8046eb5](https://etherscan.io/address/0x41fAD3Df1B07B647D120D055259E474fE8046eb5#code) * Roles: * **owner**: Linea Security Council #### LidoStVaultYieldProvider Addresses: [0x486D8cADc10489B30b64c890aEc747F1220eEEC3](https://etherscan.io/address/0x486D8cADc10489B30b64c890aEc747F1220eEEC3#code) Yield provider adaptor, delegatecalled by the YieldManager, that deploys rollup ETH into a Lido V3 staking vault (stVault) and its beacon chain validators. Withdrawals back to the reserve are requested via EIP-7002 partial validator withdrawals, so refilling the reserve is subject to beacon chain latency; while the reserve is in deficit anyone can trigger them with a validator proof. #### L1USDCBridge Addresses: [0x504A330327A089d8364C4ab3811Ee26976d388ce](https://etherscan.io/address/0x504A330327A089d8364C4ab3811Ee26976d388ce#code), [0x66CFD1562d6Aa4629e9e4142662c1A403528Df00](https://etherscan.io/address/0x66CFD1562d6Aa4629e9e4142662c1A403528Df00#code) (Implementation (Upgradable)), [0x41fAD3Df1B07B647D120D055259E474fE8046eb5](https://etherscan.io/address/0x41fAD3Df1B07B647D120D055259E474fE8046eb5#code) (Admin) L1 side of the old and now unused USDC bridge. * Roles: * **admin**: ProxyAdmin; ultimately Linea Security Council Can be upgraded by: Linea Security Council with no delay #### AddressFilter Addresses: [0x526AE78F0103Ae73F05449ae30eb626C1003784E](https://etherscan.io/address/0x526AE78F0103Ae73F05449ae30eb626C1003784E#code) Blocklist consulted by the LineaRollup forced-transaction path: an address on this list cannot force-include transactions from L1, so the contract gates the escape hatch. * Roles: * **defaultAdmin**: EOA 4 #### Delay Addresses: [0x784CCeE002E259Fc38C4b36C2D8bd8a457e55436](https://etherscan.io/address/0x784CCeE002E259Fc38C4b36C2D8bd8a457e55436#code) A simple Safe module for that can queue and execute transactions as Linea Multisig 2 after a delay of currently 3mo, if registered as a module there. * Roles: * **owner**: Linea Multisig 2; ultimately Linea Security Council * **zodiacModule_modules**: Linea Security Council #### UpgradeableBeacon Addresses: [0x971f46a2852d11D59dbF0909e837cfd06f357DeB](https://etherscan.io/address/0x971f46a2852d11D59dbF0909e837cfd06f357DeB#code) A beacon with an upgradeable implementation currently set as BridgedToken. Beacon proxy contracts pointing to this beacon will all use its implementation. * Roles: * **owner**: Linea Security Council #### LineaRollup Addresses: [0xd19d4B5d358258f05D7B411E21A1460D11B0876F](https://etherscan.io/address/0xd19d4B5d358258f05D7B411E21A1460D11B0876F#code), [0x052b73d934E9412045Bf731574463Fd026D74645](https://etherscan.io/address/0x052b73d934E9412045Bf731574463Fd026D74645#code) (Implementation (Upgradable)), [0xF5058616517C068C7b8c7EbC69FF636Ade9066d6](https://etherscan.io/address/0xF5058616517C068C7b8c7EbC69FF636Ade9066d6#code) (Admin) The main contract of the Linea zkEVM rollup. Contains state roots, the verifier addresses and manages messages between L1 and the L2. ETH deployed to the rollup contract can be transfered to a yield protocol. * Roles: * **admin**: ProxyAdmin; ultimately Linea Security Council * **defaultAdmin**: Linea Security Council * **ethStaker**: EOA 5, Linea Security Council * **livenessRecoveryOperator**: CallForwardingProxy * **operators**: EOA 2, EOA 3 * **pauseAll**: EOA 1, Linea Security Council * **securityCouncil**: Linea Security Council * **yieldManagerSetter**: Linea Security Council Can be upgraded by: Linea Security Council with no delay #### Timelock Addresses: [0xd6B95c960779c72B8C6752119849318E5d550574](https://etherscan.io/address/0xd6B95c960779c72B8C6752119849318E5d550574#code) A standard timelock with access control. The current minimum delay is 0s. * Roles: * **canceller**: Linea Security Council * **executor**: Linea Security Council * **proposer**: Linea Multisig 2, Linea Security Council; ultimately Linea Security Council * **timelockAdmin**: Timelock; ultimately Linea Security Council #### YieldManager Addresses: [0xeb63cABDd78537b9b72A2AFB573F7caa91bd8D94](https://etherscan.io/address/0xeb63cABDd78537b9b72A2AFB573F7caa91bd8D94#code), [0x751236A1aFC11B7F1A7630fe87b0Bd96AC5203C4](https://etherscan.io/address/0x751236A1aFC11B7F1A7630fe87b0Bd96AC5203C4#code) (Implementation (Upgradable)), [0xF5058616517C068C7b8c7EbC69FF636Ade9066d6](https://etherscan.io/address/0xF5058616517C068C7b8c7EbC69FF636Ade9066d6#code) (Admin) Manages flows of ETH and staked ETH in and out of rollup contract reserves. Tracks the available ETH balance for L2 exits, configures target parameters for amount of staked ETH, communicates with yield provider adaptors. * Roles: * **admin**: ProxyAdmin; ultimately Linea Security Council * **yieldStakingManager**: Linea Security Council * **yieldStakingOperator**: EOA 5, Linea Security Council Can be upgraded by: Linea Security Council with no delay #### ProxyAdmin Addresses: [0xF5058616517C068C7b8c7EbC69FF636Ade9066d6](https://etherscan.io/address/0xF5058616517C068C7b8c7EbC69FF636Ade9066d6#code) * Roles: * **owner**: Timelock ### Linea #### ProxyAdmin Addresses: [0x1E1f6F22f97b4a7522D8B62e983953639239774E](https://lineascan.build/address/0x1E1f6F22f97b4a7522D8B62e983953639239774E#code) * Roles: * **owner**: L2Timelock #### TokenBridge Addresses: [0x353012dc4a9A6cF55c941bADC267f82004A8ceB9](https://lineascan.build/address/0x353012dc4a9A6cF55c941bADC267f82004A8ceB9#code), [0x4a496167F187A97379e763f693A499cE1182848b](https://lineascan.build/address/0x4a496167F187A97379e763f693A499cE1182848b#code) (Implementation (Upgradable)), [0x1E1f6F22f97b4a7522D8B62e983953639239774E](https://lineascan.build/address/0x1E1f6F22f97b4a7522D8B62e983953639239774E#code) (Admin) Contract used to bridge and escrow ERC-20 tokens. * Roles: * **admin**: ProxyAdmin; ultimately Linea Multisig 3 * **allPausers**: EOA 6, Linea Multisig 3 * **allUnpausers**: Linea Multisig 3 * **completeTokenBridgingPausers**: Linea Multisig 3 * **completeTokenBridgingUnpausers**: Linea Multisig 3 * **customContractSetters**: Linea Multisig 3, Linea Multisig 4 * **defaultAdmin**: Linea Multisig 3 * **initiateTokenBridgingPausers**: Linea Multisig 3 * **initiateTokenBridgingUnpausers**: Linea Multisig 3 * **messageServiceSetters**: Linea Multisig 3 * **reserveTokenRemovers**: Linea Multisig 3, Linea Multisig 4 * **reserveTokenSetters**: Linea Multisig 3, Linea Multisig 4 Can be upgraded by: Linea Multisig 3 with no delay #### L2MessageService Addresses: [0x508Ca82Df566dCD1B0DE8296e70a96332cD644ec](https://lineascan.build/address/0x508Ca82Df566dCD1B0DE8296e70a96332cD644ec#code), [0x9976fD7edDb78156a002DE74c9158E884702273d](https://lineascan.build/address/0x9976fD7edDb78156a002DE74c9158E884702273d#code) (Implementation (Upgradable)), [0x1E1f6F22f97b4a7522D8B62e983953639239774E](https://lineascan.build/address/0x1E1f6F22f97b4a7522D8B62e983953639239774E#code) (Admin) * Roles: * **admin**: ProxyAdmin; ultimately Linea Multisig 3 * **l1l2MessageSetter**: EOA 7 Can be upgraded by: Linea Multisig 3 with no delay #### L2USDCBridge Addresses: [0xA2Ee6Fce4ACB62D95448729cDb781e3BEb62504A](https://lineascan.build/address/0xA2Ee6Fce4ACB62D95448729cDb781e3BEb62504A#code), [0x1998108fA7993EA67a8B1a99d392a3288C5a5521](https://lineascan.build/address/0x1998108fA7993EA67a8B1a99d392a3288C5a5521#code) (Implementation (Upgradable)), [0xcB04d0AD0D3ceA5aEc1B480957Ddb20CA47EA30c](https://lineascan.build/address/0xcB04d0AD0D3ceA5aEc1B480957Ddb20CA47EA30c#code) (Admin) L2 side of the old and now unused USDC bridge. * Roles: * **admin**: ProxyAdmin; ultimately Linea Multisig 3 Can be upgraded by: Linea Multisig 3 with no delay #### L2Timelock Addresses: [0xc808BfCBeD34D90fa9579CAa664e67B9A03C56ca](https://lineascan.build/address/0xc808BfCBeD34D90fa9579CAa664e67B9A03C56ca#code) A standard timelock with access control. The current minimum delay is 0s. * Roles: * **canceller**: Linea Multisig 3 * **executor**: Linea Multisig 3 * **proposer**: Linea Multisig 3, Linea Multisig 4 * **timelockAdmin**: L2Timelock; ultimately Linea Multisig 3 #### ProxyAdmin Addresses: [0xcB04d0AD0D3ceA5aEc1B480957Ddb20CA47EA30c](https://lineascan.build/address/0xcB04d0AD0D3ceA5aEc1B480957Ddb20CA47EA30c#code) * Roles: * **owner**: Linea Multisig 3 #### LineaVoyageXP Addresses: [0xd83af4fbD77f3AB65C3B1Dc4B38D7e67AEcf599A](https://lineascan.build/address/0xd83af4fbD77f3AB65C3B1Dc4B38D7e67AEcf599A#code) Voyage XP tokens are non-transferrable, soulbound tokens that are distributed to recognize the community’s contribution toward the growth of the Linea ecosystem. #### BridgedToken Addresses: [0xda8AEFCf0F9B0b81915a2C124f913e58212D49dF](https://lineascan.build/address/0xda8AEFCf0F9B0b81915a2C124f913e58212D49dF#code) Standard implementation used for assets that are native to the other layer and are bridged to this layer. #### UpgradeableBeacon Addresses: [0xE798695d2e78f7caeb5BbF3385433959324c02c0](https://lineascan.build/address/0xE798695d2e78f7caeb5BbF3385433959324c02c0#code) A beacon with an upgradeable implementation currently set as BridgedToken. Beacon proxy contracts pointing to this beacon will all use its implementation. * Roles: * **owner**: Linea Multisig 3 The current deployment carries some associated risks: - Funds can be stolen if a contract receives a malicious code upgrade. There is a 0s delay on code upgrades.