# Scroll Markdown version of https://l2beat.com/layer2s/projects/scroll ## Summary - Total Value Secured: $41.28 M (-10.7% compared to seven days ago; canonically bridged $34.31 M, natively minted $4.27 M, externally bridged $2.69 M; 6.52% with additional trust assumptions compared to the tokens involved and the Stage assigned to the project's canonical messaging bridge) - TVS by asset: ETH & derivatives $27.57 M (66.7%), Stablecoins $9.05 M (21.9%), BTC & derivatives $338.82 K (0.82%), Other $4.31 M (10.4%) - Associated tokens: SCR: $4.27 M (10.3% of TVS) - Past day UOPS: 0.16 (+34.9% compared to seven days ago) - Stage: Stage 0 - Gas token: ETH - Type: ZK Rollup - Purpose: Universal - Host chain: Ethereum - Chain ID: 534352 ### Risks - Sequencer failure: Self sequence (sentiment: good) - State validation: Validity proofs (ST, SN) (No execution delay; sentiment: good) - Data availability: Onchain (sentiment: good) - Exit window: None (sentiment: bad) - Proposer failure: Self propose (sentiment: good) ### About Scroll is a ZK Rollup that extends Ethereum’s capabilities through ZK tech and EVM compatibility. ### Links - Website: https://scroll.io - Bridge: https://scroll.io/bridge - Docs: https://docs.scroll.io/en/home/ - Explorer: https://scrollscan.com/, https://scroll.blockscout.com/, https://okx.com/web3/explorer/scroll - Repository: https://github.com/scroll-tech/scroll, https://github.com/scroll-tech/zkvm-prover, https://github.com/scroll-tech/go-ethereum, https://github.com/scroll-tech/frontends, https://github.com/scroll-tech - Social: https://discord.gg/scroll, https://twitter.com/Scroll_ZKP, https://youtube.com/@Scroll_ZKP - Other: https://rollup.codes/scroll, https://forum.scroll.io, https://growthepie.com/chains/scroll - Contracts explorer (Disco): https://disco.l2beat.com/ui/p/scroll ### Badges - EVM: This project uses the Ethereum Virtual Machine to run its smart contracts and supports the Solidity programming language - Ethereum with blobs: This project is posting its data to Ethereum as blobs - L3 Host Chain: This project serves as a host chain for L3s ## Value Secured The interactive TVS charts are shown on [the HTML page](https://l2beat.com/layer2s/projects/scroll#tvs). Token by token: [TVS breakdown](https://l2beat.com/layer2s/projects/scroll/tvs-breakdown). - [TVS chart (JSON)](https://l2beat.com/api/scaling/tvs/scroll) - [TVS breakdown by token (JSON)](https://l2beat.com/api/scaling/tvs/scroll/breakdown) ## Activity The interactive activity chart is shown on [the HTML page](https://l2beat.com/layer2s/projects/scroll#activity). - [Activity chart (JSON)](https://l2beat.com/api/scaling/activity/scroll) ## Onchain costs The section shows the operating costs that L2s pay to Ethereum. The interactive costs chart is shown on [the HTML page](https://l2beat.com/layer2s/projects/scroll#onchain-costs). ### Tracked transactions #### Batch submissions - functionCall: 2023-10-08 16:25 UTC - 2024-08-21 08:00 UTC; historical; address: [0xa13BAF47339d63B743e7Da8741db5456DAc1E556](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556); selector: 0x1325aca0; signature: `function commitBatch(uint8 _version,bytes _parentBatchHeader,bytes[] _chunks,bytes _skippedL1MessageBitmap)` - functionCall: 2024-08-21 08:03 UTC - 2025-04-22 07:05 UTC; historical; address: [0xa13BAF47339d63B743e7Da8741db5456DAc1E556](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556); selector: 0x86b053a9; signature: `function commitBatchWithBlobProof(uint8,bytes,bytes[],bytes,bytes)` - functionCall: 2025-04-22 07:58 UTC - now; currently used; address: [0xa13BAF47339d63B743e7Da8741db5456DAc1E556](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556); selector: 0x9bbaa2ba; signature: `function commitBatches(uint8 version, bytes32 parentBatchHash, bytes32 lastBatchHash)` #### State updates - functionCall: 2023-10-08 16:25 UTC - 2024-08-21 08:03 UTC; historical; address: [0xa13BAF47339d63B743e7Da8741db5456DAc1E556](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556); selector: 0x31fa742d; signature: `function finalizeBatchWithProof(bytes _batchHeader,bytes32 _prevStateRoot,bytes32 _postStateRoot,bytes32 _withdrawRoot,bytes _aggrProof)` - functionCall: 2024-04-29 03:45 UTC - 2024-08-21 08:37 UTC; historical; address: [0xa13BAF47339d63B743e7Da8741db5456DAc1E556](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556); selector: 0x00b0f4d7; signature: `function finalizeBatchWithProof4844(bytes _batchHeader, bytes32 _prevStateRoot, bytes32 _postStateRoot, bytes32 _withdrawRoot, bytes _blobDataProof, bytes _aggrProof)` - functionCall: 2024-08-21 08:03 UTC - 2025-04-22 08:06 UTC; historical; address: [0xa13BAF47339d63B743e7Da8741db5456DAc1E556](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556); selector: 0x4f099e3d; signature: `function finalizeBundleWithProof(bytes,bytes32,bytes32,bytes)` - functionCall: 2025-04-22 10:05 UTC - now; currently used; address: [0xa13BAF47339d63B743e7Da8741db5456DAc1E556](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556); selector: 0xc1aa4e19; signature: `function finalizeBundlePostEuclidV2(bytes,uint256,bytes32,bytes32,bytes)` ## Data posted This section shows how much data the project publishes to Ethereum over time. It leaves out data posted to other data-availability (DA) layers. The project currently posts data to [Ethereum](https://l2beat.com/projects/ethereum). The interactive data posted chart is shown on [the HTML page](https://l2beat.com/layer2s/projects/scroll#data-posted). ### Tracked transactions #### Blob submissions - DA layer Ethereum: from block 0 to now; currently used; inbox: [0xa13BAF47339d63B743e7Da8741db5456DAc1E556](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556); sequencers: [0x054a47B9E2a22aF6c0CE55020238C8FEcd7d334B](https://etherscan.io/address/0x054a47B9E2a22aF6c0CE55020238C8FEcd7d334B), [0xE514A8aE91d164C6Fb48a7DE336e10C34AF4e858](https://etherscan.io/address/0xE514A8aE91d164C6Fb48a7DE336e10C34AF4e858) ## Liveness This section shows how "live" the project's operators are by displaying how frequently they submit transactions of the selected type. It also highlights anomalies - significant deviations from their typical schedule. No ongoing anomalies detected. The interactive liveness chart is shown on [the HTML page](https://l2beat.com/layer2s/projects/scroll#liveness). ### Tracked transactions #### Batch submissions - functionCall: 2023-10-08 16:25 UTC - 2024-08-21 08:00 UTC; historical; address: [0xa13BAF47339d63B743e7Da8741db5456DAc1E556](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556); selector: 0x1325aca0; signature: `function commitBatch(uint8 _version,bytes _parentBatchHeader,bytes[] _chunks,bytes _skippedL1MessageBitmap)` - functionCall: 2024-08-21 08:03 UTC - 2025-04-22 07:05 UTC; historical; address: [0xa13BAF47339d63B743e7Da8741db5456DAc1E556](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556); selector: 0x86b053a9; signature: `function commitBatchWithBlobProof(uint8,bytes,bytes[],bytes,bytes)` - functionCall: 2025-04-22 07:58 UTC - now; currently used; address: [0xa13BAF47339d63B743e7Da8741db5456DAc1E556](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556); selector: 0x9bbaa2ba; signature: `function commitBatches(uint8 version, bytes32 parentBatchHash, bytes32 lastBatchHash)` #### State updates - functionCall: 2023-10-08 16:25 UTC - 2024-08-21 08:03 UTC; historical; address: [0xa13BAF47339d63B743e7Da8741db5456DAc1E556](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556); selector: 0x31fa742d; signature: `function finalizeBatchWithProof(bytes _batchHeader,bytes32 _prevStateRoot,bytes32 _postStateRoot,bytes32 _withdrawRoot,bytes _aggrProof)` - functionCall: 2024-04-29 03:45 UTC - 2024-08-21 08:37 UTC; historical; address: [0xa13BAF47339d63B743e7Da8741db5456DAc1E556](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556); selector: 0x00b0f4d7; signature: `function finalizeBatchWithProof4844(bytes _batchHeader, bytes32 _prevStateRoot, bytes32 _postStateRoot, bytes32 _withdrawRoot, bytes _blobDataProof, bytes _aggrProof)` - functionCall: 2024-08-21 08:03 UTC - 2025-04-22 08:06 UTC; historical; address: [0xa13BAF47339d63B743e7Da8741db5456DAc1E556](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556); selector: 0x4f099e3d; signature: `function finalizeBundleWithProof(bytes,bytes32,bytes32,bytes)` - functionCall: 2025-04-22 10:05 UTC - now; currently used; address: [0xa13BAF47339d63B743e7Da8741db5456DAc1E556](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556); selector: 0xc1aa4e19; signature: `function finalizeBundlePostEuclidV2(bytes,uint256,bytes32,bytes32,bytes)` ## Milestones & Incidents - 2026-06-01 (incident): [Security Council removal](https://etherscan.io/tx/0xbc6079d54f7a5fc548402db349168732c3f02430c156f4723865934bdb373765). Independent 9-of-12 Security Council replaced by a 3-of-4 team admin multisig; drops to Stage 0. - 2026-02-23 (incident): [Emergency verifier upgrade](https://etherscan.io/tx/0x74e5de74ff014b78b3bfcde9e3bf3c83f60ce10345ec10148ea918abeb2a9799). Emergency verifier replacement due to a bug in the guest prover program. - 2025-12-04: [Proposal: Galileo Upgrade](https://gov.scroll.io/proposals/72907322044331380548190357610154468026012921395152333929550231764240959817459). A core protocol upgrade improving sequencer efficiency, prover performance, and rollup fee accuracy. - 2025-08-18: [Scroll Feynman upgrade](https://forum.scroll.io/t/proposal-feynman-upgrade/957). Feynman upgrade to improve the fee model and EVM compatibility. - 2025-08-09 (incident): [Emergency verifier upgrade](https://etherscan.io/tx/0x3367e24b6cb138cea321f4556259660f24aba1b79ccce8f798ed135e28905f17). The SecurityCouncil emergency upgrades to fix a bug in the verifier. - 2025-08-01: [Access control upgrade](https://etherscan.io/tx/0x13c8a293bc6a367eb2510a2bd71cacefbe9705588a574696e790db820b3f520d). Scroll Security Council upgrades permissions to regain Stage 1 status. - 2025-05-26 (incident): [Emergency upgrade](https://forum.scroll.io/t/security-council-report-scroll-mainnet-emergency-upgrade-on-2025-05-26/810). The SecurityCouncil emergency upgrades to fix a bug in the plonky3-based proof system. - 2025-04-24: [Scroll Euclid upgrade](https://scroll.io/blog/euclid-upgrade). Scroll becomes Stage 1 by improving permissions and introducing enforced batch mode. - 2024-10-19: [SCR token launch](https://scroll.io/blog/scr-token). Scroll launches its SCR token. - 2024-08-21: [Darwin upgrade](https://scroll.io/blog/proof-recursion-scrolls-darwin-upgrade). Introduces a reduction in gas fees through bundling multiple batches into a single validity proof. - 2024-07-05 (incident): [Batches reverted](https://status.scroll.io/incidents/44k6s4qg6kcs). To fix a bug in the compression, 55 previously committed batches are reverted. - 2024-07-03: [Curie upgrade](https://scroll.io/blog/compressing-the-gas-scrolls-curie-upgrade). Introduces data compression, new opcodes, dynamic block time, and new transaction types. - 2024-04-29: [Bernoulli upgrade](https://scroll.io/blog/blobs-are-here-scrolls-bernoulli-upgrade). Introduces EIP-4844 data blobs for L1 data availability, and the SHA2-256 precompile on L2. - 2023-10-17: [Scroll official launch](https://x.com/Scroll_ZKP/status/1714286874020528554). Scroll announces its official launch. - 2023-02-27: [Scroll Alpha testnet launch](https://scroll.io/blog/alphaTestnet). Scroll launches its Alpha testnet on Goerli. ## Risk summary ### Funds can be stolen if 1. a contract receives a malicious code upgrade. There is no delay on code upgrades (CRITICAL). ### MEV can be extracted if 2. the operator exploits their centralized position and frontruns user transactions. ## Risk analysis ### Sequencer failure Self sequence (sentiment: good) In the event of a sequencer failure, users can force transactions to be included in the project's chain by sending them to L1. There can be up to a 7d delay on this operation. Proposing new blocks requires creating ZK proofs. ### State validation Validity proofs (ST, SN) (No execution delay; sentiment: good) STARKs and SNARKs are zero knowledge proofs that ensure state correctness. STARKs proofs are wrapped in SNARKs proofs for efficiency. SNARKs require a trusted setup. ### Data availability Onchain (sentiment: good) All of the data needed for proof construction is published on Ethereum L1. ### 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 Self propose (sentiment: good) If the Proposer fails, users can leverage the source available prover to submit proofs to the L1 bridge. ## Stage Scroll is a Stage 0 ZK Rollup. ### Scope of assessment #### In scope - Ability to deposit, spend, and withdraw the gas token (ETH) - Upgradability of L1 and L2 core contracts - Forced transaction mechanism via L1 #### Not in scope - Upgradability of other external ERC20 token contracts ### Stage 0 5 requirements met. - Met: A complete and functional proof system is deployed. - Met: The project calls itself a rollup. - Met: State roots are posted to Ethereum L1. - Met: Inputs for the state transition function are posted to Ethereum L1. - Met: 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/scroll-tech/go-ethereum) ### Stage 1 4 issues need fixing. **Principle** - Issue: 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. **Guidelines** - Met: 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). - Met: Prover source code is published. - Met: Onchain verifiers' smart contracts can be independently regenerated from the verifier source code. - Met: The sources of all programs used are public and program hashes can be independently regenerated. - Issue: Users' withdrawals can be censored by the permissioned operators. - Issue: 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. - Issue: On 2026-06-01, Scroll replaced its independent 9-of-12 Security Council with a 3-of-4 multisig of Scroll team members (ScrollAdminMultisig, 0xcca54B...). The new entity does not meet the size or organisational-diversity requirements of a Security Council. ### Stage 2 2 issues need fixing. - Issue: Upgrades unrelated to onchain provable bugs provide less than 30d to exit. - Issue: The Security Council's actions are not confined to onchain provable bugs. [Learn more about Stages](https://l2beat.com/stages). Please keep in mind that these stages do not reflect project security, this is an opinionated assessment of project maturity based on subjective criteria, created with a goal of incentivizing projects to push toward better decentralization. Each team may have taken different paths to achieve this goal. ## 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** - [ScrollChain.sol - Etherscan source code commitBatches() function](https://etherscan.io/address/0x0a20703878E68E587c59204cc0EA86098B8c3bA7#code) Learn more about the DA layer here: [Ethereum](https://l2beat.com/projects/ethereum) ## State derivation ### Node software The node software to reconstruct the state is available [here](https://github.com/scroll-tech/go-ethereum). Note that it uses the L2 p2p network to fetch blocks, and not the L1 network. The consistency with L1 data can be checked by running the [scroll-geth node](https://github.com/scroll-tech/go-ethereum) with the `--rollup.verify` flag. ### Compression scheme Data batches are compressed using the [zstd](https://github.com/facebook/zstd) algorithm. ### Genesis state The genesis file can be found [here](https://scrollzkp.notion.site/genesis-json-f89ca24b123f462f98c8844d17bdbb74), which contains two prefunded addresses and five predeployed contracts. ### Data format Blocks are grouped into chunks, chunks are grouped into batches, and batches are grouped into bundles. Chunk encoding format can be found [here](https://github.com/scroll-tech/scroll-contracts/blob/main/src/libraries/codec/ChunkCodecV0.sol#L5), and batch encoding format can be found [here](https://github.com/scroll-tech/da-codec/blob/main/encoding/codecv7_types.go#L20). ## 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 prover code can be found [here](https://github.com/scroll-tech/zkvm-prover/tree/master/crates/prover). ### ZK Circuits Scroll circuits are [OpenVM](https://book.openvm.dev/)-based Guest Programs that use the OpenVM prover. The source code of the base circuits can be found [here](https://github.com/scroll-tech/zkvm-prover/tree/master/crates/circuits). ### Verification Keys Generation SNARK verification keys can be generated and checked against Ethereum verifier contract using [this guide](https://github.com/scroll-tech/openvm/blob/66a8134a515c9f699d572e7f681311a04df3aef8/book/src/advanced-usage/sdk.md?plain=1#L99). The system requires a trusted setup. ### 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** - [ScrollChain.sol - Etherscan source code, verifyAggregateProof() and verifyBundleProof() calls](https://etherscan.io/address/0x0a20703878E68E587c59204cc0EA86098B8c3bA7#code) ### Prover: [OpenVM](https://l2beat.com/zk-catalog/openvmprover) #### Trusted setups - Halo2 (Plonk): - Halo2 KZG over BN254, risk yellow (medium risk) per the [Trusted Setups Risk Framework](https://forum.l2beat.com/t/the-trusted-setups-framework-for-zk-catalog/381): Trusted setup for KZG commitments managed by Halo2 team on the base of the first 71 contributions to the Perpetual Powers of Tau contributions. - Onchain verifiers: [PlonkVerifierOpenVMv2](https://etherscan.io/address/0x0d2A59fd7060460F07c30C2817b4E79576da01C6#code) (1 successful), [PlonkVerifierPostEuclid-2](https://etherscan.io/address/0x39854DF30b3482Ef546F68B8981Fae5A2C426eA4#code) (1 successful (verified by [L2BEAT](https://l2beat.com))), [PlonkVerifierGalileo](https://etherscan.io/address/0x749fC77A1a131632a8b88e8703E489557660C75e#code) (1 successful (verified by [L2BEAT](https://l2beat.com))) - Used in: [Scroll](https://l2beat.com/layer2s/projects/scroll) - Verifiers: 3 successful (verified by [L2BEAT](https://l2beat.com)) ### Program Hashes #### Executable of the Scroll bundle program v0.5.2 Proves the correct execution of a bundle of Scroll L2 blocks, which is the unit of L2 state finalisation from L1’s perspective. - Hash: `0x003ac2e012d8a7fb1495d94839fe36559b52fd6d60a532884c7558de2b88bf72` - Repository: https://github.com/scroll-tech/zkvm-prover/tree/0.5.2/crates/circuits/bundle-circuit - Verification: successful - Used in: [Scroll](https://l2beat.com/layer2s/projects/scroll) ##### Verification steps Steps due to the guide here: [https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174](https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174). 1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) and make sure it is running `docker ps`. 2. Checkout the correct branch in [zkvm-prover](https://github.com/scroll-tech/zkvm-prover/tree/master) repo: `git checkout 0.5.2` Commit hash should be `8f29f60cc73495e8586338a67433a812097427c4`. 3. Build the guest programs from the root repo dir: `make build-guest`. It will regenerate `bundle_exe_commit.rs`. 4. Run `compress_commitment` function from [https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174](https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174) on the `COMMIT` array from the previous step to generate `digest_2` value. A sample rust implementation is: ``` use openvm_stark_sdk::p3_baby_bear::BabyBear; use openvm_stark_sdk::p3_bn254_fr::Bn254Fr; use openvm_stark_sdk::openvm_stark_backend::p3_field::FieldAlgebra; use openvm_stark_sdk::openvm_stark_backend::p3_field::PrimeField32; fn compress_commitment(commitment: &[u32; 8]) -> Bn254Fr { let order = Bn254Fr::from_canonical_u64(BabyBear::ORDER_U32 as u64); let mut base = Bn254Fr::ONE; // from PrimeCharacteristicRing let mut compressed = Bn254Fr::ZERO; // from PrimeCharacteristicRing for val in commitment { compressed += Bn254Fr::from_canonical_u64(*val as u64) * base; base *= order; } compressed } ``` #### Config of the Scroll bundle program v0.5.2 This is not a ZK program, but a commitment to the config of Scroll bundle program (bundle leaf commitment). It also needs to be checked to verify the expected ZK verification. - Hash: `0x009305f0762291e3cdd805ff6d6e81f1d135dbfdeb3ecf30ad82c3855dde7909` - Repository: https://github.com/scroll-tech/zkvm-prover/tree/0.5.2/crates/circuits/bundle-circuit - Verification: successful - Used in: [Scroll](https://l2beat.com/layer2s/projects/scroll) ##### Verification steps Steps due to the guide here: [https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174](https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174). 1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) and make sure it is running `docker ps`. 2. Checkout the correct branch in [zkvm-prover](https://github.com/scroll-tech/zkvm-prover/tree/master) repo: `git checkout 0.5.2` Commit hash should be `8f29f60cc73495e8586338a67433a812097427c4`. 3. Build the guest programs from the root repo dir: `make build-guest`. It will regenerate `circuits/bundle-circuit/bundle_leaf_commit.rs`. 4. Run `compress_commitment` function from [https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174](https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174) on the `COMMIT` array from the previous step to generate `digest_2` value. A sample rust implementation is: ``` use openvm_stark_sdk::p3_baby_bear::BabyBear; use openvm_stark_sdk::p3_bn254_fr::Bn254Fr; use openvm_stark_sdk::openvm_stark_backend::p3_field::FieldAlgebra; use openvm_stark_sdk::openvm_stark_backend::p3_field::PrimeField32; fn compress_commitment(commitment: &[u32; 8]) -> Bn254Fr { let order = Bn254Fr::from_canonical_u64(BabyBear::ORDER_U32 as u64); let mut base = Bn254Fr::ONE; // from PrimeCharacteristicRing let mut compressed = Bn254Fr::ZERO; // from PrimeCharacteristicRing for val in commitment { compressed += Bn254Fr::from_canonical_u64(*val as u64) * base; base *= order; } compressed } ``` #### Executable of the Scroll bundle program v0.7.1 Proves the correct execution of a bundle of Scroll L2 blocks, which is the unit of L2 state finalisation from L1’s perspective. - Hash: `0x0062333dc88631be7af046cc8d3c24f346de172aa2030a28b445ab500889d297` - Repository: https://github.com/scroll-tech/zkvm-prover/tree/v0.7.1/crates/circuits/bundle-circuit - Verification: successful - Used in: [Scroll](https://l2beat.com/layer2s/projects/scroll) ##### Verification steps Steps due to the guide here: [https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174](https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174). Although the guide below uses docker for reproducable builds, we failed to obtain the correct program hash on a MacOS machine. The steps below work only for a Linux OS (e.g. Ubuntu). 1. On a Linux machine, install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) and make sure it is running `docker ps`. 2. Checkout the correct branch in [zkvm-prover](https://github.com/scroll-tech/zkvm-prover/tree/master) repo: `git checkout 0.7.1` Commit hash should be `85dc6bc56728b8eef22281fdb215c136d7b5bbda`. 3. Build the guest programs from the root repo dir: `make build-guest`. It will regenerate `circuits/bundle-circuit/bundle_leaf_commit.rs`. 4. Run `compress_commitment` function from [https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174](https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174) on the `COMMIT` array from the previous step to generate `digest_2` value. A sample rust implementation is: ``` use openvm_stark_sdk::p3_baby_bear::BabyBear; use openvm_stark_sdk::p3_bn254_fr::Bn254Fr; use openvm_stark_sdk::openvm_stark_backend::p3_field::FieldAlgebra; use openvm_stark_sdk::openvm_stark_backend::p3_field::PrimeField32; fn compress_commitment(commitment: &[u32; 8]) -> Bn254Fr { let order = Bn254Fr::from_canonical_u64(BabyBear::ORDER_U32 as u64); let mut base = Bn254Fr::ONE; // from PrimeCharacteristicRing let mut compressed = Bn254Fr::ZERO; // from PrimeCharacteristicRing for val in commitment { compressed += Bn254Fr::from_canonical_u64(*val as u64) * base; base *= order; } compressed } ``` #### Executable of the Scroll bundle program v0.9.1 Proves the correct execution of a bundle of Scroll L2 blocks, which is the unit of L2 state finalisation from L1’s perspective. - Hash: `0x006770fb0f71f20718b614c8c5d3fb39482f0527806e67b0ea00ab5508245655` - Repository: https://github.com/scroll-tech/zkvm-prover/tree/v0.9.1/crates/circuits/bundle-circuit - Verification: successful - Used in: [Scroll](https://l2beat.com/layer2s/projects/scroll) ##### Verification steps Steps due to the guide here: [https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174](https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174). The steps below work only for Linux OS (linux/amd64). 1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) and make sure it is running `docker ps`. 2. Checkout the correct commit in [zkvm-prover](https://github.com/scroll-tech/zkvm-prover/tree/master) repo: `git checkout v0.9.1` (commit `bf887150bb671af9b17dd53e92b7f2bbf01ec745`). 3. Build the guest programs from the root repo dir: `make build-guest`. It will regenerate `crates/circuits/bundle-circuit/bundle_exe_commit.rs`. The rebuilt file is byte-identical to the one committed in the repo, with `COMMIT` array `[230646913, 1550155984, 1593546189, 445636947, 993877920, 922842868, 418587344, 1363280000]`. 4. Run `compress_commitment` function from [https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174](https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174) on the `COMMIT` array from the previous step to generate `digest_2` value. A sample rust implementation is: ``` use openvm_stark_sdk::p3_baby_bear::BabyBear; use openvm_stark_sdk::p3_bn254_fr::Bn254Fr; use openvm_stark_sdk::openvm_stark_backend::p3_field::FieldAlgebra; use openvm_stark_sdk::openvm_stark_backend::p3_field::PrimeField32; fn compress_commitment(commitment: &[u32; 8]) -> Bn254Fr { let order = Bn254Fr::from_canonical_u64(BabyBear::ORDER_U32 as u64); let mut base = Bn254Fr::ONE; // from PrimeCharacteristicRing let mut compressed = Bn254Fr::ZERO; // from PrimeCharacteristicRing for val in commitment { compressed += Bn254Fr::from_canonical_u64(*val as u64) * base; base *= order; } compressed } ``` #### Config of the Scroll bundle program v0.9.1 This is not a ZK program, but a commitment to the config of Scroll bundle program (bundle leaf commitment). It also needs to be checked to verify the expected ZK verification. - Hash: `0x00488b196ca5b2ea1fda4c960fe2e1b0b9715c0428a8ec6fb01a64684f8533f7` - Repository: https://github.com/scroll-tech/zkvm-prover/tree/v0.9.1/crates/circuits/bundle-circuit - Verification: successful - Used in: [Scroll](https://l2beat.com/layer2s/projects/scroll) ##### Verification steps Steps due to the guide here: [https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174](https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174). The steps below work only for Linux OS (linux/amd64). 1. On a Linux machine, install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) and make sure it is running `docker ps`. 2. Checkout the correct commit in [zkvm-prover](https://github.com/scroll-tech/zkvm-prover/tree/master) repo: `git checkout v0.9.1` (commit `bf887150bb671af9b17dd53e92b7f2bbf01ec745`). 3. Build the guest programs from the root repo dir: `make build-guest`. It will regenerate `crates/circuits/bundle-circuit/bundle_vm_commit.rs`. The rebuilt file is byte-identical to the one committed in the repo, with `COMMIT` array `[1986621377, 858531750, 1460740544, 1489416258, 402142684, 1028207948, 2010771520, 956067622]`. 4. Run `compress_commitment` function from [https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174](https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174) on the `COMMIT` array from the previous step to generate `digest_2` value. A sample rust implementation is: ``` use openvm_stark_sdk::p3_baby_bear::BabyBear; use openvm_stark_sdk::p3_bn254_fr::Bn254Fr; use openvm_stark_sdk::openvm_stark_backend::p3_field::FieldAlgebra; use openvm_stark_sdk::openvm_stark_backend::p3_field::PrimeField32; fn compress_commitment(commitment: &[u32; 8]) -> Bn254Fr { let order = Bn254Fr::from_canonical_u64(BabyBear::ORDER_U32 as u64); let mut base = Bn254Fr::ONE; // from PrimeCharacteristicRing let mut compressed = Bn254Fr::ZERO; // from PrimeCharacteristicRing for val in commitment { compressed += Bn254Fr::from_canonical_u64(*val as u64) * base; base *= order; } compressed } ``` ## Upgrades & Governance All core contracts in the Scroll protocol are upgradable by the `ProxyAdmin`, which is controlled by the `ScrollAdminMultisig` through the `ScrollOwner` contract. The ScrollOwner is a central governance contract controlled by four distinct Timelocks: two governed by the `ScrollAdminMultisig` and two by the Scroll team multisigs. Each multisig can initiate specific types of changes with differing delay guarantees. On 2026-06-01, Scroll removed its independent 9-of-12 Security Council and transferred its roles on the `TimelockSCSlow` (3d execution delay) and `TimelockSCEmergency` (No execution delay) on both chains to the `ScrollAdminMultisig`, along with admin of the L2 `AgoraGovernor`. Emergency pause of core contracts is managed through the `PauseController`, which allows the team to pause batch commitment and finalization in permissioned mode, as well as L1->L2 messaging. Each pause is subject to a cooldown period of 1mo execution delay, during which the `ScrollAdminMultisig` can unpause. SCR token holders perform onchain voting on governance proposals through the `AgoraGovernor` contract on L2. However, onchain governance proposals do not contain transaction payloads, so onchain voting only acts as an onchain temperature check. ### Past upgrades The metrics include upgrades on the currently used proxy contracts. Historical proxy contracts and changes of such are not included. - Count of upgrades: 42 - Last upgrade: 8mo 11d ago - Avg upgrade interval: 1y - 2026-02-05 06:11 UTC, upgrade of [L1USDCGateway](https://etherscan.io/address/0xbc4b3d9A89F187dBaA0D2E60985Ea1FFFa5247d2#code): transaction [0x70c181a1601d8143c2cc34fe05dde3cf82acf27bf22173b08d58d93c7cd1190b](https://etherscan.io/tx/0x70c181a1601d8143c2cc34fe05dde3cf82acf27bf22173b08d58d93c7cd1190b), implementations: [0x4a5810F71B6836027c26C25bFF9708dFcD2B5432](https://etherscan.io/address/0x4a5810F71B6836027c26C25bFF9708dFcD2B5432#code) ([diff](https://disco.l2beat.com/diff/eth:0xFAf8f72e54d1089fa1882b6f597BfDFF59a8AFca/eth:0x4a5810F71B6836027c26C25bFF9708dFcD2B5432)) - 2026-02-05 06:06 UTC, deployment of [L1USDCGateway](https://etherscan.io/address/0xbc4b3d9A89F187dBaA0D2E60985Ea1FFFa5247d2#code): transaction [0x12105e604379a7b159368733c02a2186001c80c95599fb07c6e2cd36169baf70](https://etherscan.io/tx/0x12105e604379a7b159368733c02a2186001c80c95599fb07c6e2cd36169baf70), implementations: [0xFAf8f72e54d1089fa1882b6f597BfDFF59a8AFca](https://etherscan.io/address/0xFAf8f72e54d1089fa1882b6f597BfDFF59a8AFca#code) - 2025-08-18 02:46 UTC, upgrade of [L1MessageQueueV2](https://etherscan.io/address/0x56971da63A3C0205184FEF096E9ddFc7A8C2D18a#code): transaction [0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c](https://etherscan.io/tx/0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c), implementations: [0x39C36c9026ac18104839A50c61a4507ea5052ECa](https://etherscan.io/address/0x39C36c9026ac18104839A50c61a4507ea5052ECa#code) ([diff](https://disco.l2beat.com/diff/eth:0xEfA158006b072793a49E622B26761cD0eC38591d/eth:0x39C36c9026ac18104839A50c61a4507ea5052ECa)) - 2025-08-18 02:46 UTC, upgrade of [L1ScrollMessenger](https://etherscan.io/address/0x6774Bcbd5ceCeF1336b5300fb5186a12DDD8b367#code): transaction [0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c](https://etherscan.io/tx/0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c), implementations: [0x79b6eAbfFAa958FDF2Aa2Bf632878bD323DCbF69](https://etherscan.io/address/0x79b6eAbfFAa958FDF2Aa2Bf632878bD323DCbF69#code) ([diff](https://disco.l2beat.com/diff/eth:0x84791281EF5cb8Af5dCd4c122f7A42FeD38Fef5b/eth:0x79b6eAbfFAa958FDF2Aa2Bf632878bD323DCbF69)) - 2025-08-18 02:46 UTC, upgrade of [SystemConfig](https://etherscan.io/address/0x8432728A257646449245558B8b7Dbe51A16c7a4D#code): transaction [0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c](https://etherscan.io/tx/0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c), implementations: [0xf15a4b6D1fE2Ca6eE38BC3fb957f43F58b515eeE](https://etherscan.io/address/0xf15a4b6D1fE2Ca6eE38BC3fb957f43F58b515eeE#code) ([diff](https://disco.l2beat.com/diff/eth:0x6A124779fDf107c3F6BcB992731dCAaD09f2276A/eth:0xf15a4b6D1fE2Ca6eE38BC3fb957f43F58b515eeE)) - 2025-08-18 02:46 UTC, upgrade of [ScrollChain](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556#code): transaction [0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c](https://etherscan.io/tx/0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c), implementations: [0x0a20703878E68E587c59204cc0EA86098B8c3bA7](https://etherscan.io/address/0x0a20703878E68E587c59204cc0EA86098B8c3bA7#code) ([diff](https://disco.l2beat.com/diff/eth:0xb7c8833F5627a8a12558cAFa0d0EBD1ACBDce43f/eth:0x0a20703878E68E587c59204cc0EA86098B8c3bA7)) - 2025-08-18 02:46 UTC, upgrade of [L1ERC721Gateway](https://etherscan.io/address/0x6260aF48e8948617b8FA17F4e5CEa2d21D21554B#code): transaction [0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c](https://etherscan.io/tx/0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c), implementations: [0x79F1bF1906B63b56E08c3ada4c51De11F145a27A](https://etherscan.io/address/0x79F1bF1906B63b56E08c3ada4c51De11F145a27A#code) ([diff](https://disco.l2beat.com/diff/eth:0xd1841c5756428812233eEA78afC17cb2D3e392bb/eth:0x79F1bF1906B63b56E08c3ada4c51De11F145a27A)) - 2025-08-18 02:46 UTC, upgrade of [L1ETHGateway](https://etherscan.io/address/0x7F2b8C31F88B6006c382775eea88297Ec1e3E905#code): transaction [0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c](https://etherscan.io/tx/0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c), implementations: [0x1fee6a6dC49095FB9C84D61aa4b8A07284b2A1d0](https://etherscan.io/address/0x1fee6a6dC49095FB9C84D61aa4b8A07284b2A1d0#code) ([diff](https://disco.l2beat.com/diff/eth:0x546E0bF31FB6e7babD493452e4e6999191367B42/eth:0x1fee6a6dC49095FB9C84D61aa4b8A07284b2A1d0)) - 2025-08-18 02:46 UTC, upgrade of [L1CustomERC20Gateway](https://etherscan.io/address/0xb2b10a289A229415a124EFDeF310C10cb004B6ff#code): transaction [0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c](https://etherscan.io/tx/0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c), implementations: [0x40c3C3dEa3B7D6d117E6713377144fD8EE6D6c97](https://etherscan.io/address/0x40c3C3dEa3B7D6d117E6713377144fD8EE6D6c97#code) ([diff](https://disco.l2beat.com/diff/eth:0x7F512E2E9dfC4552941D99A5b2405BBcF5781C2c/eth:0x40c3C3dEa3B7D6d117E6713377144fD8EE6D6c97)) - 2025-08-18 02:46 UTC, upgrade of [L1ERC1155Gateway](https://etherscan.io/address/0xb94f7F6ABcb811c5Ac709dE14E37590fcCd975B6#code): transaction [0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c](https://etherscan.io/tx/0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c), implementations: [0xcA46358D5F01E4F865885514DAe6275087Ffe38E](https://etherscan.io/address/0xcA46358D5F01E4F865885514DAe6275087Ffe38E#code) ([diff](https://disco.l2beat.com/diff/eth:0x244BF7aEf29F03916569470a51fA0794B62F8cd7/eth:0xcA46358D5F01E4F865885514DAe6275087Ffe38E)) - 2025-08-18 02:46 UTC, upgrade of [L1StandardERC20Gateway](https://etherscan.io/address/0xD8A791fE2bE73eb6E6cF1eb0cb3F36adC9B3F8f9#code): transaction [0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c](https://etherscan.io/tx/0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c), implementations: [0xfF8238be22cC583b3d69A76da9d84Da7788c0ee9](https://etherscan.io/address/0xfF8238be22cC583b3d69A76da9d84Da7788c0ee9#code) ([diff](https://disco.l2beat.com/diff/eth:0x4015Fc868C06689ABEba4a9dC8FA43B804F6239c/eth:0xfF8238be22cC583b3d69A76da9d84Da7788c0ee9)) - 2025-08-18 02:46 UTC, upgrade of [L1WETHGateway](https://etherscan.io/address/0x7AC440cAe8EB6328de4fA621163a792c1EA9D4fE#code): transaction [0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c](https://etherscan.io/tx/0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c), implementations: [0xE25EfFEFd08c4a57556d47eF96471Cb567A86c24](https://etherscan.io/address/0xE25EfFEFd08c4a57556d47eF96471Cb567A86c24#code) ([diff](https://disco.l2beat.com/diff/eth:0xa4F400593DFfc0ae02F940ab58f6e3Cc6fb9FB49/eth:0xE25EfFEFd08c4a57556d47eF96471Cb567A86c24)) - 2025-07-21 03:07 UTC, deployment of [L2PauseController](https://scrollscan.com/address/0xAf9a61Aa21aB4a2fdbc88e81363D2e3D359749dd#code): transaction [0x00b655406a3deb852f16f951030e57119d4b49d018f61718f4784f7fdc325880](https://scrollscan.com/tx/0x00b655406a3deb852f16f951030e57119d4b49d018f61718f4784f7fdc325880), implementations: [0x105B9baaF75dA556c0206159481243163fAea1c9](https://scrollscan.com/address/0x105B9baaF75dA556c0206159481243163fAea1c9#code) - 2025-07-21 03:03 UTC, deployment of [PauseController](https://etherscan.io/address/0xb8f7eA9998530833Cbb7E0EF4f0D945957229D8b#code): transaction [0x3decf466a6c0dfc015f7496b5737f597ae7f90073bce2e83a5660b5de64ffe4b](https://etherscan.io/tx/0x3decf466a6c0dfc015f7496b5737f597ae7f90073bce2e83a5660b5de64ffe4b), implementations: [0x57e26d997852e7e94915e250446C3bf43F41d98D](https://etherscan.io/address/0x57e26d997852e7e94915e250446C3bf43F41d98D#code) - 2025-04-25 07:06 UTC, upgrade of [L1ScrollMessenger](https://etherscan.io/address/0x6774Bcbd5ceCeF1336b5300fb5186a12DDD8b367#code): transaction [0x783703d4e94de48edb75261149a540cbf7abb7ef077865c11080e622a508ab86](https://etherscan.io/tx/0x783703d4e94de48edb75261149a540cbf7abb7ef077865c11080e622a508ab86), implementations: [0x84791281EF5cb8Af5dCd4c122f7A42FeD38Fef5b](https://etherscan.io/address/0x84791281EF5cb8Af5dCd4c122f7A42FeD38Fef5b#code) ([diff](https://disco.l2beat.com/diff/eth:0xc6326109E33465d6d61e4Cb7AFCe7B1bE7cfF868/eth:0x84791281EF5cb8Af5dCd4c122f7A42FeD38Fef5b)) - 2025-04-22 06:01 UTC, upgrade of [L1MessageQueueV2](https://etherscan.io/address/0x56971da63A3C0205184FEF096E9ddFc7A8C2D18a#code): transaction [0x2c09704f5717cd65e31ea854b8c6a5229b841fcabc5bcbbbb1117f13b9f60d21](https://etherscan.io/tx/0x2c09704f5717cd65e31ea854b8c6a5229b841fcabc5bcbbbb1117f13b9f60d21), implementations: [0xEfA158006b072793a49E622B26761cD0eC38591d](https://etherscan.io/address/0xEfA158006b072793a49E622B26761cD0eC38591d#code) ([diff](https://disco.l2beat.com/diff/eth:0xFAf8f72e54d1089fa1882b6f597BfDFF59a8AFca/eth:0xEfA158006b072793a49E622B26761cD0eC38591d)) - 2025-04-22 06:01 UTC, upgrade of [L1ScrollMessenger](https://etherscan.io/address/0x6774Bcbd5ceCeF1336b5300fb5186a12DDD8b367#code): transaction [0x2c09704f5717cd65e31ea854b8c6a5229b841fcabc5bcbbbb1117f13b9f60d21](https://etherscan.io/tx/0x2c09704f5717cd65e31ea854b8c6a5229b841fcabc5bcbbbb1117f13b9f60d21), implementations: [0xc6326109E33465d6d61e4Cb7AFCe7B1bE7cfF868](https://etherscan.io/address/0xc6326109E33465d6d61e4Cb7AFCe7B1bE7cfF868#code) ([diff](https://disco.l2beat.com/diff/eth:0x72981fD00087fF4F60aBFdE9f353cB1912A37fb6/eth:0xc6326109E33465d6d61e4Cb7AFCe7B1bE7cfF868)) - 2025-04-22 06:01 UTC, upgrade of [SystemConfig](https://etherscan.io/address/0x8432728A257646449245558B8b7Dbe51A16c7a4D#code): transaction [0x2c09704f5717cd65e31ea854b8c6a5229b841fcabc5bcbbbb1117f13b9f60d21](https://etherscan.io/tx/0x2c09704f5717cd65e31ea854b8c6a5229b841fcabc5bcbbbb1117f13b9f60d21), implementations: [0x6A124779fDf107c3F6BcB992731dCAaD09f2276A](https://etherscan.io/address/0x6A124779fDf107c3F6BcB992731dCAaD09f2276A#code) ([diff](https://disco.l2beat.com/diff/eth:0xFAf8f72e54d1089fa1882b6f597BfDFF59a8AFca/eth:0x6A124779fDf107c3F6BcB992731dCAaD09f2276A)) - 2025-04-22 06:01 UTC, upgrade of [ScrollChain](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556#code): transaction [0x2c09704f5717cd65e31ea854b8c6a5229b841fcabc5bcbbbb1117f13b9f60d21](https://etherscan.io/tx/0x2c09704f5717cd65e31ea854b8c6a5229b841fcabc5bcbbbb1117f13b9f60d21), implementations: [0xb7c8833F5627a8a12558cAFa0d0EBD1ACBDce43f](https://etherscan.io/address/0xb7c8833F5627a8a12558cAFa0d0EBD1ACBDce43f#code) ([diff](https://disco.l2beat.com/diff/eth:0x8f339292d2b3909574B2bEB051a613a987dB538f/eth:0xb7c8833F5627a8a12558cAFa0d0EBD1ACBDce43f)) - 2025-04-22 06:01 UTC, upgrade of [EnforcedTxGateway](https://etherscan.io/address/0x72CAcBcfDe2d1e19122F8A36a4d6676cd39d7A5d#code): transaction [0x2c09704f5717cd65e31ea854b8c6a5229b841fcabc5bcbbbb1117f13b9f60d21](https://etherscan.io/tx/0x2c09704f5717cd65e31ea854b8c6a5229b841fcabc5bcbbbb1117f13b9f60d21), implementations: [0x7e87c75BBe7991bbCEBd2C7a56f4cFC923BDDBcc](https://etherscan.io/address/0x7e87c75BBe7991bbCEBd2C7a56f4cFC923BDDBcc#code) ([diff](https://disco.l2beat.com/diff/eth:0x642af405bF64660665B37977449C9C536B806318/eth:0x7e87c75BBe7991bbCEBd2C7a56f4cFC923BDDBcc)) - 2025-04-15 14:47 UTC, upgrade of [ScrollChain](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556#code): transaction [0xa1faad1ccd2c390641b46d50d93c26b7369137f021e528acfec78385494b2fb0](https://etherscan.io/tx/0xa1faad1ccd2c390641b46d50d93c26b7369137f021e528acfec78385494b2fb0), implementations: [0x8f339292d2b3909574B2bEB051a613a987dB538f](https://etherscan.io/address/0x8f339292d2b3909574B2bEB051a613a987dB538f#code) ([diff](https://disco.l2beat.com/diff/eth:0x9bB163401E8C72573854c4Cd968aFA7A7b02D25f/eth:0x8f339292d2b3909574B2bEB051a613a987dB538f)) - 2025-03-20 13:08 UTC, deployment of [L1MessageQueueV2](https://etherscan.io/address/0x56971da63A3C0205184FEF096E9ddFc7A8C2D18a#code): transaction [0xa44917bb285df86b23937d2180e5e2d21d47407803736797bc8cdbaf59d8f256](https://etherscan.io/tx/0xa44917bb285df86b23937d2180e5e2d21d47407803736797bc8cdbaf59d8f256), implementations: [0xFAf8f72e54d1089fa1882b6f597BfDFF59a8AFca](https://etherscan.io/address/0xFAf8f72e54d1089fa1882b6f597BfDFF59a8AFca#code) - 2025-03-20 13:08 UTC, deployment of [SystemConfig](https://etherscan.io/address/0x8432728A257646449245558B8b7Dbe51A16c7a4D#code): transaction [0x693533d50e553bb88df2025b2f294549a13cc6ed266de233429ac8742314c77a](https://etherscan.io/tx/0x693533d50e553bb88df2025b2f294549a13cc6ed266de233429ac8742314c77a), implementations: [0xFAf8f72e54d1089fa1882b6f597BfDFF59a8AFca](https://etherscan.io/address/0xFAf8f72e54d1089fa1882b6f597BfDFF59a8AFca#code) - 2024-09-03 04:12 UTC, deployment of [SCRToken](https://scrollscan.com/address/0xd29687c813D741E2F938F4aC377128810E217b1b#code): transaction [0xeef949ed328baf69a9b8cb4e33f652f4f5047ef736aa53324acf6a00c8b64b31](https://scrollscan.com/tx/0xeef949ed328baf69a9b8cb4e33f652f4f5047ef736aa53324acf6a00c8b64b31), implementations: [0x7600174E2a730a05da046fFA8Fc32DEC27FfdDC8](https://scrollscan.com/address/0x7600174E2a730a05da046fFA8Fc32DEC27FfdDC8#code) - 2024-08-20 23:36 UTC, upgrade of [ScrollChain](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556#code): transaction [0x3928e0223337a112ea68c84db95441185a3e1da809638be13c0135761aa19ee7](https://etherscan.io/tx/0x3928e0223337a112ea68c84db95441185a3e1da809638be13c0135761aa19ee7), implementations: [0x9bB163401E8C72573854c4Cd968aFA7A7b02D25f](https://etherscan.io/address/0x9bB163401E8C72573854c4Cd968aFA7A7b02D25f#code) ([diff](https://disco.l2beat.com/diff/eth:0x4F250B05262240C787a1eE222687C6eC395C628A/eth:0x9bB163401E8C72573854c4Cd968aFA7A7b02D25f)) - 2024-07-02 10:10 UTC, upgrade of [ScrollChain](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556#code): transaction [0x87f533704b3cdac75c20bbdcd202a97ee62075c188ccea27ab7ff494cdeea247](https://etherscan.io/tx/0x87f533704b3cdac75c20bbdcd202a97ee62075c188ccea27ab7ff494cdeea247), implementations: [0x4F250B05262240C787a1eE222687C6eC395C628A](https://etherscan.io/address/0x4F250B05262240C787a1eE222687C6eC395C628A#code) ([diff](https://disco.l2beat.com/diff/eth:0xaa6d0F2490AC3957B97e11afEC6F0f250593CaC8/eth:0x4F250B05262240C787a1eE222687C6eC395C628A)) - 2024-04-28 22:06 UTC, upgrade of [ScrollChain](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556#code): transaction [0x6eb161ed649cf22771e586a8546eec157717e2dec4c871e7ad4e4d2c5c59a905](https://etherscan.io/tx/0x6eb161ed649cf22771e586a8546eec157717e2dec4c871e7ad4e4d2c5c59a905), implementations: [0xaa6d0F2490AC3957B97e11afEC6F0f250593CaC8](https://etherscan.io/address/0xaa6d0F2490AC3957B97e11afEC6F0f250593CaC8#code) ([diff](https://disco.l2beat.com/diff/eth:0xFA148514d03420b7b1a13eC74da06D2Ca875539C/eth:0xaa6d0F2490AC3957B97e11afEC6F0f250593CaC8)) - 2024-04-15 09:31 UTC, upgrade of [pufETHEscrow](https://etherscan.io/address/0xA033Ff09f2da45f0e9ae495f525363722Df42b2a#code): transaction [0xa2ff9275d6280e3cc298653463c5d8423c44cfbc66a52a9a138becbb106dc0f8](https://etherscan.io/tx/0xa2ff9275d6280e3cc298653463c5d8423c44cfbc66a52a9a138becbb106dc0f8), implementations: [0xc4d46E8402F476F269c379677C99F18E22Ea030e](https://etherscan.io/address/0xc4d46E8402F476F269c379677C99F18E22Ea030e#code) ([diff](https://disco.l2beat.com/diff/eth:0x08D77Ea90DB9BF6c0d3f66E6b8394DA2E81B9a03/eth:0xc4d46E8402F476F269c379677C99F18E22Ea030e)) - 2024-04-15 09:31 UTC, upgrade of [pufETHEscrow](https://etherscan.io/address/0xA033Ff09f2da45f0e9ae495f525363722Df42b2a#code): transaction [0xe03abd155a10591ed1fa4a1e2ad0d6042549bfd67769dbf6bd66d25743950905](https://etherscan.io/tx/0xe03abd155a10591ed1fa4a1e2ad0d6042549bfd67769dbf6bd66d25743950905), implementations: [0x08D77Ea90DB9BF6c0d3f66E6b8394DA2E81B9a03](https://etherscan.io/address/0x08D77Ea90DB9BF6c0d3f66E6b8394DA2E81B9a03#code) ([diff](https://disco.l2beat.com/diff/eth:0x08D77Ea90DB9BF6c0d3f66E6b8394DA2E81B9a03/eth:0x08D77Ea90DB9BF6c0d3f66E6b8394DA2E81B9a03)) - 2024-04-15 09:31 UTC, deployment of [pufETHEscrow](https://etherscan.io/address/0xA033Ff09f2da45f0e9ae495f525363722Df42b2a#code): transaction [0xb367f770c26a72ea837a51c2c1fc84a3396914db1d58c020177b207e0f876a79](https://etherscan.io/tx/0xb367f770c26a72ea837a51c2c1fc84a3396914db1d58c020177b207e0f876a79), implementations: [0x08D77Ea90DB9BF6c0d3f66E6b8394DA2E81B9a03](https://etherscan.io/address/0x08D77Ea90DB9BF6c0d3f66E6b8394DA2E81B9a03#code) - 2024-03-05 07:52 UTC, upgrade of [L2LidoGateway](https://scrollscan.com/address/0x8aE8f22226B9d789A36AC81474e633f8bE2856c9#code): transaction [0x64c28a89bdfa47a14998cdaaa4d85113e72c451e817a294930f93bdee4a3d598](https://scrollscan.com/tx/0x64c28a89bdfa47a14998cdaaa4d85113e72c451e817a294930f93bdee4a3d598), implementations: [0x2B9beB2890DBeFC7cA25Af3164100d139B623C24](https://scrollscan.com/address/0x2B9beB2890DBeFC7cA25Af3164100d139B623C24#code) ([diff](https://disco.l2beat.com/diff/scr:0xc568B5dcCeBE52073Fa783EAdacDE0a30fA4c2c9/scr:0x2B9beB2890DBeFC7cA25Af3164100d139B623C24)) - 2024-03-05 07:48 UTC, upgrade of [wstETHescrowLido](https://etherscan.io/address/0x6625C6332c9F91F2D27c304E729B86db87A3f504#code): transaction [0xd755174ba6bacec85b68b77c9ec2a8b966955746be59a6efa932f47c37dda482](https://etherscan.io/tx/0xd755174ba6bacec85b68b77c9ec2a8b966955746be59a6efa932f47c37dda482), implementations: [0xF4f2066EE72D62e3caF9678459149BA7FCf2262F](https://etherscan.io/address/0xF4f2066EE72D62e3caF9678459149BA7FCf2262F#code) ([diff](https://disco.l2beat.com/diff/eth:0xBAd002fB13adFfcbCba57a4d4a43886f3F4C56cb/eth:0xF4f2066EE72D62e3caF9678459149BA7FCf2262F)) - 2024-02-22 08:20 UTC, upgrade of [L1ScrollMessenger](https://etherscan.io/address/0x6774Bcbd5ceCeF1336b5300fb5186a12DDD8b367#code): transaction [0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826](https://etherscan.io/tx/0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826), implementations: [0x72981fD00087fF4F60aBFdE9f353cB1912A37fb6](https://etherscan.io/address/0x72981fD00087fF4F60aBFdE9f353cB1912A37fb6#code) ([diff](https://disco.l2beat.com/diff/eth:0xAf2F898a8680cb52766ABE0588ebe6b9bFe37845/eth:0x72981fD00087fF4F60aBFdE9f353cB1912A37fb6)) - 2024-02-22 08:20 UTC, upgrade of [ScrollChain](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556#code): transaction [0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826](https://etherscan.io/tx/0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826), implementations: [0xFA148514d03420b7b1a13eC74da06D2Ca875539C](https://etherscan.io/address/0xFA148514d03420b7b1a13eC74da06D2Ca875539C#code) ([diff](https://disco.l2beat.com/diff/eth:0x2E07f0FBA71709bb5e1f045b02152E45B451D75f/eth:0xFA148514d03420b7b1a13eC74da06D2Ca875539C)) - 2024-02-22 08:20 UTC, upgrade of [L1ERC721Gateway](https://etherscan.io/address/0x6260aF48e8948617b8FA17F4e5CEa2d21D21554B#code): transaction [0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826](https://etherscan.io/tx/0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826), implementations: [0xd1841c5756428812233eEA78afC17cb2D3e392bb](https://etherscan.io/address/0xd1841c5756428812233eEA78afC17cb2D3e392bb#code) ([diff](https://disco.l2beat.com/diff/eth:0xDE3be7C2AA151D1E152DDfcBf0962FcDf5323DAe/eth:0xd1841c5756428812233eEA78afC17cb2D3e392bb)) - 2024-02-22 08:20 UTC, upgrade of [L1ETHGateway](https://etherscan.io/address/0x7F2b8C31F88B6006c382775eea88297Ec1e3E905#code): transaction [0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826](https://etherscan.io/tx/0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826), implementations: [0x546E0bF31FB6e7babD493452e4e6999191367B42](https://etherscan.io/address/0x546E0bF31FB6e7babD493452e4e6999191367B42#code) ([diff](https://disco.l2beat.com/diff/eth:0x1fcbE079c4Bbab37406daB7Dfd35AcAe37D5C55d/eth:0x546E0bF31FB6e7babD493452e4e6999191367B42)) - 2024-02-22 08:20 UTC, upgrade of [L1CustomERC20Gateway](https://etherscan.io/address/0xb2b10a289A229415a124EFDeF310C10cb004B6ff#code): transaction [0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826](https://etherscan.io/tx/0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826), implementations: [0x7F512E2E9dfC4552941D99A5b2405BBcF5781C2c](https://etherscan.io/address/0x7F512E2E9dfC4552941D99A5b2405BBcF5781C2c#code) ([diff](https://disco.l2beat.com/diff/eth:0xBAd002fB13adFfcbCba57a4d4a43886f3F4C56cb/eth:0x7F512E2E9dfC4552941D99A5b2405BBcF5781C2c)) - 2024-02-22 08:20 UTC, upgrade of [L1ERC1155Gateway](https://etherscan.io/address/0xb94f7F6ABcb811c5Ac709dE14E37590fcCd975B6#code): transaction [0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826](https://etherscan.io/tx/0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826), implementations: [0x244BF7aEf29F03916569470a51fA0794B62F8cd7](https://etherscan.io/address/0x244BF7aEf29F03916569470a51fA0794B62F8cd7#code) ([diff](https://disco.l2beat.com/diff/eth:0xCb4638620E4C6DeCef26374e71b0dd4871863593/eth:0x244BF7aEf29F03916569470a51fA0794B62F8cd7)) - 2024-02-22 08:20 UTC, upgrade of [L1StandardERC20Gateway](https://etherscan.io/address/0xD8A791fE2bE73eb6E6cF1eb0cb3F36adC9B3F8f9#code): transaction [0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826](https://etherscan.io/tx/0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826), implementations: [0x4015Fc868C06689ABEba4a9dC8FA43B804F6239c](https://etherscan.io/address/0x4015Fc868C06689ABEba4a9dC8FA43B804F6239c#code) ([diff](https://disco.l2beat.com/diff/eth:0x9218732389D80f9b8723C3f32a38865B7a63564A/eth:0x4015Fc868C06689ABEba4a9dC8FA43B804F6239c)) - 2024-02-22 08:20 UTC, upgrade of [L1WETHGateway](https://etherscan.io/address/0x7AC440cAe8EB6328de4fA621163a792c1EA9D4fE#code): transaction [0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826](https://etherscan.io/tx/0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826), implementations: [0xa4F400593DFfc0ae02F940ab58f6e3Cc6fb9FB49](https://etherscan.io/address/0xa4F400593DFfc0ae02F940ab58f6e3Cc6fb9FB49#code) ([diff](https://disco.l2beat.com/diff/eth:0xd3c42158682D55E082EaBe08a29F7515A97cA307/eth:0xa4F400593DFfc0ae02F940ab58f6e3Cc6fb9FB49)) - 2024-02-22 08:20 UTC, upgrade of [L1USDCGateway](https://etherscan.io/address/0xf1AF3b23DE0A5Ca3CAb7261cb0061C0D779A5c7B#code): transaction [0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826](https://etherscan.io/tx/0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826), implementations: [0x56ce8A8E8399f6cD5e7e4f549E8BfD673f2AfF5e](https://etherscan.io/address/0x56ce8A8E8399f6cD5e7e4f549E8BfD673f2AfF5e#code) ([diff](https://disco.l2beat.com/diff/eth:0x6667123b5017AAB9945F73345848B82D7A953AA8/eth:0x56ce8A8E8399f6cD5e7e4f549E8BfD673f2AfF5e)) - 2024-02-22 08:08 UTC, upgrade of [L2GatewayRouter](https://scrollscan.com/address/0xE2b4795039517653c5Ae8C2A9BFdd783b48f447A#code): transaction [0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9](https://scrollscan.com/tx/0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9), implementations: [0x3ffe801a43D25d0288683237A848e14f73a226f0](https://scrollscan.com/address/0x3ffe801a43D25d0288683237A848e14f73a226f0#code) ([diff](https://disco.l2beat.com/diff/scr:0xCaa86d504B7670f4BCe0B323c2AaF7002CF6C478/scr:0x3ffe801a43D25d0288683237A848e14f73a226f0)) - 2024-02-22 08:08 UTC, upgrade of [L2USDCGateway](https://scrollscan.com/address/0x33B60d5Dd260d453cAC3782b0bDC01ce84672142#code): transaction [0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9](https://scrollscan.com/tx/0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9), implementations: [0x6E0618d128d2d861994DF7a725743F69b53C2804](https://scrollscan.com/address/0x6E0618d128d2d861994DF7a725743F69b53C2804#code) ([diff](https://disco.l2beat.com/diff/scr:0x02812d966B5cdeeb9aCBbBae51cA2d5d0f86A086/scr:0x6E0618d128d2d861994DF7a725743F69b53C2804)) - 2024-02-22 08:08 UTC, upgrade of [L2ERC1155Gateway](https://scrollscan.com/address/0x62597Cc19703aF10B58feF87B0d5D29eFE263bcc#code): transaction [0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9](https://scrollscan.com/tx/0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9), implementations: [0xAc92E88bAc1848A5FeEA5cf5A60e0abc3bD5Df94](https://scrollscan.com/address/0xAc92E88bAc1848A5FeEA5cf5A60e0abc3bD5Df94#code) ([diff](https://disco.l2beat.com/diff/scr:0x4a1b3D103801F0E1400046aE1948B9808e9b043b/scr:0xAc92E88bAc1848A5FeEA5cf5A60e0abc3bD5Df94)) - 2024-02-22 08:08 UTC, upgrade of [L2CustomERC20Gateway](https://scrollscan.com/address/0x64CCBE37c9A82D85A1F2E74649b7A42923067988#code): transaction [0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9](https://scrollscan.com/tx/0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9), implementations: [0x1D40306EEfCF6EBd496d6048F6edf8892346e558](https://scrollscan.com/address/0x1D40306EEfCF6EBd496d6048F6edf8892346e558#code) ([diff](https://disco.l2beat.com/diff/scr:0xc568B5dcCeBE52073Fa783EAdacDE0a30fA4c2c9/scr:0x1D40306EEfCF6EBd496d6048F6edf8892346e558)) - 2024-02-22 08:08 UTC, upgrade of [L2ETHGateway](https://scrollscan.com/address/0x6EA73e05AdC79974B931123675ea8F78FfdacDF0#code): transaction [0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9](https://scrollscan.com/tx/0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9), implementations: [0x191770c52309dff2c52FfEcf059ECC3862f5D721](https://scrollscan.com/address/0x191770c52309dff2c52FfEcf059ECC3862f5D721#code) ([diff](https://disco.l2beat.com/diff/scr:0xE0a0509a66C509f55c85A20EB8c60676135081f7/scr:0x191770c52309dff2c52FfEcf059ECC3862f5D721)) - 2024-02-22 08:08 UTC, upgrade of [L2WETHGateway](https://scrollscan.com/address/0x7003E7B7186f0E6601203b99F7B8DECBfA391cf9#code): transaction [0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9](https://scrollscan.com/tx/0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9), implementations: [0x86c5CBfC03ffFC7faf5dfC7D781A9adfA9f47dD1](https://scrollscan.com/address/0x86c5CBfC03ffFC7faf5dfC7D781A9adfA9f47dD1#code) ([diff](https://disco.l2beat.com/diff/scr:0x4966c037D653E31dB2c1F9727dd50dC679d51d65/scr:0x86c5CBfC03ffFC7faf5dfC7D781A9adfA9f47dD1)) - 2024-02-22 08:08 UTC, upgrade of [L2ScrollMessenger](https://scrollscan.com/address/0x781e90f1c8Fc4611c9b7497C3B47F99Ef6969CbC#code): transaction [0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9](https://scrollscan.com/tx/0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9), implementations: [0x6fa66EeD8e8086f4c77204B5484D26F4e9AB7772](https://scrollscan.com/address/0x6fa66EeD8e8086f4c77204B5484D26F4e9AB7772#code) ([diff](https://disco.l2beat.com/diff/scr:0x485149079c421f9e4c465276BbaBB2fE0748d138/scr:0x6fa66EeD8e8086f4c77204B5484D26F4e9AB7772)) - 2024-02-22 08:08 UTC, upgrade of [L2ERC721Gateway](https://scrollscan.com/address/0x7bC08E1c04fb41d75F1410363F0c5746Eae80582#code): transaction [0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9](https://scrollscan.com/tx/0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9), implementations: [0x0894150DB82B912105F6D0907B5c69E72F1Df279](https://scrollscan.com/address/0x0894150DB82B912105F6D0907B5c69E72F1Df279#code) ([diff](https://disco.l2beat.com/diff/scr:0x71d7F43617CEaE99A43B7727151267A9919288F6/scr:0x0894150DB82B912105F6D0907B5c69E72F1Df279)) - 2023-10-10 06:48 UTC, deployment of [wstETHescrowLido](https://etherscan.io/address/0x6625C6332c9F91F2D27c304E729B86db87A3f504#code): transaction [0xec5c25ea4b3e6d1dc9fa4cb7b7dd37a7a245a171cd3d16fb312628b5ecc9e841](https://etherscan.io/tx/0xec5c25ea4b3e6d1dc9fa4cb7b7dd37a7a245a171cd3d16fb312628b5ecc9e841), implementations: [0xBAd002fB13adFfcbCba57a4d4a43886f3F4C56cb](https://etherscan.io/address/0xBAd002fB13adFfcbCba57a4d4a43886f3F4C56cb#code) - 2023-10-10 06:47 UTC, deployment of [L2LidoGateway](https://scrollscan.com/address/0x8aE8f22226B9d789A36AC81474e633f8bE2856c9#code): transaction [0x516429c9961880b285703de647f4f884068a31be7341f8ed54b799d0a1fb3e7b](https://scrollscan.com/tx/0x516429c9961880b285703de647f4f884068a31be7341f8ed54b799d0a1fb3e7b), implementations: [0xc568B5dcCeBE52073Fa783EAdacDE0a30fA4c2c9](https://scrollscan.com/address/0xc568B5dcCeBE52073Fa783EAdacDE0a30fA4c2c9#code) - 2023-10-10 06:41 UTC, deployment of [DaiEscrow](https://etherscan.io/address/0x67260A8B73C5B77B55c1805218A42A7A6F98F515#code): transaction [0x9776779beb429ea826a81a8c1c5f782933bfc8ce568afa1c6f2c2b866be2a3a5](https://etherscan.io/tx/0x9776779beb429ea826a81a8c1c5f782933bfc8ce568afa1c6f2c2b866be2a3a5), implementations: [0xBAd002fB13adFfcbCba57a4d4a43886f3F4C56cb](https://etherscan.io/address/0xBAd002fB13adFfcbCba57a4d4a43886f3F4C56cb#code) - 2023-10-10 06:30 UTC, deployment of [L2USDCGateway](https://scrollscan.com/address/0x33B60d5Dd260d453cAC3782b0bDC01ce84672142#code): transaction [0x53dca8476e9bb314c9ac8008f2e33460eea3cde5798aeaf1327feba43f2af2ee](https://scrollscan.com/tx/0x53dca8476e9bb314c9ac8008f2e33460eea3cde5798aeaf1327feba43f2af2ee), implementations: [0x02812d966B5cdeeb9aCBbBae51cA2d5d0f86A086](https://scrollscan.com/address/0x02812d966B5cdeeb9aCBbBae51cA2d5d0f86A086#code) - 2023-10-10 06:29 UTC, deployment of [L1USDCGateway](https://etherscan.io/address/0xf1AF3b23DE0A5Ca3CAb7261cb0061C0D779A5c7B#code): transaction [0x394b36151c614a7dfd048ddc1085046d2a50e5fd54af4c335d4a08aa79dd773d](https://etherscan.io/tx/0x394b36151c614a7dfd048ddc1085046d2a50e5fd54af4c335d4a08aa79dd773d), implementations: [0x6667123b5017AAB9945F73345848B82D7A953AA8](https://etherscan.io/address/0x6667123b5017AAB9945F73345848B82D7A953AA8#code) - 2023-10-10 06:05 UTC, deployment of [L2ERC1155Gateway](https://scrollscan.com/address/0x62597Cc19703aF10B58feF87B0d5D29eFE263bcc#code): transaction [0x81ea4d0324828c7bd1a25754601e471f5707cf09af3f267fabf1aa43f2c45907](https://scrollscan.com/tx/0x81ea4d0324828c7bd1a25754601e471f5707cf09af3f267fabf1aa43f2c45907), implementations: [0x4a1b3D103801F0E1400046aE1948B9808e9b043b](https://scrollscan.com/address/0x4a1b3D103801F0E1400046aE1948B9808e9b043b#code) - 2023-10-10 06:05 UTC, deployment of [L2CustomERC20Gateway](https://scrollscan.com/address/0x64CCBE37c9A82D85A1F2E74649b7A42923067988#code): transaction [0xcfb787fe58eeb8a0f1d7ebb1360968111e84cd6f64d929a3277a1fb5e232ccd3](https://scrollscan.com/tx/0xcfb787fe58eeb8a0f1d7ebb1360968111e84cd6f64d929a3277a1fb5e232ccd3), implementations: [0xc568B5dcCeBE52073Fa783EAdacDE0a30fA4c2c9](https://scrollscan.com/address/0xc568B5dcCeBE52073Fa783EAdacDE0a30fA4c2c9#code) - 2023-10-10 06:05 UTC, deployment of [L2ERC721Gateway](https://scrollscan.com/address/0x7bC08E1c04fb41d75F1410363F0c5746Eae80582#code): transaction [0x56af44f6a76a5788776564b7d36720e0e9f5cd4695653d0f83871259c1480325](https://scrollscan.com/tx/0x56af44f6a76a5788776564b7d36720e0e9f5cd4695653d0f83871259c1480325), implementations: [0x71d7F43617CEaE99A43B7727151267A9919288F6](https://scrollscan.com/address/0x71d7F43617CEaE99A43B7727151267A9919288F6#code) - 2023-10-10 06:05 UTC, deployment of [L2GatewayRouter](https://scrollscan.com/address/0xE2b4795039517653c5Ae8C2A9BFdd783b48f447A#code): transaction [0xaac223f86591581be57fc2296c6895a55d4f5488340e63577fa0b909e950747d](https://scrollscan.com/tx/0xaac223f86591581be57fc2296c6895a55d4f5488340e63577fa0b909e950747d), implementations: [0xCaa86d504B7670f4BCe0B323c2AaF7002CF6C478](https://scrollscan.com/address/0xCaa86d504B7670f4BCe0B323c2AaF7002CF6C478#code) - 2023-10-10 06:05 UTC, deployment of [L2ETHGateway](https://scrollscan.com/address/0x6EA73e05AdC79974B931123675ea8F78FfdacDF0#code): transaction [0xf1505df71efbf7c12e1f48f4d17675e39d9797b1cac73ccbc6b610481313e750](https://scrollscan.com/tx/0xf1505df71efbf7c12e1f48f4d17675e39d9797b1cac73ccbc6b610481313e750), implementations: [0xE0a0509a66C509f55c85A20EB8c60676135081f7](https://scrollscan.com/address/0xE0a0509a66C509f55c85A20EB8c60676135081f7#code) - 2023-10-10 06:05 UTC, deployment of [L2WETHGateway](https://scrollscan.com/address/0x7003E7B7186f0E6601203b99F7B8DECBfA391cf9#code): transaction [0x9021d0900bd824774d2fa08d23a47d61a94d83563cfc81ca834b54bd690e0539](https://scrollscan.com/tx/0x9021d0900bd824774d2fa08d23a47d61a94d83563cfc81ca834b54bd690e0539), implementations: [0x4966c037D653E31dB2c1F9727dd50dC679d51d65](https://scrollscan.com/address/0x4966c037D653E31dB2c1F9727dd50dC679d51d65#code) - 2023-10-10 06:05 UTC, deployment of [L2ScrollMessenger](https://scrollscan.com/address/0x781e90f1c8Fc4611c9b7497C3B47F99Ef6969CbC#code): transaction [0xced82475ea905f72d0cb7ed5731aa1c801d62249a92fbad6724dd3f223b83e96](https://scrollscan.com/tx/0xced82475ea905f72d0cb7ed5731aa1c801d62249a92fbad6724dd3f223b83e96), implementations: [0x485149079c421f9e4c465276BbaBB2fE0748d138](https://scrollscan.com/address/0x485149079c421f9e4c465276BbaBB2fE0748d138#code) - 2023-10-10 06:05 UTC, deployment of [L2GatewayRouter](https://scrollscan.com/address/0x4C0926FF5252A435FD19e10ED15e5a249Ba19d79#code): transaction [0xa2062a4530b194a438bb9f9e87cdce59f70775a52e8336892364445847c43ca2](https://scrollscan.com/tx/0xa2062a4530b194a438bb9f9e87cdce59f70775a52e8336892364445847c43ca2), implementations: [0x3808d0F2F25839E73e0Fbf711368fC4aE80c7763](https://scrollscan.com/address/0x3808d0F2F25839E73e0Fbf711368fC4aE80c7763#code) - 2023-10-08 16:25 UTC, deployment of [L1ScrollMessenger](https://etherscan.io/address/0x6774Bcbd5ceCeF1336b5300fb5186a12DDD8b367#code): transaction [0xcad9f31340db6aca3a5da0d704ee33a9b6c43a5b1be4406cc0ed33edbdd7c92e](https://etherscan.io/tx/0xcad9f31340db6aca3a5da0d704ee33a9b6c43a5b1be4406cc0ed33edbdd7c92e), implementations: [0xAf2F898a8680cb52766ABE0588ebe6b9bFe37845](https://etherscan.io/address/0xAf2F898a8680cb52766ABE0588ebe6b9bFe37845#code) - 2023-10-08 16:25 UTC, deployment of [ScrollChain](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556#code): transaction [0xecc94033ca66ea9068acde109b0c9e3c539191645916a35952bb6d9fd2be3a02](https://etherscan.io/tx/0xecc94033ca66ea9068acde109b0c9e3c539191645916a35952bb6d9fd2be3a02), implementations: [0x2E07f0FBA71709bb5e1f045b02152E45B451D75f](https://etherscan.io/address/0x2E07f0FBA71709bb5e1f045b02152E45B451D75f#code) - 2023-10-08 16:25 UTC, deployment of [L1ERC721Gateway](https://etherscan.io/address/0x6260aF48e8948617b8FA17F4e5CEa2d21D21554B#code): transaction [0x5cb06c63fb2583db9eba85a73ca794a9d36eace7f91925962b8cc97fd06b9b7d](https://etherscan.io/tx/0x5cb06c63fb2583db9eba85a73ca794a9d36eace7f91925962b8cc97fd06b9b7d), implementations: [0xDE3be7C2AA151D1E152DDfcBf0962FcDf5323DAe](https://etherscan.io/address/0xDE3be7C2AA151D1E152DDfcBf0962FcDf5323DAe#code) - 2023-10-08 16:25 UTC, deployment of [L1ETHGateway](https://etherscan.io/address/0x7F2b8C31F88B6006c382775eea88297Ec1e3E905#code): transaction [0xbd63d1902c6343a9cdb81aa8944621690e4dd62a82640fded7f7c3d969e3647a](https://etherscan.io/tx/0xbd63d1902c6343a9cdb81aa8944621690e4dd62a82640fded7f7c3d969e3647a), implementations: [0x1fcbE079c4Bbab37406daB7Dfd35AcAe37D5C55d](https://etherscan.io/address/0x1fcbE079c4Bbab37406daB7Dfd35AcAe37D5C55d#code) - 2023-10-08 16:25 UTC, deployment of [L1CustomERC20Gateway](https://etherscan.io/address/0xb2b10a289A229415a124EFDeF310C10cb004B6ff#code): transaction [0x12f874f5ca5a8dbdc5162db5179a4e4b753f4fcff8dab3f416bd1ce707ecb9ff](https://etherscan.io/tx/0x12f874f5ca5a8dbdc5162db5179a4e4b753f4fcff8dab3f416bd1ce707ecb9ff), implementations: [0xBAd002fB13adFfcbCba57a4d4a43886f3F4C56cb](https://etherscan.io/address/0xBAd002fB13adFfcbCba57a4d4a43886f3F4C56cb#code) - 2023-10-08 16:25 UTC, deployment of [L1ERC1155Gateway](https://etherscan.io/address/0xb94f7F6ABcb811c5Ac709dE14E37590fcCd975B6#code): transaction [0xe6cabeddb49c286b33e0e6d4a43af76e1a2108ac9fc91afb508a5ea86a8fc646](https://etherscan.io/tx/0xe6cabeddb49c286b33e0e6d4a43af76e1a2108ac9fc91afb508a5ea86a8fc646), implementations: [0xCb4638620E4C6DeCef26374e71b0dd4871863593](https://etherscan.io/address/0xCb4638620E4C6DeCef26374e71b0dd4871863593#code) - 2023-10-08 16:25 UTC, deployment of [L1StandardERC20Gateway](https://etherscan.io/address/0xD8A791fE2bE73eb6E6cF1eb0cb3F36adC9B3F8f9#code): transaction [0x85d366c40632340d9e835fdd0a1646909a56d60c680373f15f9d36878ff13029](https://etherscan.io/tx/0x85d366c40632340d9e835fdd0a1646909a56d60c680373f15f9d36878ff13029), implementations: [0x9218732389D80f9b8723C3f32a38865B7a63564A](https://etherscan.io/address/0x9218732389D80f9b8723C3f32a38865B7a63564A#code) - 2023-10-08 16:25 UTC, deployment of [L1WETHGateway](https://etherscan.io/address/0x7AC440cAe8EB6328de4fA621163a792c1EA9D4fE#code): transaction [0x0f1df3c211e6b201b0bb0cc41c87c2fbb36683f2a24080d935ffdc587723c033](https://etherscan.io/tx/0x0f1df3c211e6b201b0bb0cc41c87c2fbb36683f2a24080d935ffdc587723c033), implementations: [0xd3c42158682D55E082EaBe08a29F7515A97cA307](https://etherscan.io/address/0xd3c42158682D55E082EaBe08a29F7515A97cA307#code) - 2023-10-08 16:25 UTC, deployment of [EnforcedTxGateway](https://etherscan.io/address/0x72CAcBcfDe2d1e19122F8A36a4d6676cd39d7A5d#code): transaction [0xd2e3c3d2839a35492419c5a1ae863e7a23d963cb4853c59e8e20832e0ee4ed3e](https://etherscan.io/tx/0xd2e3c3d2839a35492419c5a1ae863e7a23d963cb4853c59e8e20832e0ee4ed3e), implementations: [0x642af405bF64660665B37977449C9C536B806318](https://etherscan.io/address/0x642af405bF64660665B37977449C9C536B806318#code) - 2023-10-08 16:25 UTC, deployment of [L1GatewayRouter](https://etherscan.io/address/0xF8B1378579659D8F7EE5f3C929c2f3E332E41Fd6#code): transaction [0x8f6851c707737c446ee55f39be1442ce8cfa50ef8522b34bac247c0bb39a14ec](https://etherscan.io/tx/0x8f6851c707737c446ee55f39be1442ce8cfa50ef8522b34bac247c0bb39a14ec), implementations: [0xb93Ac04010Bd61F45BF492022A5b49a902F798F3](https://etherscan.io/address/0xb93Ac04010Bd61F45BF492022A5b49a902F798F3#code) ## Ossification & Updates Each date links the update on the HTML page, which also shows its contract diffs. ### [2026-10-08 10:24 UTC](https://l2beat.com/layer2s/projects/scroll?update=1cd0a92a) (18 changes) Some safes and verifier sources were verified on Etherscan. ### [2026-09-28 13:11 UTC](https://l2beat.com/layer2s/projects/scroll?update=555a0d79) (5 changes) OpenVM verifier upgraded to v2.0.0 on Scroll: https://forum.scroll.io/t/announcement-openvm-v2-0-0-upgrade-on-scroll/1495. ZK programs and verifiers are successfully reproduced. ### [2026-09-18 09:30 UTC](https://l2beat.com/layer2s/projects/scroll?update=d20d7853) (14 changes) Review active Scroll v10 verifier at the main-branch block. ### [2026-06-26 10:26 UTC](https://l2beat.com/layer2s/projects/scroll?update=be3aed85) (3 changes) Marked verifier contract as source-verified since its bytecode was successfully reproduced in zk catalog. ### [2026-06-26 10:26 UTC](https://l2beat.com/layer2s/projects/scroll?update=bc8d7ec1) (4 changes) OpenVM upgraded to 1.6.0: https://forum.scroll.io/t/announcement-openvm-v1-6-0-upgrade-on-scroll/1482. Programs are reproduced, the verifier is not yet regenerated. ### [2026-06-16 12:32 UTC](https://l2beat.com/layer2s/projects/scroll?update=8682bc9b) (17 changes) Final Security Council removal transaction. `ScrollAdminMultisig` now controls the `scMinorityNoDelay` path (used to unpause core contracts via the PauseController), completing the Security Council removal. ### [2026-06-05 10:11 UTC](https://l2beat.com/layer2s/projects/scroll?update=4a623d8f) (high severity, 51 changes) **Security Council removal.** On 2026-06-01, Scroll executed a multiSend transaction replacing its independent 9-of-12 Security Council (`eth:0x1a37bF…` / `scr:0x1a37bF…`) with the 3-of-4 `ScrollAdminMultisig` (`0xcca54B0916Cee2186b47E9709BEdcb7041A8F761`). This upgrade moves the chain to Stage 0. - L1 execution tx: [0xbc6079d5…b373765](https://etherscan.io/tx/0xbc6079d54f7a5fc548402db349168732c3f02430c156f4723865934bdb373765) (2026-06-01T12:36:23Z) - L2 execution tx: [0x7278f818…14b62bd](https://scrollscan.com/tx/0x7278f818e917a553318083cf44d99a4b92d72b876c1e19a1834fa3b2114b62bd) (2026-06-01T12:42:30Z) - Forum announcement (2026-04-13): [Governance Update: Security Council Transition](https://forum.scroll.io/t/governance-update-security-council-transition-contributor-roles-operational-adjustments/1470) All Security Council permissions (`TIMELOCK_ADMIN_ROLE`, `PROPOSER_ROLE`, `EXECUTOR_ROLE`, `CANCELLER_ROLE` on `TimelockSCSlow` and `TimelockSCEmergency` on both chains, plus L2 `AgoraGovernor.admin`) transferred to `ScrollAdminMultisig`. Pre-existing co-holders (`Scroll Multisig 1`, `AgoraGovernor` on L2 slow) are unchanged. **Still pending (queued in TimelockSCSlow, 3-day).** A batch was scheduled to transfer `SECURITY_COUNCIL_MINORITY_NO_DELAY_ROLE` on `ScrollOwner` away from the independent 3/12 `Scroll Security Council Minority` to `ScrollAdminMultisig`. Not yet executed in this discovery snapshot. ### [2026-05-21 21:42 UTC](https://l2beat.com/layer2s/projects/scroll?update=82e0b905) (8 changes) - Scroll Multisig 2: signer rotated. - Scroll Multisig 3: signer removed, threshold 3/5 → 2/4. ### [2026-05-19 13:56 UTC](https://l2beat.com/layer2s/projects/scroll?update=43ead15a) (6 changes) Scroll Multisig 1 (`0x1FF1fc1BB4d1f081f6E0a7E7E3240F3ECC5B236f`, same Safe on both Ethereum and Scroll L2) — member[0] rotated from `0xEe9bb388...` to `0x716f84f7...`. Permission entries for the `.Executor` role on both chains follow the new signer. ### [2026-02-23 14:39 UTC](https://l2beat.com/layer2s/projects/scroll?update=3d076cfd) (3 changes) Emergency upgrade: ZkEvmVerifierPostFeynman replaced at index 9 of MultipleVersionRollupVerifier due to a bug in the guest prover program. Old verifier 0x4F43... deleted, new verifier 0x0dE1... created with identical source code but updated verifierDigest (verification key update). ### [2026-02-10 15:07 UTC](https://l2beat.com/layer2s/projects/scroll?update=5986410f) (7 changes) EURC (Euro Coin) bridge integration: new L1USDCGateway, Euro Coin Token, and MasterMinter contracts added. L1GatewayRouter updated with new gateway entry. Scroll Multisig 3 member replaced on both L1 and L2. ### [2025-12-22 13:09 UTC](https://l2beat.com/layer2s/projects/scroll?update=8ee7e5d6) (7 changes) ms changes. ### [2025-12-15 16:13 UTC](https://l2beat.com/layer2s/projects/scroll?update=316f6807) (9 changes) Galileo protocol upgrade new verifiers (https://gov.scroll.io/proposals/72907322044331380548190357610154468026012921395152333929550231764240959817459) ### [2025-12-08 12:08 UTC](https://l2beat.com/layer2s/projects/scroll?update=dd400141) (2 changes) AgoraGovernor voting delay and voting window updated by the Scroll Security Council. Per the Constitution, the voting period and voting delay should be 7 days and 3 days, respectively. Based on the updated 2-second block time, the corresponding block counts for the governor parameters were recalculated. 302400 blocks * 2s = 7 days and 129600 blocks * 2s = 3 days. ### [2025-10-10 09:40 UTC](https://l2beat.com/layer2s/projects/scroll?update=9e7198de) (3 changes) Removed member from multisig. ### [2025-09-03 10:23 UTC](https://l2beat.com/layer2s/projects/scroll?update=acedcc5e) (2 changes) msig changes. ### [2025-09-02 09:13 UTC](https://l2beat.com/layer2s/projects/scroll?update=8d34a425) (2 changes) Voting period and delay extended. ### [2025-08-25 14:02 UTC](https://l2beat.com/layer2s/projects/scroll?update=479747ff) (2 changes) Provide description of changes. This section will be preserved. ### [2025-08-22 10:25 UTC](https://l2beat.com/layer2s/projects/scroll?update=f9e76807) (7 changes) Discovery rerun on the same block number with only config-related changes. ### [2025-08-18 13:30 UTC](https://l2beat.com/layer2s/projects/scroll?update=a0ae31ea) (high severity, 66 changes) [L1MessageQueueV2](https://disco.l2beat.com/diff/eth:0xEfA158006b072793a49E622B26761cD0eC38591d/eth:0x39C36c9026ac18104839A50c61a4507ea5052ECa): Change `APPROPRIATE_INTRINSIC_GAS_PER_BYTE` from `16` to `40` to account for EIP-7623 floor gas [SystemConfig](https://disco.l2beat.com/diff/eth:0x6A124779fDf107c3F6BcB992731dCAaD09f2276A/eth:0xf15a4b6D1fE2Ca6eE38BC3fb957f43F58b515eeE): Add three new events: `MessageQueueParametersUpdated`, `EnforcedBatchParametersUpdated`, `SignerUpdated` [ScrollChain](https://disco.l2beat.com/diff/eth:0xb7c8833F5627a8a12558cAFa0d0EBD1ACBDce43f/eth:0x0a20703878E68E587c59204cc0EA86098B8c3bA7): Remove blob proof methods and internal functions, restrict `commitAndFinalizeBatch` to top-level EOA calls only [L1ScrollMessenger](https://disco.l2beat.com/diff/eth:0x84791281EF5cb8Af5dCd4c122f7A42FeD38Fef5b/eth:0x79b6eAbfFAa958FDF2Aa2Bf632878bD323DCbF69): Remove message dropping and replay functionality [L1ETHGateway](https://disco.l2beat.com/diff/eth:0x546E0bF31FB6e7babD493452e4e6999191367B42/eth:0x1fee6a6dC49095FB9C84D61aa4b8A07284b2A1d0): Stop implementing `IMessageDropCallback` and remove `onDropMessage` [L1WETHGateway](https://disco.l2beat.com/diff/eth:0xa4F400593DFfc0ae02F940ab58f6e3Cc6fb9FB49/eth:0xE25EfFEFd08c4a57556d47eF96471Cb567A86c24): Stop implementing `IMessageDropCallback` and remove `onDropMessage` [L1StandardERC20Gateway](https://disco.l2beat.com/diff/eth:0x4015Fc868C06689ABEba4a9dC8FA43B804F6239c/eth:0xfF8238be22cC583b3d69A76da9d84Da7788c0ee9): Stop implementing `IMessageDropCallback` and remove `onDropMessage` [L1CustomERC20Gateway](https://disco.l2beat.com/diff/eth:0x7F512E2E9dfC4552941D99A5b2405BBcF5781C2c/eth:0x40c3C3dEa3B7D6d117E6713377144fD8EE6D6c97): Stop implementing `IMessageDropCallback`, remove `onDropMessage`, `updateTokenMapping` now calls L2 counterpart [L1ERC721Gateway](https://disco.l2beat.com/diff/eth:0xd1841c5756428812233eEA78afC17cb2D3e392bb/eth:0x79F1bF1906B63b56E08c3ada4c51De11F145a27A): Stop implementing `IMessageDropCallback` and remove `onDropMessage` [L1ERC1155Gateway](https://disco.l2beat.com/diff/eth:0x244BF7aEf29F03916569470a51fA0794B62F8cd7/eth:0xcA46358D5F01E4F865885514DAe6275087Ffe38E): Stop implementing `IMessageDropCallback` and remove `onDropMessage` [Verifier](https://disco.l2beat.com/diff/eth:0xbb08c87a2e871fcf3d86c4f7ed03dec8b66297ba/eth:0xa8d4702aa5c09af5dd1323e1842a43789021f485): New constructor parameter: `protocolVersion = 8`. Used to calculate `publicInputHash` used in proof verification. ### [2025-08-12 15:54 UTC](https://l2beat.com/layer2s/projects/scroll?update=b50d5105) (1 change) USDC rescuer added. ### [2025-08-11 14:19 UTC](https://l2beat.com/layer2s/projects/scroll?update=8d120e0a) (3 changes) Verifier source verified. ### [2025-08-11 11:16 UTC](https://l2beat.com/layer2s/projects/scroll?update=6ed7fbd2) (7 changes) Soundness bug and verifier emergency update. No postmortem yet. https://etherscan.io/tx/0x3367e24b6cb138cea321f4556259660f24aba1b79ccce8f798ed135e28905f17 added incident. ### [2025-08-05 14:16 UTC](https://l2beat.com/layer2s/projects/scroll?update=9807e3db) (13 changes) Access control changes. ### [2025-08-05 14:16 UTC](https://l2beat.com/layer2s/projects/scroll?update=6b8e853c) (17 changes) Access control changes. ### [2025-07-21 10:32 UTC](https://l2beat.com/layer2s/projects/scroll?update=b135acb2) (2 changes) fee config change (decrease baseFeeOverhead and -scalar). ### [2025-07-14 12:47 UTC](https://l2beat.com/layer2s/projects/scroll?update=4a7a78a9) (33 changes) Discovery rerun on the same block number with only config-related changes. ### [2025-07-14 12:47 UTC](https://l2beat.com/layer2s/projects/scroll?update=07032d64) (47 changes) Discovery rerun on the same block number with only config-related changes. ### [2025-07-07 08:22 UTC](https://l2beat.com/layer2s/projects/scroll?update=55a8ff3e) (1 change) single MS member change. ### [2025-06-18 12:03 UTC](https://l2beat.com/layer2s/projects/scroll?update=19d658d4) (3 changes) fee parameters and MS signer changed. ### [2025-06-18 12:03 UTC](https://l2beat.com/layer2s/projects/scroll?update=8b2023fd) (1 change) Signer change in team MS. ### [2025-05-27 13:50 UTC](https://l2beat.com/layer2s/projects/scroll?update=43384ca8) (3 changes) Added manual source for new verifier. ### [2025-05-26 15:20 UTC](https://l2beat.com/layer2s/projects/scroll?update=5133e1b1) (5 changes) emergency upgrade: fix bug in the verifier. new verifier is not public/verified yet. ### [2025-05-08 09:56 UTC](https://l2beat.com/layer2s/projects/scroll?update=fdec27fc) (9 changes) ms member change. ### [2025-05-08 09:56 UTC](https://l2beat.com/layer2s/projects/scroll?update=c6b60b13) (9 changes) sub MS member change. ### [2025-04-28 10:39 UTC](https://l2beat.com/layer2s/projects/scroll?update=2193d319) (16 changes) Added new roles to the ScrollOwner contract and its timelock controllers. ### [2025-04-28 10:39 UTC](https://l2beat.com/layer2s/projects/scroll?update=583fc831) (high severity, 87 changes) EnforcedTxGateway unpaused. Upgraded permissions for Stage 1. ### [2025-04-18 18:06 UTC](https://l2beat.com/layer2s/projects/scroll?update=b3e3118f) (1 change) Euclid batch number added. ### [2025-04-16 13:25 UTC](https://l2beat.com/layer2s/projects/scroll?update=3595ea64) (high severity, 14 changes) Phase 1 of the Euclid upgrade. - Upgraded ScrollChain implementation: new commit batch function supporting postEuclid → commitBatchWithBlobProof has a new implementation supporting new bach encoding versions until v6 (_commitBatchFromV2ToV6). Main change is the introduction of the BatchHeaderV3Codec new encoding. - Updated verifier to the zkVM verifier for Phase 1 - Updated access in the ScrollOwner contract on L1, allowing SECURITY_COUNCIL_NO_DELAY role to call ScrollChain.finalizeEuclidInitialBatch Next step is proposal of the migration block, followed by its Security Council approval (finalizeEuclidInitialBatch) and then execution of the Phase 2 transactions to complete the Euclid upgrade. ### [2025-03-31 13:32 UTC](https://l2beat.com/layer2s/projects/scroll?update=131c86d4) (25 changes) L2 side first discovery. ### [2025-03-25 11:06 UTC](https://l2beat.com/layer2s/projects/scroll?update=a25b8759) (2 changes) DEFAULT_ADMIN role removed from TimelockFast. ### [2025-03-12 08:50 UTC](https://l2beat.com/layer2s/projects/scroll?update=aeda33d1) (4 changes) MS signer change. ### [2025-01-22 11:44 UTC](https://l2beat.com/layer2s/projects/scroll?update=82215b08) (55 changes) Gov update: Security Council added. The ScrollOwner can be accessed by 4 Timelocks (see `l2b ui` and new contracts section): - SC path (upgrade, ProxyAdmin owner): no delay, SecurityCouncil - Slow path (ScrollOwner Admin -> manage all roles): 3d delay, SecurityCouncil - Fast path (ops, configs): 1d delay, ScrollOpsMultisig + ScrollExecutorMultisig (!CURRENTLY ALSO ADDITIONAL SCROLLOWNER ADMIN!) - Emergency Path (pause, revert batches, remove sequencers): no delay, ScrollEmergencyMultisig + ScrollExecutorMultisig In summary: Current upgrades are either instant (SC) or 1d delay (ScrollOpsMultisig + ScrollExecutorMultisig). Pausing is instant (ScrollEmergencyMultisig + ScrollExecutorMultisig), ops are 1d delay (ScrollOpsMultisig + ScrollExecutorMultisig). ### [2025-01-10 15:23 UTC](https://l2beat.com/layer2s/projects/scroll?update=3d1a093c) (15 changes) Discovery rerun on the same block number with only config-related changes. ### [2025-01-08 11:14 UTC](https://l2beat.com/layer2s/projects/scroll?update=16c9ba7b) (2 changes) One address removed from the whitelist (for actors that can set the l2 base fee on L1). ### [2025-01-03 11:58 UTC](https://l2beat.com/layer2s/projects/scroll?update=8a4690b3) (8 changes) Scroll operator addresses removed / changed. ### [2024-12-23 13:24 UTC](https://l2beat.com/layer2s/projects/scroll?update=4d037d17) (5 changes) 2 provers, 2 sequencers added and one whitelisted address added (can relay l2 basefee on l1). ### [2024-11-25 10:51 UTC](https://l2beat.com/layer2s/projects/scroll?update=ca5148f6) (6 changes) Same one signer removed from ExecutorMultisig and EmergencyMultisig. ### [2024-11-14 06:38 UTC](https://l2beat.com/layer2s/projects/scroll?update=cb4f0a1b) (4 changes) Batches reverted due to accidental 'old-version batches'. The reverted batches used the old version 2 and not the new v4 `commitBatchWithBlobProof()`. The post-mortem should appear [here](https://status.scroll.io/incidents/pw1cf3bmxy8s). In Scroll, batches can be reverted by the EmergencyMultisig anytime before they are proven (which currently happens around 2h after they are committed). ### [2024-09-28 05:59 UTC](https://l2beat.com/layer2s/projects/scroll?update=2d3133ef) (2 changes) Rename pufETHEscrow (external), fix references, single signer change in Executor- and EmergencyMultisig. ### [2024-09-27 15:09 UTC](https://l2beat.com/layer2s/projects/scroll?update=d3c7eaaa) (1 change) Add DAI escrow, upgradeable by ScrollMultisig. ### [2024-09-11 07:47 UTC](https://l2beat.com/layer2s/projects/scroll?update=2c4bfa10) (2 changes) The revertBatch() target is added to the ScrollOwner accesscontrol after our message to the team. Additionally, the 1d timelock is added as an Admin to the ScrollOwner. ### [2024-09-03 15:09 UTC](https://l2beat.com/layer2s/projects/scroll?update=64f1e977) (6 changes) [DarwinV2 upgrade](https://github.com/scroll-tech/go-ethereum/releases/tag/scroll-v5.7.0): This security patch adds a fallback for the case where blocks cannot be compressed under the new compression scheme (Darwin Upgrade). These are now posted as uncompressed blobs. The verifier is therefore changed to a new ZkEvmVerifierV2 (code-identical) and a new PlonkVerifier. MultipleVersionRollupVerifier owner is changed from ScrollMultisig to ScrollOwner. ### [2024-08-23 11:25 UTC](https://l2beat.com/layer2s/projects/scroll?update=ca551251) (high severity, 12 changes) Scroll can now prove bundles (i.e. multiple DA submissions) in a single proof. Full changelog: . It also seems to have forgotten to update a permission for the new `revertBatch` function sig, they have been notified. ### [2024-07-23 13:16 UTC](https://l2beat.com/layer2s/projects/scroll?update=fddd2c38) (12 changes) Provide description of changes. This section will be preserved. ### [2024-07-15 09:39 UTC](https://l2beat.com/layer2s/projects/scroll?update=ea046136) (3 changes) New targets are added to the ScrollOwner accessControl: `updateVerifier` on the MultipleVersionRollupVerifier can now be called via TimelockMid(7d) and `setBatchConfig` on the L1BatchBridgeGateway via TimelockFast(1d). ### [2024-07-08 06:07 UTC](https://l2beat.com/layer2s/projects/scroll?update=dc1d8275) (55 changes) Batches are reverted [in this transaction](https://app.blocksec.com/explorer/tx/eth/0xf58cd0223418a4dd390be63d67c31ccd3b05a82d59461106227664e8fc417ac5). Unclear what justified this action. Relevant incident page: https://status.scroll.io/incidents/44k6s4qg6kcs ### [2024-07-04 07:23 UTC](https://l2beat.com/layer2s/projects/scroll?update=c0a1b849) (high severity, 7 changes) This upgrade is called [the Curie Upgrade](https://scroll.io/blog/compressing-the-gas-scrolls-curie-upgrade) by Scroll. It brings a new batch version that has new compression and an accompanying new verifier and verifier-manager. The L2 changes are listed in the blog post. #### ScrollChain Batch version > 1 is now supported. This allows for the new batch version 2 to be posted. #### MultipleVersionRollupVerifier (manages verifiers) In the `updateVerifier()` function, a check whether the new verifier's `_startBatchIndex` is already finalized (-->revert), is removed. #### ZkEvmVerifierV1 This is the contract in the third slot of `latestVerifier`, added in this upgrade. It is code-identical with the previous one, but points to the new Plonk Verifier. #### New Plonk Verifier The source code (yul+) can be found at https://circuit-release.s3.us-west-2.amazonaws.com/release-v0.11.4/evm_verifier.yul. ### [2024-05-29 07:42 UTC](https://l2beat.com/layer2s/projects/scroll?update=5e37408c) (1 change) The owner of MultipleVersionRollupVerifier (manages verifiers for the Scroll rollup) is changed from the Scroll Multisig to the ScrollOwner contrac. (as described on the frontend) ### [2024-05-20 14:11 UTC](https://l2beat.com/layer2s/projects/scroll?update=0e2109bb) (2 changes) Added the Lido wstETH escrow together with its admin. ### [2024-04-29 10:01 UTC](https://l2beat.com/layer2s/projects/scroll?update=5cabc0a4) (high severity, 8 changes) Added blob support. #### ScrollChain Use of errors instead of requires. `commitBatch` now supports version `1`, which is blobs. Added `finalizeBatchWithProof4844` function. #### MultipleVersionRollupVerifier It has been updated to support multiple versions. Before, it just contained a single `latestVerifier`, now it's a mapping from versions to latest verifiers. ### [2024-02-23 12:04 UTC](https://l2beat.com/layer2s/projects/scroll?update=54877ab0) (high severity, 24 changes) #### L1CustomERC20Gateway Use of errors instead of reverts. Some variables are now immutable (counterpart, router, messenger). #### L1ERC1155Gateway Again, use of errors instead of reverts. Some variables are now immutable (counterpart, router, messenger). #### L1ERC721Gateway Same changes. #### L1ETHGateway Same changes. #### L1MessageQueue The enforced tx gateway is now immutable and set. An L2 gas price oracle is implemented and a permissioned actor can relay the L2 base fee. #### L1ScrollMessenger Same changes as first ones. #### L1StandardERC20Gateway Same changes. #### L1USDCGateway Same changes. #### L1WETHGateway Same changes. #### ScrollChain Same changes. In addition, the verifier is now immutable. #### EnforcedTxGateway Currently paused, so no risk has changed. ### [2023-12-21 07:52 UTC](https://l2beat.com/layer2s/projects/scroll?update=bd349b35) (1 change) One owner is removed from ExecutorMultisig and another is added. ### [2023-12-18 11:58 UTC](https://l2beat.com/layer2s/projects/scroll?update=39217bfa) (1 change) One owner is removed from EmergencyMultisig and another is added. ### [2023-11-08 15:41 UTC](https://l2beat.com/layer2s/projects/scroll?update=a535c9ec) (1 change) One ExecutorMultisig owner has changed. ### [2023-11-07 07:33 UTC](https://l2beat.com/layer2s/projects/scroll?update=c99e4e10) (4 changes) New owner added to FeeVaultMultisig. ### [2023-11-03 07:55 UTC](https://l2beat.com/layer2s/projects/scroll?update=9da1c382) (2 changes) Two ScrollMultisig owners are changed. ### [2023-10-31 07:30 UTC](https://l2beat.com/layer2s/projects/scroll?update=72aec5b0) (1 change) FeeVaultMultisig owner change. ### [2023-10-30 09:59 UTC](https://l2beat.com/layer2s/projects/scroll?update=3e857a39) (4 changes) Change of owners of Emergency MultiSig and Scroll MultiSig. ### [2023-10-19 08:22 UTC](https://l2beat.com/layer2s/projects/scroll?update=80e5496f) (35 changes) Added Scroll. Their AccessControl extension needed a custom handler since it also specifies which function a role can call. Fallback contracts are not being displayed on the website because they're just used to recover funds in case of a mistake. ### [2023-10-12 12:22 UTC](https://l2beat.com/layer2s/projects/scroll?update=6c75468f) (19 changes) Update discovery to include the multisig threshold. ## Operator ### The system has a centralized sequencer While forcing transaction is open to anyone the system employs a privileged sequencer that has priority for submitting transaction batches and ordering transactions. **Risks** - MEV can be extracted if the operator exploits their centralized position and frontruns user transactions. **References** - [ScrollChain.sol - Etherscan source code, finalizeBundlePostEuclidV2() function modifier](https://etherscan.io/address/0x0a20703878E68E587c59204cc0EA86098B8c3bA7#code) ### Users can force any transaction Because the state of the system is based on transactions submitted on the underlying host chain and anyone can submit their transactions there it allows the users to circumvent censorship by interacting with the smart contract on the host chain directly. The enforced liveness mechanism is activated if either an L1 message has not been finalized for more than 7d or a batch has not been finalized for more than 7d. When activated, transactions that were directly posted to the smart contract can be forcefully included by anyone on the host chain, which finalizes their ordering. **References** - [EnforcedTxGateway.sol - Etherscan source code](https://etherscan.io/address/0x7e87c75BBe7991bbCEBd2C7a56f4cFC923BDDBcc#code) - [L1MessageQueueV2 - Etherscan proxy contract](https://etherscan.io/address/0x39C36c9026ac18104839A50c61a4507ea5052ECa) ## 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. **References** - [L1ETHGateway.sol - Etherscan source code, finalizeWithdrawETH function](https://etherscan.io/address/0x1fee6a6dC49095FB9C84D61aa4b8A07284b2A1d0#code) ## Permissions Explore these contracts and permissions in Disco, L2BEAT's contract explorer: https://disco.l2beat.com/ui/p/scroll ### Ethereum #### Actors ##### ScrollAdminMultisig Addresses: [0xcca54B0916Cee2186b47E9709BEdcb7041A8F761](https://etherscan.io/address/0xcca54B0916Cee2186b47E9709BEdcb7041A8F761) A Multisig with 3/4 threshold. Multisig of Scroll team operators that controls the rollup's upgrade and proof-system parameter paths. - Can interact with TimelockSCEmergency - cancel queued transactions - execute transactions that are ready - propose transactions - update the minimum delay and manage all access control roles of the timelock [via: TimelockSCEmergency - or - acting directly] - Can interact with TimelockSCSlow - cancel queued transactions - execute transactions that are ready - propose transactions - update the minimum delay and manage all access control roles of the timelock **with 3d delay or with no delay** [via: TimelockSCSlow with 3d delay - or - acting directly] - Can interact with ScrollOwner - disable enforced batch mode [via: TimelockSCEmergency] - unpause core contracts via the PauseController - update and reset the PauseController cooldown period [via: TimelockSCEmergency] - update ScrollChain zk proof verifier [via: TimelockSCEmergency] - update the L1ScrollMessenger fee vault address [via: TimelockSCEmergency] - update the minimum delay message queue parameters and enforced mode parameters [via: TimelockSCEmergency] - upgrade all core contracts of the system [via: TimelockSCEmergency] Participants (4): [0x8460aCc9A42D2CF07015a3e838df2E3aB37d30ae](https://etherscan.io/address/0x8460aCc9A42D2CF07015a3e838df2E3aB37d30ae), [0xEbbeeAA424AE904508465a41c927Be594C43Dc68](https://etherscan.io/address/0xEbbeeAA424AE904508465a41c927Be594C43Dc68), [0x6aE9233a6a66B5E4bEFB7f3d6bBAd07873b1664b](https://l2beat.com/layer2s/projects/scroll#EOA-2) (EOA 2), [0x716f84f747e2B75aBB917ff0bCb0a71C41AA8831](https://l2beat.com/layer2s/projects/scroll#EOA-3) (EOA 3) **References** - [Governance Update: Security Council Transition, Contributor Roles & Operational Adjustments (Scroll forum, 2026-04-13)](https://forum.scroll.io/t/governance-update-security-council-transition-contributor-roles-operational-adjustments/1470) - [L1 execution tx](https://etherscan.io/tx/0xbc6079d54f7a5fc548402db349168732c3f02430c156f4723865934bdb373765) ##### Scroll Multisig 2 Addresses: [0xbdA143d49da40C2cDA27c40edfBbe8A0D4AE0cBc](https://etherscan.io/address/0xbdA143d49da40C2cDA27c40edfBbe8A0D4AE0cBc) A Multisig with 2/4 threshold. - Can interact with ScrollOwner - pause the ScrollChain in permissioned mode and the L1 -> L2 message queue [via: TimelockEmergency] - remove permissioned batchers and provers to the whitelist, and update the sequencer address [via: TimelockEmergency] - revert unfinalized batches [via: TimelockEmergency] - Can interact with TimelockEmergency - cancel queued transactions - propose transactions - update the minimum delay and manage all access control roles of the timelock [via: TimelockEmergency - or - acting directly] Participants (4): [0x0c5cc5155b346453154059aD9d2Ff695dB92f774](https://l2beat.com/layer2s/projects/scroll#EOA-1-and-EOA-4) (EOA 1), [0x716f84f747e2B75aBB917ff0bCb0a71C41AA8831](https://l2beat.com/layer2s/projects/scroll#EOA-3) (EOA 3), [0xFcf1f182FC79047d99e5db0d7113c0EfE2EC9402](https://l2beat.com/layer2s/projects/scroll#EOA-1-and-EOA-4) (EOA 4), [0x6aE9233a6a66B5E4bEFB7f3d6bBAd07873b1664b](https://l2beat.com/layer2s/projects/scroll#EOA-2) (EOA 2) ##### Scroll Multisig 3 Addresses: [0xEfc9D1096fb65c832207E5e7F13C2D1102244dbe](https://etherscan.io/address/0xEfc9D1096fb65c832207E5e7F13C2D1102244dbe) A Multisig with 2/4 threshold. - Can interact with TimelockFast - cancel queued transactions - propose transactions - update the minimum delay and manage all access control roles of the timelock **with 1d delay or with no delay** [via: TimelockFast with 1d delay - or - acting directly] - Can interact with ScrollOwner - add permissioned batchers and provers to the whitelist **with 1d delay** [via: TimelockFast with 1d delay] - set ERC20 gateways in the L1GatewayRouter **with 1d delay** [via: TimelockFast with 1d delay] Participants (4): [0x8460aCc9A42D2CF07015a3e838df2E3aB37d30ae](https://etherscan.io/address/0x8460aCc9A42D2CF07015a3e838df2E3aB37d30ae), [0xEbbeeAA424AE904508465a41c927Be594C43Dc68](https://etherscan.io/address/0xEbbeeAA424AE904508465a41c927Be594C43Dc68), [0x716f84f747e2B75aBB917ff0bCb0a71C41AA8831](https://l2beat.com/layer2s/projects/scroll#EOA-3) (EOA 3), [0x6aE9233a6a66B5E4bEFB7f3d6bBAd07873b1664b](https://l2beat.com/layer2s/projects/scroll#EOA-2) (EOA 2) ##### Safe Addresses: [0x1a37bF1Ccbf570C92FE2239FefaaAF861c2924DD](https://etherscan.io/address/0x1a37bF1Ccbf570C92FE2239FefaaAF861c2924DD) A Multisig with 9/12 threshold. Participants (12): [0x0f50874f227621Dea72482004639a9fFe440A4dA](https://etherscan.io/address/0x0f50874f227621Dea72482004639a9fFe440A4dA), [0x70DFdAE47E29D2C40EE58Cefa7379588B421a86d](https://etherscan.io/address/0x70DFdAE47E29D2C40EE58Cefa7379588B421a86d), [0xE47D966E2c7e94fC20ffAf5119d1926381C40f2a](https://etherscan.io/address/0xE47D966E2c7e94fC20ffAf5119d1926381C40f2a), [0x9B2C2Bc80C209c9C5D7f26F57b1Bb3B1699281D4](https://etherscan.io/address/0x9B2C2Bc80C209c9C5D7f26F57b1Bb3B1699281D4), [0x8edC4EADEE120d4C51923c515e7C3241c815C2BC](https://etherscan.io/address/0x8edC4EADEE120d4C51923c515e7C3241c815C2BC) (Safe), [0x30315233090F675520eef5CBd7A6cf7d185af443](https://etherscan.io/address/0x30315233090F675520eef5CBd7A6cf7d185af443), [0x9479ABfebefEea3c846163012a472b44F305b3d7](https://etherscan.io/address/0x9479ABfebefEea3c846163012a472b44F305b3d7) (Safe), [0x383C148ba96956F985F6141B2D119add1C34e3B7](https://etherscan.io/address/0x383C148ba96956F985F6141B2D119add1C34e3B7), [0xC3eA7C657884BB380B66D79C36aDCb5658b01896](https://etherscan.io/address/0xC3eA7C657884BB380B66D79C36aDCb5658b01896) (Safe), [0x69C2eD64171bF5737c2B78bdF722e68a032B2825](https://etherscan.io/address/0x69C2eD64171bF5737c2B78bdF722e68a032B2825) (Safe), [0x11cd09a0c5B1dc674615783b0772a9bFD53e3A8F](https://etherscan.io/address/0x11cd09a0c5B1dc674615783b0772a9bFD53e3A8F) (GnosisSafeL2), [0xFb77d22ED83F42922F9542e39dCfA9F8C47FDaFf](https://etherscan.io/address/0xFb77d22ED83F42922F9542e39dCfA9F8C47FDaFf) ##### Scroll Multisig 1 Addresses: [0x1FF1fc1BB4d1f081f6E0a7E7E3240F3ECC5B236f](https://etherscan.io/address/0x1FF1fc1BB4d1f081f6E0a7E7E3240F3ECC5B236f) A Multisig with 1/4 threshold. Participants (4): [0x716f84f747e2B75aBB917ff0bCb0a71C41AA8831](https://l2beat.com/layer2s/projects/scroll#EOA-3) (EOA 3), [0xFcf1f182FC79047d99e5db0d7113c0EfE2EC9402](https://l2beat.com/layer2s/projects/scroll#EOA-1-and-EOA-4) (EOA 4), [0x0c5cc5155b346453154059aD9d2Ff695dB92f774](https://l2beat.com/layer2s/projects/scroll#EOA-1-and-EOA-4) (EOA 1), [0x6aE9233a6a66B5E4bEFB7f3d6bBAd07873b1664b](https://l2beat.com/layer2s/projects/scroll#EOA-2) (EOA 2) ##### Scroll Security Council Minority Addresses: [0x40bD67b02EBf1CFB4AdA7F60CabAc94d6aafc6eE](https://etherscan.io/address/0x40bD67b02EBf1CFB4AdA7F60CabAc94d6aafc6eE) A Multisig with 3/12 threshold. Participants (12): [0x70DFdAE47E29D2C40EE58Cefa7379588B421a86d](https://etherscan.io/address/0x70DFdAE47E29D2C40EE58Cefa7379588B421a86d), [0x0f50874f227621Dea72482004639a9fFe440A4dA](https://etherscan.io/address/0x0f50874f227621Dea72482004639a9fFe440A4dA), [0xE47D966E2c7e94fC20ffAf5119d1926381C40f2a](https://etherscan.io/address/0xE47D966E2c7e94fC20ffAf5119d1926381C40f2a), [0x8edC4EADEE120d4C51923c515e7C3241c815C2BC](https://etherscan.io/address/0x8edC4EADEE120d4C51923c515e7C3241c815C2BC) (Safe), [0x9479ABfebefEea3c846163012a472b44F305b3d7](https://etherscan.io/address/0x9479ABfebefEea3c846163012a472b44F305b3d7) (Safe), [0x69C2eD64171bF5737c2B78bdF722e68a032B2825](https://etherscan.io/address/0x69C2eD64171bF5737c2B78bdF722e68a032B2825) (Safe), [0x383C148ba96956F985F6141B2D119add1C34e3B7](https://etherscan.io/address/0x383C148ba96956F985F6141B2D119add1C34e3B7), [0xC3eA7C657884BB380B66D79C36aDCb5658b01896](https://etherscan.io/address/0xC3eA7C657884BB380B66D79C36aDCb5658b01896) (Safe), [0x11cd09a0c5B1dc674615783b0772a9bFD53e3A8F](https://etherscan.io/address/0x11cd09a0c5B1dc674615783b0772a9bFD53e3A8F) (GnosisSafeL2), [0x30315233090F675520eef5CBd7A6cf7d185af443](https://etherscan.io/address/0x30315233090F675520eef5CBd7A6cf7d185af443), [0x9B2C2Bc80C209c9C5D7f26F57b1Bb3B1699281D4](https://etherscan.io/address/0x9B2C2Bc80C209c9C5D7f26F57b1Bb3B1699281D4), [0xFb77d22ED83F42922F9542e39dCfA9F8C47FDaFf](https://etherscan.io/address/0xFb77d22ED83F42922F9542e39dCfA9F8C47FDaFf) ##### 2 EOAs Addresses: [0x0c5cc5155b346453154059aD9d2Ff695dB92f774](https://etherscan.io/address/0x0c5cc5155b346453154059aD9d2Ff695dB92f774) (EOA 1), [0xFcf1f182FC79047d99e5db0d7113c0EfE2EC9402](https://etherscan.io/address/0xFcf1f182FC79047d99e5db0d7113c0EfE2EC9402) (EOA 4) Member of Scroll Multisig 1, Scroll Multisig 4, Scroll Multisig 2. - Can interact with TimelockSCEmergency - execute transactions that are ready [via: Scroll Multisig 1] - Can interact with TimelockFast - execute transactions that are ready [via: Scroll Multisig 1] - Can interact with TimelockSCSlow - execute transactions that are ready [via: Scroll Multisig 1] - Can interact with TimelockEmergency - execute transactions that are ready [via: Scroll Multisig 1] ##### EOA 2 Addresses: [0x6aE9233a6a66B5E4bEFB7f3d6bBAd07873b1664b](https://etherscan.io/address/0x6aE9233a6a66B5E4bEFB7f3d6bBAd07873b1664b) Member of Scroll Multisig 1, Scroll Multisig 4, Scroll Multisig 2, ScrollAdminMultisig, Scroll Multisig 3. - Can interact with TimelockSCEmergency - execute transactions that are ready [via: Scroll Multisig 1] - Can interact with TimelockFast - execute transactions that are ready [via: Scroll Multisig 1] - Can interact with TimelockSCSlow - execute transactions that are ready [via: Scroll Multisig 1] - Can interact with TimelockEmergency - execute transactions that are ready [via: Scroll Multisig 1] ##### EOA 3 Addresses: [0x716f84f747e2B75aBB917ff0bCb0a71C41AA8831](https://etherscan.io/address/0x716f84f747e2B75aBB917ff0bCb0a71C41AA8831) Member of Scroll Multisig 1, Scroll Multisig 2, ScrollAdminMultisig, Scroll Multisig 3. - Can interact with TimelockSCEmergency - execute transactions that are ready [via: Scroll Multisig 1] - Can interact with TimelockFast - execute transactions that are ready [via: Scroll Multisig 1] - Can interact with TimelockSCSlow - execute transactions that are ready [via: Scroll Multisig 1] - Can interact with TimelockEmergency - execute transactions that are ready [via: Scroll Multisig 1] ### Scroll #### Actors ##### ScrollAdminMultisig Addresses: [0xcca54B0916Cee2186b47E9709BEdcb7041A8F761](https://scrollscan.com/address/0xcca54B0916Cee2186b47E9709BEdcb7041A8F761) A Multisig with 3/4 threshold. L2 counterpart of ScrollAdminMultisig. - Can interact with ScrollOwner - disable enforced batch mode [via: TimelockSCEmergencyScroll] - update ScrollChain zk proof verifier [via: TimelockSCEmergencyScroll] - upgrade all core contracts of the system [via: TimelockSCEmergencyScroll] - Can interact with TimelockSCEmergencyScroll - cancel queued transactions - execute transactions that are ready - propose transactions - update the minimum delay and manage all access control roles of the timelock [via: TimelockSCEmergencyScroll - or - acting directly] - Can interact with AgoraGovernor - can configure contract settings such as voting delay, quorum, contract manager **with no delay or with 3d delay** [via: - acting directly - or TimelockSCSlow with 3d delay] - Can interact with TimelockSCSlow - cancel queued transactions - execute transactions that are ready - propose transactions - update the minimum delay and manage all access control roles of the timelock **with 3d delay or with no delay** [via: TimelockSCSlow with 3d delay - or - acting directly] Participants (4): [0x8460aCc9A42D2CF07015a3e838df2E3aB37d30ae](https://scrollscan.com/address/0x8460aCc9A42D2CF07015a3e838df2E3aB37d30ae), [0xEbbeeAA424AE904508465a41c927Be594C43Dc68](https://scrollscan.com/address/0xEbbeeAA424AE904508465a41c927Be594C43Dc68), [0x6aE9233a6a66B5E4bEFB7f3d6bBAd07873b1664b](https://l2beat.com/layer2s/projects/scroll#EOA-6-and-EOA-7) (EOA 6), [0x716f84f747e2B75aBB917ff0bCb0a71C41AA8831](https://l2beat.com/layer2s/projects/scroll#EOA-6-and-EOA-7) (EOA 7) **References** - [L2 execution tx](https://scrollscan.com/tx/0x7278f818e917a553318083cf44d99a4b92d72b876c1e19a1834fa3b2114b62bd) ##### AgoraGovernor Addresses: [0x2f3F2054776bd3C2fc30d750734A8F539Bb214f0](https://scrollscan.com/address/0x2f3F2054776bd3C2fc30d750734A8F539Bb214f0) Used to propose and manage onchain governance proposals. - Can interact with AgoraGovernor - can configure contract settings such as voting delay, quorum, contract manager **with 3d delay** [via: TimelockSCSlow with 3d delay] - Can interact with TimelockSCSlow - cancel queued transactions - execute transactions that are ready - propose transactions - update the minimum delay and manage all access control roles of the timelock **with 3d delay** [via: TimelockSCSlow with 3d delay] ##### Scroll Multisig 2 Addresses: [0xbdA143d49da40C2cDA27c40edfBbe8A0D4AE0cBc](https://scrollscan.com/address/0xbdA143d49da40C2cDA27c40edfBbe8A0D4AE0cBc) A Multisig with 2/4 threshold. - Can interact with TimelockEmergency - cancel queued transactions - propose transactions - update the minimum delay and manage all access control roles of the timelock [via: TimelockEmergency - or - acting directly] Participants (4): [0x0c5cc5155b346453154059aD9d2Ff695dB92f774](https://l2beat.com/layer2s/projects/scroll#EOA-5-and-EOA-8) (EOA 5), [0x716f84f747e2B75aBB917ff0bCb0a71C41AA8831](https://l2beat.com/layer2s/projects/scroll#EOA-6-and-EOA-7) (EOA 7), [0xFcf1f182FC79047d99e5db0d7113c0EfE2EC9402](https://l2beat.com/layer2s/projects/scroll#EOA-5-and-EOA-8) (EOA 8), [0x6aE9233a6a66B5E4bEFB7f3d6bBAd07873b1664b](https://l2beat.com/layer2s/projects/scroll#EOA-6-and-EOA-7) (EOA 6) ##### Scroll Multisig 3 Addresses: [0xEfc9D1096fb65c832207E5e7F13C2D1102244dbe](https://scrollscan.com/address/0xEfc9D1096fb65c832207E5e7F13C2D1102244dbe) A Multisig with 2/4 threshold. - Can interact with TimelockFast - cancel queued transactions - propose transactions - update the minimum delay and manage all access control roles of the timelock **with 1d delay or with no delay** [via: TimelockFast with 1d delay - or - acting directly] Participants (4): [0x8460aCc9A42D2CF07015a3e838df2E3aB37d30ae](https://scrollscan.com/address/0x8460aCc9A42D2CF07015a3e838df2E3aB37d30ae), [0xEbbeeAA424AE904508465a41c927Be594C43Dc68](https://scrollscan.com/address/0xEbbeeAA424AE904508465a41c927Be594C43Dc68), [0x716f84f747e2B75aBB917ff0bCb0a71C41AA8831](https://l2beat.com/layer2s/projects/scroll#EOA-6-and-EOA-7) (EOA 7), [0x6aE9233a6a66B5E4bEFB7f3d6bBAd07873b1664b](https://l2beat.com/layer2s/projects/scroll#EOA-6-and-EOA-7) (EOA 6) ##### GnosisSafeL2 Addresses: [0x2B2A8546Df3B23535fffd75B4e312f3C5c7B4351](https://scrollscan.com/address/0x2B2A8546Df3B23535fffd75B4e312f3C5c7B4351) A Multisig with 2/2 threshold. - Can interact with AgoraGovernor - can propose new onchain governance proposals without the required threshold of votes Participants (2): [0x1Da431d2D5ECA4Df735F69fB5ea10c8E630b8f50](https://scrollscan.com/address/0x1Da431d2D5ECA4Df735F69fB5ea10c8E630b8f50), [0x558581b0345D986bA5bD6f04Efd27e2a5B991320](https://scrollscan.com/address/0x558581b0345D986bA5bD6f04Efd27e2a5B991320) ##### ProxyAdmin Addresses: [0x8e34D07Eb348716a1f0a48A507A9de8a3A6DcE45](https://scrollscan.com/address/0x8e34D07Eb348716a1f0a48A507A9de8a3A6DcE45) - Can upgrade **with no delay** - L2LidoGateway ##### SafeL2 Addresses: [0x1a37bF1Ccbf570C92FE2239FefaaAF861c2924DD](https://scrollscan.com/address/0x1a37bF1Ccbf570C92FE2239FefaaAF861c2924DD) A Multisig with 9/12 threshold. Participants (12): [0x0f50874f227621Dea72482004639a9fFe440A4dA](https://scrollscan.com/address/0x0f50874f227621Dea72482004639a9fFe440A4dA), [0x70DFdAE47E29D2C40EE58Cefa7379588B421a86d](https://scrollscan.com/address/0x70DFdAE47E29D2C40EE58Cefa7379588B421a86d), [0xE47D966E2c7e94fC20ffAf5119d1926381C40f2a](https://scrollscan.com/address/0xE47D966E2c7e94fC20ffAf5119d1926381C40f2a), [0x9B2C2Bc80C209c9C5D7f26F57b1Bb3B1699281D4](https://scrollscan.com/address/0x9B2C2Bc80C209c9C5D7f26F57b1Bb3B1699281D4), [0x8edC4EADEE120d4C51923c515e7C3241c815C2BC](https://scrollscan.com/address/0x8edC4EADEE120d4C51923c515e7C3241c815C2BC) (SafeL2), [0x30315233090F675520eef5CBd7A6cf7d185af443](https://scrollscan.com/address/0x30315233090F675520eef5CBd7A6cf7d185af443), [0x9479ABfebefEea3c846163012a472b44F305b3d7](https://scrollscan.com/address/0x9479ABfebefEea3c846163012a472b44F305b3d7) (SafeL2), [0x383C148ba96956F985F6141B2D119add1C34e3B7](https://scrollscan.com/address/0x383C148ba96956F985F6141B2D119add1C34e3B7), [0xC3eA7C657884BB380B66D79C36aDCb5658b01896](https://scrollscan.com/address/0xC3eA7C657884BB380B66D79C36aDCb5658b01896) (SafeL2), [0x69C2eD64171bF5737c2B78bdF722e68a032B2825](https://scrollscan.com/address/0x69C2eD64171bF5737c2B78bdF722e68a032B2825) (SafeL2), [0x11cd09a0c5B1dc674615783b0772a9bFD53e3A8F](https://scrollscan.com/address/0x11cd09a0c5B1dc674615783b0772a9bFD53e3A8F) (GnosisSafeL2), [0xFb77d22ED83F42922F9542e39dCfA9F8C47FDaFf](https://scrollscan.com/address/0xFb77d22ED83F42922F9542e39dCfA9F8C47FDaFf) ##### Scroll Multisig 1 Addresses: [0x1FF1fc1BB4d1f081f6E0a7E7E3240F3ECC5B236f](https://scrollscan.com/address/0x1FF1fc1BB4d1f081f6E0a7E7E3240F3ECC5B236f) A Multisig with 1/4 threshold. Participants (4): [0x716f84f747e2B75aBB917ff0bCb0a71C41AA8831](https://l2beat.com/layer2s/projects/scroll#EOA-6-and-EOA-7) (EOA 7), [0xFcf1f182FC79047d99e5db0d7113c0EfE2EC9402](https://l2beat.com/layer2s/projects/scroll#EOA-5-and-EOA-8) (EOA 8), [0x0c5cc5155b346453154059aD9d2Ff695dB92f774](https://l2beat.com/layer2s/projects/scroll#EOA-5-and-EOA-8) (EOA 5), [0x6aE9233a6a66B5E4bEFB7f3d6bBAd07873b1664b](https://l2beat.com/layer2s/projects/scroll#EOA-6-and-EOA-7) (EOA 6) ##### Scroll Security Council Minority Addresses: [0x40bD67b02EBf1CFB4AdA7F60CabAc94d6aafc6eE](https://scrollscan.com/address/0x40bD67b02EBf1CFB4AdA7F60CabAc94d6aafc6eE) A Multisig with 3/12 threshold. Participants (12): [0x70DFdAE47E29D2C40EE58Cefa7379588B421a86d](https://scrollscan.com/address/0x70DFdAE47E29D2C40EE58Cefa7379588B421a86d), [0x0f50874f227621Dea72482004639a9fFe440A4dA](https://scrollscan.com/address/0x0f50874f227621Dea72482004639a9fFe440A4dA), [0xE47D966E2c7e94fC20ffAf5119d1926381C40f2a](https://scrollscan.com/address/0xE47D966E2c7e94fC20ffAf5119d1926381C40f2a), [0x8edC4EADEE120d4C51923c515e7C3241c815C2BC](https://scrollscan.com/address/0x8edC4EADEE120d4C51923c515e7C3241c815C2BC) (SafeL2), [0x9479ABfebefEea3c846163012a472b44F305b3d7](https://scrollscan.com/address/0x9479ABfebefEea3c846163012a472b44F305b3d7) (SafeL2), [0x69C2eD64171bF5737c2B78bdF722e68a032B2825](https://scrollscan.com/address/0x69C2eD64171bF5737c2B78bdF722e68a032B2825) (SafeL2), [0x383C148ba96956F985F6141B2D119add1C34e3B7](https://scrollscan.com/address/0x383C148ba96956F985F6141B2D119add1C34e3B7), [0xC3eA7C657884BB380B66D79C36aDCb5658b01896](https://scrollscan.com/address/0xC3eA7C657884BB380B66D79C36aDCb5658b01896) (SafeL2), [0x11cd09a0c5B1dc674615783b0772a9bFD53e3A8F](https://scrollscan.com/address/0x11cd09a0c5B1dc674615783b0772a9bFD53e3A8F) (GnosisSafeL2), [0x30315233090F675520eef5CBd7A6cf7d185af443](https://scrollscan.com/address/0x30315233090F675520eef5CBd7A6cf7d185af443), [0x9B2C2Bc80C209c9C5D7f26F57b1Bb3B1699281D4](https://scrollscan.com/address/0x9B2C2Bc80C209c9C5D7f26F57b1Bb3B1699281D4), [0xFb77d22ED83F42922F9542e39dCfA9F8C47FDaFf](https://scrollscan.com/address/0xFb77d22ED83F42922F9542e39dCfA9F8C47FDaFf) ##### 2 EOAs (0x0c5c…f774) Addresses: [0x0c5cc5155b346453154059aD9d2Ff695dB92f774](https://scrollscan.com/address/0x0c5cc5155b346453154059aD9d2Ff695dB92f774) (EOA 5), [0xFcf1f182FC79047d99e5db0d7113c0EfE2EC9402](https://scrollscan.com/address/0xFcf1f182FC79047d99e5db0d7113c0EfE2EC9402) (EOA 8) Member of Scroll Multisig 1, Scroll Multisig 2. - Can interact with TimelockSCEmergencyScroll - execute transactions that are ready [via: Scroll Multisig 1] - Can interact with TimelockFast - execute transactions that are ready [via: Scroll Multisig 1] - Can interact with TimelockSCSlow - execute transactions that are ready [via: Scroll Multisig 1] - Can interact with TimelockEmergency - execute transactions that are ready [via: Scroll Multisig 1] ##### 2 EOAs (0x6aE9…664b) Addresses: [0x6aE9233a6a66B5E4bEFB7f3d6bBAd07873b1664b](https://scrollscan.com/address/0x6aE9233a6a66B5E4bEFB7f3d6bBAd07873b1664b) (EOA 6), [0x716f84f747e2B75aBB917ff0bCb0a71C41AA8831](https://scrollscan.com/address/0x716f84f747e2B75aBB917ff0bCb0a71C41AA8831) (EOA 7) Member of Scroll Multisig 1, Scroll Multisig 2, ScrollAdminMultisig, Scroll Multisig 3. - Can interact with TimelockSCEmergencyScroll - execute transactions that are ready [via: Scroll Multisig 1] - Can interact with TimelockFast - execute transactions that are ready [via: Scroll Multisig 1] - Can interact with TimelockSCSlow - execute transactions that are ready [via: Scroll Multisig 1] - Can interact with TimelockEmergency - execute transactions that are ready [via: Scroll Multisig 1] ## Smart contracts ![A diagram of the smart contract architecture](https://l2beat.com/static/images/architecture/scroll.02c91fe0.png) Explore these contracts and permissions in Disco, L2BEAT's contract explorer: https://disco.l2beat.com/ui/p/scroll ### Ethereum #### MultipleVersionRollupVerifier Addresses: [0x4CEA3E866e7c57fD75CB0CA3E9F5f1151D4Ead3F](https://etherscan.io/address/0x4CEA3E866e7c57fD75CB0CA3E9F5f1151D4Ead3F#code) Contract used to update the verifier and keep track of current and old versions. #### L1MessageQueueV2 Addresses: [0x56971da63A3C0205184FEF096E9ddFc7A8C2D18a](https://etherscan.io/address/0x56971da63A3C0205184FEF096E9ddFc7A8C2D18a#code), [0x39C36c9026ac18104839A50c61a4507ea5052ECa](https://etherscan.io/address/0x39C36c9026ac18104839A50c61a4507ea5052ECa#code) (Implementation (Upgradable)), [0xEB803eb3F501998126bf37bB823646Ed3D59d072](https://etherscan.io/address/0xEB803eb3F501998126bf37bB823646Ed3D59d072#code) (Admin) **Past upgrades** (Count of upgrades: 2, Last upgrade: 1y 1mo ago, Avg upgrade interval: 6mo 11d) - 2025-08-18 02:46 UTC, upgrade of [L1MessageQueueV2](https://etherscan.io/address/0x56971da63A3C0205184FEF096E9ddFc7A8C2D18a#code): transaction [0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c](https://etherscan.io/tx/0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c), implementations: [0x39C36c9026ac18104839A50c61a4507ea5052ECa](https://etherscan.io/address/0x39C36c9026ac18104839A50c61a4507ea5052ECa#code) ([diff](https://disco.l2beat.com/diff/eth:0xEfA158006b072793a49E622B26761cD0eC38591d/eth:0x39C36c9026ac18104839A50c61a4507ea5052ECa)) - 2025-04-22 06:01 UTC, upgrade of [L1MessageQueueV2](https://etherscan.io/address/0x56971da63A3C0205184FEF096E9ddFc7A8C2D18a#code): transaction [0x2c09704f5717cd65e31ea854b8c6a5229b841fcabc5bcbbbb1117f13b9f60d21](https://etherscan.io/tx/0x2c09704f5717cd65e31ea854b8c6a5229b841fcabc5bcbbbb1117f13b9f60d21), implementations: [0xEfA158006b072793a49E622B26761cD0eC38591d](https://etherscan.io/address/0xEfA158006b072793a49E622B26761cD0eC38591d#code) ([diff](https://disco.l2beat.com/diff/eth:0xFAf8f72e54d1089fa1882b6f597BfDFF59a8AFca/eth:0xEfA158006b072793a49E622B26761cD0eC38591d)) - 2025-03-20 13:08 UTC, deployment of [L1MessageQueueV2](https://etherscan.io/address/0x56971da63A3C0205184FEF096E9ddFc7A8C2D18a#code): transaction [0xa44917bb285df86b23937d2180e5e2d21d47407803736797bc8cdbaf59d8f256](https://etherscan.io/tx/0xa44917bb285df86b23937d2180e5e2d21d47407803736797bc8cdbaf59d8f256), implementations: [0xFAf8f72e54d1089fa1882b6f597BfDFF59a8AFca](https://etherscan.io/address/0xFAf8f72e54d1089fa1882b6f597BfDFF59a8AFca#code) Contains the array of queued L1 -> L2 messages, either appended using the L1ScrollMessenger or the EnforcedTxGateway. - Roles: - **admin**: ProxyAdmin #### L1ScrollMessenger (escrow) Addresses: [0x6774Bcbd5ceCeF1336b5300fb5186a12DDD8b367](https://etherscan.io/address/0x6774Bcbd5ceCeF1336b5300fb5186a12DDD8b367#code), [0x79b6eAbfFAa958FDF2Aa2Bf632878bD323DCbF69](https://etherscan.io/address/0x79b6eAbfFAa958FDF2Aa2Bf632878bD323DCbF69#code) (Implementation (Upgradable)), [0xEB803eb3F501998126bf37bB823646Ed3D59d072](https://etherscan.io/address/0xEB803eb3F501998126bf37bB823646Ed3D59d072#code) (Admin) **Past upgrades** (Count of upgrades: 4, Last upgrade: 1y 1mo ago, Avg upgrade interval: 7mo 10d) - 2025-08-18 02:46 UTC, upgrade of [L1ScrollMessenger](https://etherscan.io/address/0x6774Bcbd5ceCeF1336b5300fb5186a12DDD8b367#code): transaction [0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c](https://etherscan.io/tx/0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c), implementations: [0x79b6eAbfFAa958FDF2Aa2Bf632878bD323DCbF69](https://etherscan.io/address/0x79b6eAbfFAa958FDF2Aa2Bf632878bD323DCbF69#code) ([diff](https://disco.l2beat.com/diff/eth:0x84791281EF5cb8Af5dCd4c122f7A42FeD38Fef5b/eth:0x79b6eAbfFAa958FDF2Aa2Bf632878bD323DCbF69)) - 2025-04-25 07:06 UTC, upgrade of [L1ScrollMessenger](https://etherscan.io/address/0x6774Bcbd5ceCeF1336b5300fb5186a12DDD8b367#code): transaction [0x783703d4e94de48edb75261149a540cbf7abb7ef077865c11080e622a508ab86](https://etherscan.io/tx/0x783703d4e94de48edb75261149a540cbf7abb7ef077865c11080e622a508ab86), implementations: [0x84791281EF5cb8Af5dCd4c122f7A42FeD38Fef5b](https://etherscan.io/address/0x84791281EF5cb8Af5dCd4c122f7A42FeD38Fef5b#code) ([diff](https://disco.l2beat.com/diff/eth:0xc6326109E33465d6d61e4Cb7AFCe7B1bE7cfF868/eth:0x84791281EF5cb8Af5dCd4c122f7A42FeD38Fef5b)) - 2025-04-22 06:01 UTC, upgrade of [L1ScrollMessenger](https://etherscan.io/address/0x6774Bcbd5ceCeF1336b5300fb5186a12DDD8b367#code): transaction [0x2c09704f5717cd65e31ea854b8c6a5229b841fcabc5bcbbbb1117f13b9f60d21](https://etherscan.io/tx/0x2c09704f5717cd65e31ea854b8c6a5229b841fcabc5bcbbbb1117f13b9f60d21), implementations: [0xc6326109E33465d6d61e4Cb7AFCe7B1bE7cfF868](https://etherscan.io/address/0xc6326109E33465d6d61e4Cb7AFCe7B1bE7cfF868#code) ([diff](https://disco.l2beat.com/diff/eth:0x72981fD00087fF4F60aBFdE9f353cB1912A37fb6/eth:0xc6326109E33465d6d61e4Cb7AFCe7B1bE7cfF868)) - 2024-02-22 08:20 UTC, upgrade of [L1ScrollMessenger](https://etherscan.io/address/0x6774Bcbd5ceCeF1336b5300fb5186a12DDD8b367#code): transaction [0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826](https://etherscan.io/tx/0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826), implementations: [0x72981fD00087fF4F60aBFdE9f353cB1912A37fb6](https://etherscan.io/address/0x72981fD00087fF4F60aBFdE9f353cB1912A37fb6#code) ([diff](https://disco.l2beat.com/diff/eth:0xAf2F898a8680cb52766ABE0588ebe6b9bFe37845/eth:0x72981fD00087fF4F60aBFdE9f353cB1912A37fb6)) - 2023-10-08 16:25 UTC, deployment of [L1ScrollMessenger](https://etherscan.io/address/0x6774Bcbd5ceCeF1336b5300fb5186a12DDD8b367#code): transaction [0xcad9f31340db6aca3a5da0d704ee33a9b6c43a5b1be4406cc0ed33edbdd7c92e](https://etherscan.io/tx/0xcad9f31340db6aca3a5da0d704ee33a9b6c43a5b1be4406cc0ed33edbdd7c92e), implementations: [0xAf2F898a8680cb52766ABE0588ebe6b9bFe37845](https://etherscan.io/address/0xAf2F898a8680cb52766ABE0588ebe6b9bFe37845#code) Contract used to send L1 -> L2 and relay messages from L2. It allows to replay failed messages and to drop skipped messages. L1 -> L2 messages sent using this contract pay for L2 gas on L1 and will have the aliased address of this contract as the sender. - Roles: - **admin**: ProxyAdmin The following tokens are included in the value secured calculation: ETH #### EnforcedTxGateway Addresses: [0x72CAcBcfDe2d1e19122F8A36a4d6676cd39d7A5d](https://etherscan.io/address/0x72CAcBcfDe2d1e19122F8A36a4d6676cd39d7A5d#code), [0x7e87c75BBe7991bbCEBd2C7a56f4cFC923BDDBcc](https://etherscan.io/address/0x7e87c75BBe7991bbCEBd2C7a56f4cFC923BDDBcc#code) (Implementation (Upgradable)), [0xEB803eb3F501998126bf37bB823646Ed3D59d072](https://etherscan.io/address/0xEB803eb3F501998126bf37bB823646Ed3D59d072#code) (Admin) **Past upgrades** (Count of upgrades: 1, Last upgrade: 1y 5mo ago, Avg upgrade interval: 1y 6mo) - 2025-04-22 06:01 UTC, upgrade of [EnforcedTxGateway](https://etherscan.io/address/0x72CAcBcfDe2d1e19122F8A36a4d6676cd39d7A5d#code): transaction [0x2c09704f5717cd65e31ea854b8c6a5229b841fcabc5bcbbbb1117f13b9f60d21](https://etherscan.io/tx/0x2c09704f5717cd65e31ea854b8c6a5229b841fcabc5bcbbbb1117f13b9f60d21), implementations: [0x7e87c75BBe7991bbCEBd2C7a56f4cFC923BDDBcc](https://etherscan.io/address/0x7e87c75BBe7991bbCEBd2C7a56f4cFC923BDDBcc#code) ([diff](https://disco.l2beat.com/diff/eth:0x642af405bF64660665B37977449C9C536B806318/eth:0x7e87c75BBe7991bbCEBd2C7a56f4cFC923BDDBcc)) - 2023-10-08 16:25 UTC, deployment of [EnforcedTxGateway](https://etherscan.io/address/0x72CAcBcfDe2d1e19122F8A36a4d6676cd39d7A5d#code): transaction [0xd2e3c3d2839a35492419c5a1ae863e7a23d963cb4853c59e8e20832e0ee4ed3e](https://etherscan.io/tx/0xd2e3c3d2839a35492419c5a1ae863e7a23d963cb4853c59e8e20832e0ee4ed3e), implementations: [0x642af405bF64660665B37977449C9C536B806318](https://etherscan.io/address/0x642af405bF64660665B37977449C9C536B806318#code) Contracts to force L1 -> L2 messages with the proper sender. - Roles: - **admin**: ProxyAdmin #### ScrollOwner Addresses: [0x798576400F7D662961BA15C6b3F3d813447a26a6](https://etherscan.io/address/0x798576400F7D662961BA15C6b3F3d813447a26a6#code) Owner of all contracts in the system. It implements an extension of AccessControl that manages roles and functions allowed to be called by each role. - Roles: - **opsFast**: TimelockFast; ultimately Scroll Multisig 3 - **opsNoDelay**: TimelockEmergency; ultimately Scroll Multisig 2 - **scMinorityNoDelay**: ScrollAdminMultisig - **scNoDelay**: TimelockSCEmergency; ultimately ScrollAdminMultisig #### SystemConfig Addresses: [0x8432728A257646449245558B8b7Dbe51A16c7a4D](https://etherscan.io/address/0x8432728A257646449245558B8b7Dbe51A16c7a4D#code), [0xf15a4b6D1fE2Ca6eE38BC3fb957f43F58b515eeE](https://etherscan.io/address/0xf15a4b6D1fE2Ca6eE38BC3fb957f43F58b515eeE#code) (Implementation (Upgradable)), [0xEB803eb3F501998126bf37bB823646Ed3D59d072](https://etherscan.io/address/0xEB803eb3F501998126bf37bB823646Ed3D59d072#code) (Admin) **Past upgrades** (Count of upgrades: 2, Last upgrade: 1y 1mo ago, Avg upgrade interval: 6mo 11d) - 2025-08-18 02:46 UTC, upgrade of [SystemConfig](https://etherscan.io/address/0x8432728A257646449245558B8b7Dbe51A16c7a4D#code): transaction [0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c](https://etherscan.io/tx/0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c), implementations: [0xf15a4b6D1fE2Ca6eE38BC3fb957f43F58b515eeE](https://etherscan.io/address/0xf15a4b6D1fE2Ca6eE38BC3fb957f43F58b515eeE#code) ([diff](https://disco.l2beat.com/diff/eth:0x6A124779fDf107c3F6BcB992731dCAaD09f2276A/eth:0xf15a4b6D1fE2Ca6eE38BC3fb957f43F58b515eeE)) - 2025-04-22 06:01 UTC, upgrade of [SystemConfig](https://etherscan.io/address/0x8432728A257646449245558B8b7Dbe51A16c7a4D#code): transaction [0x2c09704f5717cd65e31ea854b8c6a5229b841fcabc5bcbbbb1117f13b9f60d21](https://etherscan.io/tx/0x2c09704f5717cd65e31ea854b8c6a5229b841fcabc5bcbbbb1117f13b9f60d21), implementations: [0x6A124779fDf107c3F6BcB992731dCAaD09f2276A](https://etherscan.io/address/0x6A124779fDf107c3F6BcB992731dCAaD09f2276A#code) ([diff](https://disco.l2beat.com/diff/eth:0xFAf8f72e54d1089fa1882b6f597BfDFF59a8AFca/eth:0x6A124779fDf107c3F6BcB992731dCAaD09f2276A)) - 2025-03-20 13:08 UTC, deployment of [SystemConfig](https://etherscan.io/address/0x8432728A257646449245558B8b7Dbe51A16c7a4D#code): transaction [0x693533d50e553bb88df2025b2f294549a13cc6ed266de233429ac8742314c77a](https://etherscan.io/tx/0x693533d50e553bb88df2025b2f294549a13cc6ed266de233429ac8742314c77a), implementations: [0xFAf8f72e54d1089fa1882b6f597BfDFF59a8AFca](https://etherscan.io/address/0xFAf8f72e54d1089fa1882b6f597BfDFF59a8AFca#code) System configuration contract for Scroll, contains enforcedBatchParameters and messageQueueParameters determining permissionless mode. - Roles: - **admin**: ProxyAdmin - **owner**: ScrollOwner #### ScrollChain Addresses: [0xa13BAF47339d63B743e7Da8741db5456DAc1E556](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556#code), [0x0a20703878E68E587c59204cc0EA86098B8c3bA7](https://etherscan.io/address/0x0a20703878E68E587c59204cc0EA86098B8c3bA7#code) (Implementation (Upgradable)), [0xEB803eb3F501998126bf37bB823646Ed3D59d072](https://etherscan.io/address/0xEB803eb3F501998126bf37bB823646Ed3D59d072#code) (Admin) **Past upgrades** (Count of upgrades: 7, Last upgrade: 1y 1mo ago, Avg upgrade interval: 4mo 17d) - 2025-08-18 02:46 UTC, upgrade of [ScrollChain](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556#code): transaction [0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c](https://etherscan.io/tx/0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c), implementations: [0x0a20703878E68E587c59204cc0EA86098B8c3bA7](https://etherscan.io/address/0x0a20703878E68E587c59204cc0EA86098B8c3bA7#code) ([diff](https://disco.l2beat.com/diff/eth:0xb7c8833F5627a8a12558cAFa0d0EBD1ACBDce43f/eth:0x0a20703878E68E587c59204cc0EA86098B8c3bA7)) - 2025-04-22 06:01 UTC, upgrade of [ScrollChain](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556#code): transaction [0x2c09704f5717cd65e31ea854b8c6a5229b841fcabc5bcbbbb1117f13b9f60d21](https://etherscan.io/tx/0x2c09704f5717cd65e31ea854b8c6a5229b841fcabc5bcbbbb1117f13b9f60d21), implementations: [0xb7c8833F5627a8a12558cAFa0d0EBD1ACBDce43f](https://etherscan.io/address/0xb7c8833F5627a8a12558cAFa0d0EBD1ACBDce43f#code) ([diff](https://disco.l2beat.com/diff/eth:0x8f339292d2b3909574B2bEB051a613a987dB538f/eth:0xb7c8833F5627a8a12558cAFa0d0EBD1ACBDce43f)) - 2025-04-15 14:47 UTC, upgrade of [ScrollChain](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556#code): transaction [0xa1faad1ccd2c390641b46d50d93c26b7369137f021e528acfec78385494b2fb0](https://etherscan.io/tx/0xa1faad1ccd2c390641b46d50d93c26b7369137f021e528acfec78385494b2fb0), implementations: [0x8f339292d2b3909574B2bEB051a613a987dB538f](https://etherscan.io/address/0x8f339292d2b3909574B2bEB051a613a987dB538f#code) ([diff](https://disco.l2beat.com/diff/eth:0x9bB163401E8C72573854c4Cd968aFA7A7b02D25f/eth:0x8f339292d2b3909574B2bEB051a613a987dB538f)) - 2024-08-20 23:36 UTC, upgrade of [ScrollChain](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556#code): transaction [0x3928e0223337a112ea68c84db95441185a3e1da809638be13c0135761aa19ee7](https://etherscan.io/tx/0x3928e0223337a112ea68c84db95441185a3e1da809638be13c0135761aa19ee7), implementations: [0x9bB163401E8C72573854c4Cd968aFA7A7b02D25f](https://etherscan.io/address/0x9bB163401E8C72573854c4Cd968aFA7A7b02D25f#code) ([diff](https://disco.l2beat.com/diff/eth:0x4F250B05262240C787a1eE222687C6eC395C628A/eth:0x9bB163401E8C72573854c4Cd968aFA7A7b02D25f)) - 2024-07-02 10:10 UTC, upgrade of [ScrollChain](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556#code): transaction [0x87f533704b3cdac75c20bbdcd202a97ee62075c188ccea27ab7ff494cdeea247](https://etherscan.io/tx/0x87f533704b3cdac75c20bbdcd202a97ee62075c188ccea27ab7ff494cdeea247), implementations: [0x4F250B05262240C787a1eE222687C6eC395C628A](https://etherscan.io/address/0x4F250B05262240C787a1eE222687C6eC395C628A#code) ([diff](https://disco.l2beat.com/diff/eth:0xaa6d0F2490AC3957B97e11afEC6F0f250593CaC8/eth:0x4F250B05262240C787a1eE222687C6eC395C628A)) - 2024-04-28 22:06 UTC, upgrade of [ScrollChain](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556#code): transaction [0x6eb161ed649cf22771e586a8546eec157717e2dec4c871e7ad4e4d2c5c59a905](https://etherscan.io/tx/0x6eb161ed649cf22771e586a8546eec157717e2dec4c871e7ad4e4d2c5c59a905), implementations: [0xaa6d0F2490AC3957B97e11afEC6F0f250593CaC8](https://etherscan.io/address/0xaa6d0F2490AC3957B97e11afEC6F0f250593CaC8#code) ([diff](https://disco.l2beat.com/diff/eth:0xFA148514d03420b7b1a13eC74da06D2Ca875539C/eth:0xaa6d0F2490AC3957B97e11afEC6F0f250593CaC8)) - 2024-02-22 08:20 UTC, upgrade of [ScrollChain](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556#code): transaction [0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826](https://etherscan.io/tx/0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826), implementations: [0xFA148514d03420b7b1a13eC74da06D2Ca875539C](https://etherscan.io/address/0xFA148514d03420b7b1a13eC74da06D2Ca875539C#code) ([diff](https://disco.l2beat.com/diff/eth:0x2E07f0FBA71709bb5e1f045b02152E45B451D75f/eth:0xFA148514d03420b7b1a13eC74da06D2Ca875539C)) - 2023-10-08 16:25 UTC, deployment of [ScrollChain](https://etherscan.io/address/0xa13BAF47339d63B743e7Da8741db5456DAc1E556#code): transaction [0xecc94033ca66ea9068acde109b0c9e3c539191645916a35952bb6d9fd2be3a02](https://etherscan.io/tx/0xecc94033ca66ea9068acde109b0c9e3c539191645916a35952bb6d9fd2be3a02), implementations: [0x2E07f0FBA71709bb5e1f045b02152E45B451D75f](https://etherscan.io/address/0x2E07f0FBA71709bb5e1f045b02152E45B451D75f#code) The main contract of the Scroll chain. Allows to post transaction data and state roots, along with proofs. Sequencing and proposing are behind a whitelist unless enforcedBatchMode is activated. - Roles: - **admin**: ProxyAdmin #### TimelockSCEmergency Addresses: [0x0CD4c0F24a0A9f3E2Fe80ed385D8AD5a2FfECA44](https://etherscan.io/address/0x0CD4c0F24a0A9f3E2Fe80ed385D8AD5a2FfECA44#code) A timelock with access control. The current minimum delay is 0s. Proposals that passed their minimum delay can be executed by anyone. - Roles: - **canceller**: ScrollAdminMultisig - **executor**: Scroll Multisig 1, ScrollAdminMultisig; ultimately EOA 1, EOA 2, EOA 3, EOA 4 - **proposer**: ScrollAdminMultisig - **timelockAdmin**: ScrollAdminMultisig, TimelockSCEmergency; ultimately ScrollAdminMultisig #### TimelockFast Addresses: [0x0e58939204eEDa84F796FBc86840A50af10eC4F4](https://etherscan.io/address/0x0e58939204eEDa84F796FBc86840A50af10eC4F4#code) A timelock with access control. The current minimum delay is 1d. Proposals that passed their minimum delay can be executed by anyone. - Roles: - **canceller**: Scroll Multisig 3 - **executor**: Scroll Multisig 1; ultimately EOA 1, EOA 2, EOA 3, EOA 4 - **proposer**: Scroll Multisig 3 - **timelockAdmin**: Scroll Multisig 3, TimelockFast; ultimately Scroll Multisig 3 #### TimelockSCSlow Addresses: [0x3f9041350B661c74C6CbE440c8Bd6BC4C168a9fd](https://etherscan.io/address/0x3f9041350B661c74C6CbE440c8Bd6BC4C168a9fd#code) A timelock with access control. The current minimum delay is 3d. Proposals that passed their minimum delay can be executed by anyone. - Roles: - **canceller**: ScrollAdminMultisig - **executor**: Scroll Multisig 1, ScrollAdminMultisig; ultimately EOA 1, EOA 2, EOA 3, EOA 4 - **proposer**: ScrollAdminMultisig - **timelockAdmin**: ScrollAdminMultisig, TimelockSCSlow; ultimately ScrollAdminMultisig #### TimelockEmergency Addresses: [0x826714adD4dDA2b8750794A467C892c0Cd49216b](https://etherscan.io/address/0x826714adD4dDA2b8750794A467C892c0Cd49216b#code) A timelock with access control. The current minimum delay is 0s. Proposals that passed their minimum delay can be executed by anyone. - Roles: - **canceller**: Scroll Multisig 2 - **executor**: Scroll Multisig 1; ultimately EOA 1, EOA 2, EOA 3, EOA 4 - **proposer**: Scroll Multisig 2 - **timelockAdmin**: Scroll Multisig 2, TimelockEmergency; ultimately Scroll Multisig 2 #### L1ERC721Gateway Addresses: [0x6260aF48e8948617b8FA17F4e5CEa2d21D21554B](https://etherscan.io/address/0x6260aF48e8948617b8FA17F4e5CEa2d21D21554B#code), [0x79F1bF1906B63b56E08c3ada4c51De11F145a27A](https://etherscan.io/address/0x79F1bF1906B63b56E08c3ada4c51De11F145a27A#code) (Implementation (Upgradable)), [0xEB803eb3F501998126bf37bB823646Ed3D59d072](https://etherscan.io/address/0xEB803eb3F501998126bf37bB823646Ed3D59d072#code) (Admin) **Past upgrades** (Count of upgrades: 2, Last upgrade: 1y 1mo ago, Avg upgrade interval: 1y) - 2025-08-18 02:46 UTC, upgrade of [L1ERC721Gateway](https://etherscan.io/address/0x6260aF48e8948617b8FA17F4e5CEa2d21D21554B#code): transaction [0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c](https://etherscan.io/tx/0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c), implementations: [0x79F1bF1906B63b56E08c3ada4c51De11F145a27A](https://etherscan.io/address/0x79F1bF1906B63b56E08c3ada4c51De11F145a27A#code) ([diff](https://disco.l2beat.com/diff/eth:0xd1841c5756428812233eEA78afC17cb2D3e392bb/eth:0x79F1bF1906B63b56E08c3ada4c51De11F145a27A)) - 2024-02-22 08:20 UTC, upgrade of [L1ERC721Gateway](https://etherscan.io/address/0x6260aF48e8948617b8FA17F4e5CEa2d21D21554B#code): transaction [0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826](https://etherscan.io/tx/0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826), implementations: [0xd1841c5756428812233eEA78afC17cb2D3e392bb](https://etherscan.io/address/0xd1841c5756428812233eEA78afC17cb2D3e392bb#code) ([diff](https://disco.l2beat.com/diff/eth:0xDE3be7C2AA151D1E152DDfcBf0962FcDf5323DAe/eth:0xd1841c5756428812233eEA78afC17cb2D3e392bb)) - 2023-10-08 16:25 UTC, deployment of [L1ERC721Gateway](https://etherscan.io/address/0x6260aF48e8948617b8FA17F4e5CEa2d21D21554B#code): transaction [0x5cb06c63fb2583db9eba85a73ca794a9d36eace7f91925962b8cc97fd06b9b7d](https://etherscan.io/tx/0x5cb06c63fb2583db9eba85a73ca794a9d36eace7f91925962b8cc97fd06b9b7d), implementations: [0xDE3be7C2AA151D1E152DDfcBf0962FcDf5323DAe](https://etherscan.io/address/0xDE3be7C2AA151D1E152DDfcBf0962FcDf5323DAe#code) Contract used to bridge ERC721 tokens from L1 to L2. - Roles: - **admin**: ProxyAdmin #### DaiEscrow (escrow) Addresses: [0x67260A8B73C5B77B55c1805218A42A7A6F98F515](https://etherscan.io/address/0x67260A8B73C5B77B55c1805218A42A7A6F98F515#code), [0xBAd002fB13adFfcbCba57a4d4a43886f3F4C56cb](https://etherscan.io/address/0xBAd002fB13adFfcbCba57a4d4a43886f3F4C56cb#code) (Implementation (Upgradable)), [0xEB803eb3F501998126bf37bB823646Ed3D59d072](https://etherscan.io/address/0xEB803eb3F501998126bf37bB823646Ed3D59d072#code) (Admin) **Past upgrades** (Count of upgrades: No upgrades, Last upgrade: N/A, Avg upgrade interval: N/A) - 2023-10-10 06:41 UTC, deployment of [DaiEscrow](https://etherscan.io/address/0x67260A8B73C5B77B55c1805218A42A7A6F98F515#code): transaction [0x9776779beb429ea826a81a8c1c5f782933bfc8ce568afa1c6f2c2b866be2a3a5](https://etherscan.io/tx/0x9776779beb429ea826a81a8c1c5f782933bfc8ce568afa1c6f2c2b866be2a3a5), implementations: [0xBAd002fB13adFfcbCba57a4d4a43886f3F4C56cb](https://etherscan.io/address/0xBAd002fB13adFfcbCba57a4d4a43886f3F4C56cb#code) - Roles: - **admin**: ProxyAdmin The following tokens are included in the value secured calculation: DAI #### L1ETHGateway Addresses: [0x7F2b8C31F88B6006c382775eea88297Ec1e3E905](https://etherscan.io/address/0x7F2b8C31F88B6006c382775eea88297Ec1e3E905#code), [0x1fee6a6dC49095FB9C84D61aa4b8A07284b2A1d0](https://etherscan.io/address/0x1fee6a6dC49095FB9C84D61aa4b8A07284b2A1d0#code) (Implementation (Upgradable)), [0xEB803eb3F501998126bf37bB823646Ed3D59d072](https://etherscan.io/address/0xEB803eb3F501998126bf37bB823646Ed3D59d072#code) (Admin) **Past upgrades** (Count of upgrades: 2, Last upgrade: 1y 1mo ago, Avg upgrade interval: 1y) - 2025-08-18 02:46 UTC, upgrade of [L1ETHGateway](https://etherscan.io/address/0x7F2b8C31F88B6006c382775eea88297Ec1e3E905#code): transaction [0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c](https://etherscan.io/tx/0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c), implementations: [0x1fee6a6dC49095FB9C84D61aa4b8A07284b2A1d0](https://etherscan.io/address/0x1fee6a6dC49095FB9C84D61aa4b8A07284b2A1d0#code) ([diff](https://disco.l2beat.com/diff/eth:0x546E0bF31FB6e7babD493452e4e6999191367B42/eth:0x1fee6a6dC49095FB9C84D61aa4b8A07284b2A1d0)) - 2024-02-22 08:20 UTC, upgrade of [L1ETHGateway](https://etherscan.io/address/0x7F2b8C31F88B6006c382775eea88297Ec1e3E905#code): transaction [0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826](https://etherscan.io/tx/0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826), implementations: [0x546E0bF31FB6e7babD493452e4e6999191367B42](https://etherscan.io/address/0x546E0bF31FB6e7babD493452e4e6999191367B42#code) ([diff](https://disco.l2beat.com/diff/eth:0x1fcbE079c4Bbab37406daB7Dfd35AcAe37D5C55d/eth:0x546E0bF31FB6e7babD493452e4e6999191367B42)) - 2023-10-08 16:25 UTC, deployment of [L1ETHGateway](https://etherscan.io/address/0x7F2b8C31F88B6006c382775eea88297Ec1e3E905#code): transaction [0xbd63d1902c6343a9cdb81aa8944621690e4dd62a82640fded7f7c3d969e3647a](https://etherscan.io/tx/0xbd63d1902c6343a9cdb81aa8944621690e4dd62a82640fded7f7c3d969e3647a), implementations: [0x1fcbE079c4Bbab37406daB7Dfd35AcAe37D5C55d](https://etherscan.io/address/0x1fcbE079c4Bbab37406daB7Dfd35AcAe37D5C55d#code) Contract used to bridge ETH from L1 to L2. - Roles: - **admin**: ProxyAdmin #### L1CustomERC20Gateway (escrow) Addresses: [0xb2b10a289A229415a124EFDeF310C10cb004B6ff](https://etherscan.io/address/0xb2b10a289A229415a124EFDeF310C10cb004B6ff#code), [0x40c3C3dEa3B7D6d117E6713377144fD8EE6D6c97](https://etherscan.io/address/0x40c3C3dEa3B7D6d117E6713377144fD8EE6D6c97#code) (Implementation (Upgradable)), [0xEB803eb3F501998126bf37bB823646Ed3D59d072](https://etherscan.io/address/0xEB803eb3F501998126bf37bB823646Ed3D59d072#code) (Admin) **Past upgrades** (Count of upgrades: 2, Last upgrade: 1y 1mo ago, Avg upgrade interval: 1y) - 2025-08-18 02:46 UTC, upgrade of [L1CustomERC20Gateway](https://etherscan.io/address/0xb2b10a289A229415a124EFDeF310C10cb004B6ff#code): transaction [0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c](https://etherscan.io/tx/0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c), implementations: [0x40c3C3dEa3B7D6d117E6713377144fD8EE6D6c97](https://etherscan.io/address/0x40c3C3dEa3B7D6d117E6713377144fD8EE6D6c97#code) ([diff](https://disco.l2beat.com/diff/eth:0x7F512E2E9dfC4552941D99A5b2405BBcF5781C2c/eth:0x40c3C3dEa3B7D6d117E6713377144fD8EE6D6c97)) - 2024-02-22 08:20 UTC, upgrade of [L1CustomERC20Gateway](https://etherscan.io/address/0xb2b10a289A229415a124EFDeF310C10cb004B6ff#code): transaction [0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826](https://etherscan.io/tx/0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826), implementations: [0x7F512E2E9dfC4552941D99A5b2405BBcF5781C2c](https://etherscan.io/address/0x7F512E2E9dfC4552941D99A5b2405BBcF5781C2c#code) ([diff](https://disco.l2beat.com/diff/eth:0xBAd002fB13adFfcbCba57a4d4a43886f3F4C56cb/eth:0x7F512E2E9dfC4552941D99A5b2405BBcF5781C2c)) - 2023-10-08 16:25 UTC, deployment of [L1CustomERC20Gateway](https://etherscan.io/address/0xb2b10a289A229415a124EFDeF310C10cb004B6ff#code): transaction [0x12f874f5ca5a8dbdc5162db5179a4e4b753f4fcff8dab3f416bd1ce707ecb9ff](https://etherscan.io/tx/0x12f874f5ca5a8dbdc5162db5179a4e4b753f4fcff8dab3f416bd1ce707ecb9ff), implementations: [0xBAd002fB13adFfcbCba57a4d4a43886f3F4C56cb](https://etherscan.io/address/0xBAd002fB13adFfcbCba57a4d4a43886f3F4C56cb#code) Contract used to bridge ERC20 tokens from L1 to L2. It allows to change the token mappings. - Roles: - **admin**: ProxyAdmin All supported tokens in this escrow are included in the value secured calculation. #### L1ERC1155Gateway Addresses: [0xb94f7F6ABcb811c5Ac709dE14E37590fcCd975B6](https://etherscan.io/address/0xb94f7F6ABcb811c5Ac709dE14E37590fcCd975B6#code), [0xcA46358D5F01E4F865885514DAe6275087Ffe38E](https://etherscan.io/address/0xcA46358D5F01E4F865885514DAe6275087Ffe38E#code) (Implementation (Upgradable)), [0xEB803eb3F501998126bf37bB823646Ed3D59d072](https://etherscan.io/address/0xEB803eb3F501998126bf37bB823646Ed3D59d072#code) (Admin) **Past upgrades** (Count of upgrades: 2, Last upgrade: 1y 1mo ago, Avg upgrade interval: 1y) - 2025-08-18 02:46 UTC, upgrade of [L1ERC1155Gateway](https://etherscan.io/address/0xb94f7F6ABcb811c5Ac709dE14E37590fcCd975B6#code): transaction [0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c](https://etherscan.io/tx/0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c), implementations: [0xcA46358D5F01E4F865885514DAe6275087Ffe38E](https://etherscan.io/address/0xcA46358D5F01E4F865885514DAe6275087Ffe38E#code) ([diff](https://disco.l2beat.com/diff/eth:0x244BF7aEf29F03916569470a51fA0794B62F8cd7/eth:0xcA46358D5F01E4F865885514DAe6275087Ffe38E)) - 2024-02-22 08:20 UTC, upgrade of [L1ERC1155Gateway](https://etherscan.io/address/0xb94f7F6ABcb811c5Ac709dE14E37590fcCd975B6#code): transaction [0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826](https://etherscan.io/tx/0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826), implementations: [0x244BF7aEf29F03916569470a51fA0794B62F8cd7](https://etherscan.io/address/0x244BF7aEf29F03916569470a51fA0794B62F8cd7#code) ([diff](https://disco.l2beat.com/diff/eth:0xCb4638620E4C6DeCef26374e71b0dd4871863593/eth:0x244BF7aEf29F03916569470a51fA0794B62F8cd7)) - 2023-10-08 16:25 UTC, deployment of [L1ERC1155Gateway](https://etherscan.io/address/0xb94f7F6ABcb811c5Ac709dE14E37590fcCd975B6#code): transaction [0xe6cabeddb49c286b33e0e6d4a43af76e1a2108ac9fc91afb508a5ea86a8fc646](https://etherscan.io/tx/0xe6cabeddb49c286b33e0e6d4a43af76e1a2108ac9fc91afb508a5ea86a8fc646), implementations: [0xCb4638620E4C6DeCef26374e71b0dd4871863593](https://etherscan.io/address/0xCb4638620E4C6DeCef26374e71b0dd4871863593#code) Contract used to bridge ERC1155 tokens from L1 to L2. - Roles: - **admin**: ProxyAdmin #### L1StandardERC20Gateway (escrow) Addresses: [0xD8A791fE2bE73eb6E6cF1eb0cb3F36adC9B3F8f9](https://etherscan.io/address/0xD8A791fE2bE73eb6E6cF1eb0cb3F36adC9B3F8f9#code), [0xfF8238be22cC583b3d69A76da9d84Da7788c0ee9](https://etherscan.io/address/0xfF8238be22cC583b3d69A76da9d84Da7788c0ee9#code) (Implementation (Upgradable)), [0xEB803eb3F501998126bf37bB823646Ed3D59d072](https://etherscan.io/address/0xEB803eb3F501998126bf37bB823646Ed3D59d072#code) (Admin) **Past upgrades** (Count of upgrades: 2, Last upgrade: 1y 1mo ago, Avg upgrade interval: 1y) - 2025-08-18 02:46 UTC, upgrade of [L1StandardERC20Gateway](https://etherscan.io/address/0xD8A791fE2bE73eb6E6cF1eb0cb3F36adC9B3F8f9#code): transaction [0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c](https://etherscan.io/tx/0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c), implementations: [0xfF8238be22cC583b3d69A76da9d84Da7788c0ee9](https://etherscan.io/address/0xfF8238be22cC583b3d69A76da9d84Da7788c0ee9#code) ([diff](https://disco.l2beat.com/diff/eth:0x4015Fc868C06689ABEba4a9dC8FA43B804F6239c/eth:0xfF8238be22cC583b3d69A76da9d84Da7788c0ee9)) - 2024-02-22 08:20 UTC, upgrade of [L1StandardERC20Gateway](https://etherscan.io/address/0xD8A791fE2bE73eb6E6cF1eb0cb3F36adC9B3F8f9#code): transaction [0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826](https://etherscan.io/tx/0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826), implementations: [0x4015Fc868C06689ABEba4a9dC8FA43B804F6239c](https://etherscan.io/address/0x4015Fc868C06689ABEba4a9dC8FA43B804F6239c#code) ([diff](https://disco.l2beat.com/diff/eth:0x9218732389D80f9b8723C3f32a38865B7a63564A/eth:0x4015Fc868C06689ABEba4a9dC8FA43B804F6239c)) - 2023-10-08 16:25 UTC, deployment of [L1StandardERC20Gateway](https://etherscan.io/address/0xD8A791fE2bE73eb6E6cF1eb0cb3F36adC9B3F8f9#code): transaction [0x85d366c40632340d9e835fdd0a1646909a56d60c680373f15f9d36878ff13029](https://etherscan.io/tx/0x85d366c40632340d9e835fdd0a1646909a56d60c680373f15f9d36878ff13029), implementations: [0x9218732389D80f9b8723C3f32a38865B7a63564A](https://etherscan.io/address/0x9218732389D80f9b8723C3f32a38865B7a63564A#code) Contract used to bridge ERC20 tokens from L1 to L2. It uses a fixed token list. - Roles: - **admin**: ProxyAdmin All supported tokens in this escrow are included in the value secured calculation. #### L1GatewayRouter Addresses: [0xF8B1378579659D8F7EE5f3C929c2f3E332E41Fd6](https://etherscan.io/address/0xF8B1378579659D8F7EE5f3C929c2f3E332E41Fd6#code), [0xb93Ac04010Bd61F45BF492022A5b49a902F798F3](https://etherscan.io/address/0xb93Ac04010Bd61F45BF492022A5b49a902F798F3#code) (Implementation (Upgradable)), [0xEB803eb3F501998126bf37bB823646Ed3D59d072](https://etherscan.io/address/0xEB803eb3F501998126bf37bB823646Ed3D59d072#code) (Admin) **Past upgrades** (Count of upgrades: No upgrades, Last upgrade: N/A, Avg upgrade interval: N/A) - 2023-10-08 16:25 UTC, deployment of [L1GatewayRouter](https://etherscan.io/address/0xF8B1378579659D8F7EE5f3C929c2f3E332E41Fd6#code): transaction [0x8f6851c707737c446ee55f39be1442ce8cfa50ef8522b34bac247c0bb39a14ec](https://etherscan.io/tx/0x8f6851c707737c446ee55f39be1442ce8cfa50ef8522b34bac247c0bb39a14ec), implementations: [0xb93Ac04010Bd61F45BF492022A5b49a902F798F3](https://etherscan.io/address/0xb93Ac04010Bd61F45BF492022A5b49a902F798F3#code) Main entry point for depositing ETH and ERC20 tokens, which are then forwarded to the correct gateway. - Roles: - **admin**: ProxyAdmin #### wstETHescrowLido (escrow) Addresses: [0x6625C6332c9F91F2D27c304E729B86db87A3f504](https://etherscan.io/address/0x6625C6332c9F91F2D27c304E729B86db87A3f504#code), [0xF4f2066EE72D62e3caF9678459149BA7FCf2262F](https://etherscan.io/address/0xF4f2066EE72D62e3caF9678459149BA7FCf2262F#code) (Implementation (Upgradable)), [0xCC2C53556Bc75217cf698721b29071d6f12628A9](https://etherscan.io/address/0xCC2C53556Bc75217cf698721b29071d6f12628A9#code) (Admin) **Past upgrades** (Count of upgrades: 1, Last upgrade: 2y 7mo ago, Avg upgrade interval: 1y 6mo) - 2024-03-05 07:48 UTC, upgrade of [wstETHescrowLido](https://etherscan.io/address/0x6625C6332c9F91F2D27c304E729B86db87A3f504#code): transaction [0xd755174ba6bacec85b68b77c9ec2a8b966955746be59a6efa932f47c37dda482](https://etherscan.io/tx/0xd755174ba6bacec85b68b77c9ec2a8b966955746be59a6efa932f47c37dda482), implementations: [0xF4f2066EE72D62e3caF9678459149BA7FCf2262F](https://etherscan.io/address/0xF4f2066EE72D62e3caF9678459149BA7FCf2262F#code) ([diff](https://disco.l2beat.com/diff/eth:0xBAd002fB13adFfcbCba57a4d4a43886f3F4C56cb/eth:0xF4f2066EE72D62e3caF9678459149BA7FCf2262F)) - 2023-10-10 06:48 UTC, deployment of [wstETHescrowLido](https://etherscan.io/address/0x6625C6332c9F91F2D27c304E729B86db87A3f504#code): transaction [0xec5c25ea4b3e6d1dc9fa4cb7b7dd37a7a245a171cd3d16fb312628b5ecc9e841](https://etherscan.io/tx/0xec5c25ea4b3e6d1dc9fa4cb7b7dd37a7a245a171cd3d16fb312628b5ecc9e841), implementations: [0xBAd002fB13adFfcbCba57a4d4a43886f3F4C56cb](https://etherscan.io/address/0xBAd002fB13adFfcbCba57a4d4a43886f3F4C56cb#code) The following tokens are included in the value secured calculation: wstETH #### L1WETHGateway Addresses: [0x7AC440cAe8EB6328de4fA621163a792c1EA9D4fE](https://etherscan.io/address/0x7AC440cAe8EB6328de4fA621163a792c1EA9D4fE#code), [0xE25EfFEFd08c4a57556d47eF96471Cb567A86c24](https://etherscan.io/address/0xE25EfFEFd08c4a57556d47eF96471Cb567A86c24#code) (Implementation (Upgradable)), [0xEB803eb3F501998126bf37bB823646Ed3D59d072](https://etherscan.io/address/0xEB803eb3F501998126bf37bB823646Ed3D59d072#code) (Admin) **Past upgrades** (Count of upgrades: 2, Last upgrade: 1y 1mo ago, Avg upgrade interval: 1y) - 2025-08-18 02:46 UTC, upgrade of [L1WETHGateway](https://etherscan.io/address/0x7AC440cAe8EB6328de4fA621163a792c1EA9D4fE#code): transaction [0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c](https://etherscan.io/tx/0x0b3de25cab280b3e304b63e11cde6b04ef75023d89bb08d0cb6d743e055daa7c), implementations: [0xE25EfFEFd08c4a57556d47eF96471Cb567A86c24](https://etherscan.io/address/0xE25EfFEFd08c4a57556d47eF96471Cb567A86c24#code) ([diff](https://disco.l2beat.com/diff/eth:0xa4F400593DFfc0ae02F940ab58f6e3Cc6fb9FB49/eth:0xE25EfFEFd08c4a57556d47eF96471Cb567A86c24)) - 2024-02-22 08:20 UTC, upgrade of [L1WETHGateway](https://etherscan.io/address/0x7AC440cAe8EB6328de4fA621163a792c1EA9D4fE#code): transaction [0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826](https://etherscan.io/tx/0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826), implementations: [0xa4F400593DFfc0ae02F940ab58f6e3Cc6fb9FB49](https://etherscan.io/address/0xa4F400593DFfc0ae02F940ab58f6e3Cc6fb9FB49#code) ([diff](https://disco.l2beat.com/diff/eth:0xd3c42158682D55E082EaBe08a29F7515A97cA307/eth:0xa4F400593DFfc0ae02F940ab58f6e3Cc6fb9FB49)) - 2023-10-08 16:25 UTC, deployment of [L1WETHGateway](https://etherscan.io/address/0x7AC440cAe8EB6328de4fA621163a792c1EA9D4fE#code): transaction [0x0f1df3c211e6b201b0bb0cc41c87c2fbb36683f2a24080d935ffdc587723c033](https://etherscan.io/tx/0x0f1df3c211e6b201b0bb0cc41c87c2fbb36683f2a24080d935ffdc587723c033), implementations: [0xd3c42158682D55E082EaBe08a29F7515A97cA307](https://etherscan.io/address/0xd3c42158682D55E082EaBe08a29F7515A97cA307#code) Contract used to bridge WETH from L1 to L2. - Roles: - **admin**: ProxyAdmin #### pufETHEscrow (escrow) Addresses: [0xA033Ff09f2da45f0e9ae495f525363722Df42b2a](https://etherscan.io/address/0xA033Ff09f2da45f0e9ae495f525363722Df42b2a#code), [0x08D77Ea90DB9BF6c0d3f66E6b8394DA2E81B9a03](https://etherscan.io/address/0x08D77Ea90DB9BF6c0d3f66E6b8394DA2E81B9a03#code) (Implementation (Upgradable)), [0x9eBf2f33526CD571f8b2ad312492cb650870CFd6](https://etherscan.io/address/0x9eBf2f33526CD571f8b2ad312492cb650870CFd6#code) (Admin) **Past upgrades** (Count of upgrades: 2, Last upgrade: 2y 6mo ago, Avg upgrade interval: 10mo 4d) - 2024-04-15 09:31 UTC, upgrade of [pufETHEscrow](https://etherscan.io/address/0xA033Ff09f2da45f0e9ae495f525363722Df42b2a#code): transaction [0xa2ff9275d6280e3cc298653463c5d8423c44cfbc66a52a9a138becbb106dc0f8](https://etherscan.io/tx/0xa2ff9275d6280e3cc298653463c5d8423c44cfbc66a52a9a138becbb106dc0f8), implementations: [0xc4d46E8402F476F269c379677C99F18E22Ea030e](https://etherscan.io/address/0xc4d46E8402F476F269c379677C99F18E22Ea030e#code) ([diff](https://disco.l2beat.com/diff/eth:0x08D77Ea90DB9BF6c0d3f66E6b8394DA2E81B9a03/eth:0xc4d46E8402F476F269c379677C99F18E22Ea030e)) - 2024-04-15 09:31 UTC, upgrade of [pufETHEscrow](https://etherscan.io/address/0xA033Ff09f2da45f0e9ae495f525363722Df42b2a#code): transaction [0xe03abd155a10591ed1fa4a1e2ad0d6042549bfd67769dbf6bd66d25743950905](https://etherscan.io/tx/0xe03abd155a10591ed1fa4a1e2ad0d6042549bfd67769dbf6bd66d25743950905), implementations: [0x08D77Ea90DB9BF6c0d3f66E6b8394DA2E81B9a03](https://etherscan.io/address/0x08D77Ea90DB9BF6c0d3f66E6b8394DA2E81B9a03#code) ([diff](https://disco.l2beat.com/diff/eth:0x08D77Ea90DB9BF6c0d3f66E6b8394DA2E81B9a03/eth:0x08D77Ea90DB9BF6c0d3f66E6b8394DA2E81B9a03)) - 2024-04-15 09:31 UTC, deployment of [pufETHEscrow](https://etherscan.io/address/0xA033Ff09f2da45f0e9ae495f525363722Df42b2a#code): transaction [0xb367f770c26a72ea837a51c2c1fc84a3396914db1d58c020177b207e0f876a79](https://etherscan.io/tx/0xb367f770c26a72ea837a51c2c1fc84a3396914db1d58c020177b207e0f876a79), implementations: [0x08D77Ea90DB9BF6c0d3f66E6b8394DA2E81B9a03](https://etherscan.io/address/0x08D77Ea90DB9BF6c0d3f66E6b8394DA2E81B9a03#code) Contract used to bridge ERC20 tokens from L1 to L2. It allows to change the token mappings. The following tokens are included in the value secured calculation: pufETH #### L1USDCGateway (0xf1AF…5c7B, escrow) Addresses: [0xf1AF3b23DE0A5Ca3CAb7261cb0061C0D779A5c7B](https://etherscan.io/address/0xf1AF3b23DE0A5Ca3CAb7261cb0061C0D779A5c7B#code), [0x56ce8A8E8399f6cD5e7e4f549E8BfD673f2AfF5e](https://etherscan.io/address/0x56ce8A8E8399f6cD5e7e4f549E8BfD673f2AfF5e#code) (Implementation (Upgradable)), [0xEB803eb3F501998126bf37bB823646Ed3D59d072](https://etherscan.io/address/0xEB803eb3F501998126bf37bB823646Ed3D59d072#code) (Admin) **Past upgrades** (Count of upgrades: 1, Last upgrade: 2y 7mo ago, Avg upgrade interval: 1y 6mo) - 2024-02-22 08:20 UTC, upgrade of [L1USDCGateway](https://etherscan.io/address/0xf1AF3b23DE0A5Ca3CAb7261cb0061C0D779A5c7B#code): transaction [0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826](https://etherscan.io/tx/0xe378370b6bbc3d7f7278df88aa0e233b8f0fea3d77bef04593919b29d0094826), implementations: [0x56ce8A8E8399f6cD5e7e4f549E8BfD673f2AfF5e](https://etherscan.io/address/0x56ce8A8E8399f6cD5e7e4f549E8BfD673f2AfF5e#code) ([diff](https://disco.l2beat.com/diff/eth:0x6667123b5017AAB9945F73345848B82D7A953AA8/eth:0x56ce8A8E8399f6cD5e7e4f549E8BfD673f2AfF5e)) - 2023-10-10 06:29 UTC, deployment of [L1USDCGateway](https://etherscan.io/address/0xf1AF3b23DE0A5Ca3CAb7261cb0061C0D779A5c7B#code): transaction [0x394b36151c614a7dfd048ddc1085046d2a50e5fd54af4c335d4a08aa79dd773d](https://etherscan.io/tx/0x394b36151c614a7dfd048ddc1085046d2a50e5fd54af4c335d4a08aa79dd773d), implementations: [0x6667123b5017AAB9945F73345848B82D7A953AA8](https://etherscan.io/address/0x6667123b5017AAB9945F73345848B82D7A953AA8#code) Contract used to bridge USDC tokens from L1 to L2. - Roles: - **admin**: ProxyAdmin The following tokens are included in the value secured calculation: USDC #### PlonkVerifierV1-1 Addresses: [0x03a72B00D036C479105fF98A1953b15d9c510110](https://etherscan.io/address/0x03a72B00D036C479105fF98A1953b15d9c510110#code) **References** - [Source Code](https://circuit-release.s3.us-west-2.amazonaws.com/release-v0.11.4/evm_verifier.yul) #### PlonkVerifierOpenVMv2 Addresses: [0x0d2A59fd7060460F07c30C2817b4E79576da01C6](https://etherscan.io/address/0x0d2A59fd7060460F07c30C2817b4E79576da01C6#code) **References** - [Source Code](https://l2beat.com/zk-catalog/openvmprover#verifiers) #### PlonkVerifierV1 Addresses: [0x2293cd12e8564e8219d314b075867c2f66ac6941](https://etherscan.io/address/0x2293cd12e8564e8219d314b075867c2f66ac6941#code) **References** - [Source Code](https://circuit-release.s3.us-west-2.amazonaws.com/release-v0.10.3/evm_verifier.yul) #### PlonkVerifierPostEuclid-2 Addresses: [0x39854DF30b3482Ef546F68B8981Fae5A2C426eA4](https://etherscan.io/address/0x39854DF30b3482Ef546F68B8981Fae5A2C426eA4#code) **References** - [Source Code](https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/0.5.2/bundle/verifier.bin) #### ZkEvmVerifierPostFeynman (3 instances) Addresses: [0x4AF7f3aBd780Fbd319c4356a219100A45F85DDb5](https://etherscan.io/address/0x4AF7f3aBd780Fbd319c4356a219100A45F85DDb5#code), [0x7966FE0De13e3B81533470640Ac489223476B254](https://etherscan.io/address/0x7966FE0De13e3B81533470640Ac489223476B254#code), [0xa8d4702Aa5c09AF5dD1323E1842a43789021F485](https://etherscan.io/address/0xa8d4702Aa5c09AF5dD1323E1842a43789021F485#code) #### PlonkVerifierV0 Addresses: [0x4B8Aa8A96078689384DAb49691E9bA51F9d2F9E1](https://etherscan.io/address/0x4B8Aa8A96078689384DAb49691E9bA51F9d2F9E1#code) **References** - [Source Code](https://circuit-release.s3.us-west-2.amazonaws.com/release-v0.9.5/evm_verifier.yul) #### PlonkVerifierGalileo Addresses: [0x749fC77A1a131632a8b88e8703E489557660C75e](https://etherscan.io/address/0x749fC77A1a131632a8b88e8703E489557660C75e#code) **References** - [Source Code](https://circuit-release.s3.us-west-2.amazonaws.com/scroll-zkvm/releases/v0.7.1/verifier/verifier.bin) #### PlonkVerifierV2 Addresses: [0x8759E83b6570A0bA46c3CE7eB359F354F816c9a9](https://etherscan.io/address/0x8759E83b6570A0bA46c3CE7eB359F354F816c9a9#code) **References** - [Source Code](https://github.com/scroll-tech/scroll-prover/blob/main/release-v0.12.0/evm_verifier.yul) #### PlonkVerifierV2-1 Addresses: [0x8c1b52757b5c571ADcB5572E992679d4D48e30f7](https://etherscan.io/address/0x8c1b52757b5c571ADcB5572E992679d4D48e30f7#code) **References** - [Source Code](https://github.com/scroll-tech/scroll-prover/blob/main/release-v0.13.0/evm_verifier.yul) #### PauseController Addresses: [0xb8f7eA9998530833Cbb7E0EF4f0D945957229D8b](https://etherscan.io/address/0xb8f7eA9998530833Cbb7E0EF4f0D945957229D8b#code), [0x57e26d997852e7e94915e250446C3bf43F41d98D](https://etherscan.io/address/0x57e26d997852e7e94915e250446C3bf43F41d98D#code) (Implementation (Upgradable)), [0xEB803eb3F501998126bf37bB823646Ed3D59d072](https://etherscan.io/address/0xEB803eb3F501998126bf37bB823646Ed3D59d072#code) (Admin) **Past upgrades** (Count of upgrades: No upgrades, Last upgrade: N/A, Avg upgrade interval: N/A) - 2025-07-21 03:03 UTC, deployment of [PauseController](https://etherscan.io/address/0xb8f7eA9998530833Cbb7E0EF4f0D945957229D8b#code): transaction [0x3decf466a6c0dfc015f7496b5737f597ae7f90073bce2e83a5660b5de64ffe4b](https://etherscan.io/tx/0x3decf466a6c0dfc015f7496b5737f597ae7f90073bce2e83a5660b5de64ffe4b), implementations: [0x57e26d997852e7e94915e250446C3bf43F41d98D](https://etherscan.io/address/0x57e26d997852e7e94915e250446C3bf43F41d98D#code) - Roles: - **admin**: ProxyAdmin #### L1USDCGateway (0xbc4b…47d2) Addresses: [0xbc4b3d9A89F187dBaA0D2E60985Ea1FFFa5247d2](https://etherscan.io/address/0xbc4b3d9A89F187dBaA0D2E60985Ea1FFFa5247d2#code), [0x4a5810F71B6836027c26C25bFF9708dFcD2B5432](https://etherscan.io/address/0x4a5810F71B6836027c26C25bFF9708dFcD2B5432#code) (Implementation (Upgradable)), [0xEB803eb3F501998126bf37bB823646Ed3D59d072](https://etherscan.io/address/0xEB803eb3F501998126bf37bB823646Ed3D59d072#code) (Admin) **Past upgrades** (Count of upgrades: 1, Last upgrade: 8mo 11d ago, Avg upgrade interval: 4mo 5d) - 2026-02-05 06:11 UTC, upgrade of [L1USDCGateway](https://etherscan.io/address/0xbc4b3d9A89F187dBaA0D2E60985Ea1FFFa5247d2#code): transaction [0x70c181a1601d8143c2cc34fe05dde3cf82acf27bf22173b08d58d93c7cd1190b](https://etherscan.io/tx/0x70c181a1601d8143c2cc34fe05dde3cf82acf27bf22173b08d58d93c7cd1190b), implementations: [0x4a5810F71B6836027c26C25bFF9708dFcD2B5432](https://etherscan.io/address/0x4a5810F71B6836027c26C25bFF9708dFcD2B5432#code) ([diff](https://disco.l2beat.com/diff/eth:0xFAf8f72e54d1089fa1882b6f597BfDFF59a8AFca/eth:0x4a5810F71B6836027c26C25bFF9708dFcD2B5432)) - 2026-02-05 06:06 UTC, deployment of [L1USDCGateway](https://etherscan.io/address/0xbc4b3d9A89F187dBaA0D2E60985Ea1FFFa5247d2#code): transaction [0x12105e604379a7b159368733c02a2186001c80c95599fb07c6e2cd36169baf70](https://etherscan.io/tx/0x12105e604379a7b159368733c02a2186001c80c95599fb07c6e2cd36169baf70), implementations: [0xFAf8f72e54d1089fa1882b6f597BfDFF59a8AFca](https://etherscan.io/address/0xFAf8f72e54d1089fa1882b6f597BfDFF59a8AFca#code) - Roles: - **admin**: ProxyAdmin #### ZkEvmVerifierPostEuclid-2 Addresses: [0xc084a6De8b0F2742396572d6f110eC87ca9329bA](https://etherscan.io/address/0xc084a6De8b0F2742396572d6f110eC87ca9329bA#code) #### ProxyAdmin Addresses: [0xEB803eb3F501998126bf37bB823646Ed3D59d072](https://etherscan.io/address/0xEB803eb3F501998126bf37bB823646Ed3D59d072#code) - Roles: - **owner**: ScrollOwner ### Scroll #### ScrollOwner Addresses: [0x13D24a7Ff6F5ec5ff0e9C40Fc3B8C9c01c65437B](https://scrollscan.com/address/0x13D24a7Ff6F5ec5ff0e9C40Fc3B8C9c01c65437B#code) Owner of all contracts in the system. It implements an extension of AccessControl that manages roles and functions allowed to be called by each role. - Roles: - **scNoDelay**: TimelockSCEmergencyScroll; ultimately ScrollAdminMultisig #### L2GatewayRouter (0xE2b4…447A) Addresses: [0xE2b4795039517653c5Ae8C2A9BFdd783b48f447A](https://scrollscan.com/address/0xE2b4795039517653c5Ae8C2A9BFdd783b48f447A#code), [0x3ffe801a43D25d0288683237A848e14f73a226f0](https://scrollscan.com/address/0x3ffe801a43D25d0288683237A848e14f73a226f0#code) (Implementation (Upgradable)), [0xA76acF000C890b0DD7AEEf57627d9899F955d026](https://scrollscan.com/address/0xA76acF000C890b0DD7AEEf57627d9899F955d026#code) (Admin) **Past upgrades** (Count of upgrades: 1, Last upgrade: 2y 7mo ago, Avg upgrade interval: 1y 6mo) - 2024-02-22 08:08 UTC, upgrade of [L2GatewayRouter](https://scrollscan.com/address/0xE2b4795039517653c5Ae8C2A9BFdd783b48f447A#code): transaction [0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9](https://scrollscan.com/tx/0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9), implementations: [0x3ffe801a43D25d0288683237A848e14f73a226f0](https://scrollscan.com/address/0x3ffe801a43D25d0288683237A848e14f73a226f0#code) ([diff](https://disco.l2beat.com/diff/scr:0xCaa86d504B7670f4BCe0B323c2AaF7002CF6C478/scr:0x3ffe801a43D25d0288683237A848e14f73a226f0)) - 2023-10-10 06:05 UTC, deployment of [L2GatewayRouter](https://scrollscan.com/address/0xE2b4795039517653c5Ae8C2A9BFdd783b48f447A#code): transaction [0xaac223f86591581be57fc2296c6895a55d4f5488340e63577fa0b909e950747d](https://scrollscan.com/tx/0xaac223f86591581be57fc2296c6895a55d4f5488340e63577fa0b909e950747d), implementations: [0xCaa86d504B7670f4BCe0B323c2AaF7002CF6C478](https://scrollscan.com/address/0xCaa86d504B7670f4BCe0B323c2AaF7002CF6C478#code) Contract used to withdraw ERC20 tokens on L2 and finalize deposit the tokens from L1. - Roles: - **admin**: ProxyAdmin #### TimelockSCEmergencyScroll Addresses: [0x1f807E2E8ab2e61230a0A9C271F90242831278b4](https://scrollscan.com/address/0x1f807E2E8ab2e61230a0A9C271F90242831278b4#code) A timelock with access control. The current minimum delay is 0s. Proposals that passed their minimum delay can be executed by anyone. - Roles: - **canceller**: ScrollAdminMultisig - **executor**: Scroll Multisig 1, ScrollAdminMultisig; ultimately EOA 5, EOA 6, EOA 7, EOA 8 - **proposer**: ScrollAdminMultisig - **timelockAdmin**: ScrollAdminMultisig, TimelockSCEmergencyScroll; ultimately ScrollAdminMultisig #### TimelockFast Addresses: [0x2b14d0E4b042d11C7e3Fc653132a2c82EFa7d376](https://scrollscan.com/address/0x2b14d0E4b042d11C7e3Fc653132a2c82EFa7d376#code) A timelock with access control. The current minimum delay is 1d. Proposals that passed their minimum delay can be executed by anyone. - Roles: - **canceller**: Scroll Multisig 3 - **executor**: Scroll Multisig 1; ultimately EOA 5, EOA 6, EOA 7, EOA 8 - **proposer**: Scroll Multisig 3 - **timelockAdmin**: Scroll Multisig 3, TimelockFast; ultimately Scroll Multisig 3 #### TimelockSCSlow Addresses: [0x79D83D1518e2eAA64cdc0631df01b06e2762CC14](https://scrollscan.com/address/0x79D83D1518e2eAA64cdc0631df01b06e2762CC14#code) A timelock with access control. The current minimum delay is 3d. Proposals that passed their minimum delay can be executed by anyone. - Roles: - **canceller**: AgoraGovernor, ScrollAdminMultisig - **executor**: AgoraGovernor, Scroll Multisig 1, ScrollAdminMultisig; ultimately EOA 5, EOA 6, EOA 7, EOA 8 - **proposer**: AgoraGovernor, ScrollAdminMultisig - **timelockAdmin**: ScrollAdminMultisig, TimelockSCSlow; ultimately AgoraGovernor, ScrollAdminMultisig #### TimelockEmergency Addresses: [0xA77D19C1F2B06C9aeA9bE88C17B771a33892734f](https://scrollscan.com/address/0xA77D19C1F2B06C9aeA9bE88C17B771a33892734f#code) A timelock with access control. The current minimum delay is 0s. Proposals that passed their minimum delay can be executed by anyone. - Roles: - **canceller**: Scroll Multisig 2 - **executor**: Scroll Multisig 1; ultimately EOA 5, EOA 6, EOA 7, EOA 8 - **proposer**: Scroll Multisig 2 - **timelockAdmin**: Scroll Multisig 2, TimelockEmergency; ultimately Scroll Multisig 2 #### ProposalTypesConfigurator Addresses: [0xfDa7cF1D9C51b3fab41E2e4093374DD8715D640E](https://scrollscan.com/address/0xfDa7cF1D9C51b3fab41E2e4093374DD8715D640E#code) #### Scroll USDC Addresses: [0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4](https://scrollscan.com/address/0x06eFdBFf2a14a7c8E15944D1F4A48F9F95F663A4#code), [0x72e2451a2da1535DBf0E7CB1e8C69F56E00A7B7b](https://scrollscan.com/address/0x72e2451a2da1535DBf0E7CB1e8C69F56E00A7B7b#code) (Implementation (Upgradable)), [0xA76acF000C890b0DD7AEEf57627d9899F955d026](https://scrollscan.com/address/0xA76acF000C890b0DD7AEEf57627d9899F955d026#code) (Admin) Contract of the USDC token on Scroll. - Roles: - **admin**: ProxyAdmin #### L2USDCGateway Addresses: [0x33B60d5Dd260d453cAC3782b0bDC01ce84672142](https://scrollscan.com/address/0x33B60d5Dd260d453cAC3782b0bDC01ce84672142#code), [0x6E0618d128d2d861994DF7a725743F69b53C2804](https://scrollscan.com/address/0x6E0618d128d2d861994DF7a725743F69b53C2804#code) (Implementation (Upgradable)), [0xA76acF000C890b0DD7AEEf57627d9899F955d026](https://scrollscan.com/address/0xA76acF000C890b0DD7AEEf57627d9899F955d026#code) (Admin) **Past upgrades** (Count of upgrades: 1, Last upgrade: 2y 7mo ago, Avg upgrade interval: 1y 6mo) - 2024-02-22 08:08 UTC, upgrade of [L2USDCGateway](https://scrollscan.com/address/0x33B60d5Dd260d453cAC3782b0bDC01ce84672142#code): transaction [0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9](https://scrollscan.com/tx/0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9), implementations: [0x6E0618d128d2d861994DF7a725743F69b53C2804](https://scrollscan.com/address/0x6E0618d128d2d861994DF7a725743F69b53C2804#code) ([diff](https://disco.l2beat.com/diff/scr:0x02812d966B5cdeeb9aCBbBae51cA2d5d0f86A086/scr:0x6E0618d128d2d861994DF7a725743F69b53C2804)) - 2023-10-10 06:30 UTC, deployment of [L2USDCGateway](https://scrollscan.com/address/0x33B60d5Dd260d453cAC3782b0bDC01ce84672142#code): transaction [0x53dca8476e9bb314c9ac8008f2e33460eea3cde5798aeaf1327feba43f2af2ee](https://scrollscan.com/tx/0x53dca8476e9bb314c9ac8008f2e33460eea3cde5798aeaf1327feba43f2af2ee), implementations: [0x02812d966B5cdeeb9aCBbBae51cA2d5d0f86A086](https://scrollscan.com/address/0x02812d966B5cdeeb9aCBbBae51cA2d5d0f86A086#code) - Roles: - **admin**: ProxyAdmin #### L2GatewayRouter (0x4C09…9d79) Addresses: [0x4C0926FF5252A435FD19e10ED15e5a249Ba19d79](https://scrollscan.com/address/0x4C0926FF5252A435FD19e10ED15e5a249Ba19d79#code), [0x3808d0F2F25839E73e0Fbf711368fC4aE80c7763](https://scrollscan.com/address/0x3808d0F2F25839E73e0Fbf711368fC4aE80c7763#code) (Implementation (Upgradable)), [0xA76acF000C890b0DD7AEEf57627d9899F955d026](https://scrollscan.com/address/0xA76acF000C890b0DD7AEEf57627d9899F955d026#code) (Admin) **Past upgrades** (Count of upgrades: No upgrades, Last upgrade: N/A, Avg upgrade interval: N/A) - 2023-10-10 06:05 UTC, deployment of [L2GatewayRouter](https://scrollscan.com/address/0x4C0926FF5252A435FD19e10ED15e5a249Ba19d79#code): transaction [0xa2062a4530b194a438bb9f9e87cdce59f70775a52e8336892364445847c43ca2](https://scrollscan.com/tx/0xa2062a4530b194a438bb9f9e87cdce59f70775a52e8336892364445847c43ca2), implementations: [0x3808d0F2F25839E73e0Fbf711368fC4aE80c7763](https://scrollscan.com/address/0x3808d0F2F25839E73e0Fbf711368fC4aE80c7763#code) Counterpart to the L1GatewayRouter contract. - Roles: - **admin**: ProxyAdmin #### L2MessageQueue Addresses: [0x5300000000000000000000000000000000000000](https://scrollscan.com/address/0x5300000000000000000000000000000000000000#code) Used to append messages to the L2MessageQueue from the L2ScrollMessenger. #### L2ERC1155Gateway Addresses: [0x62597Cc19703aF10B58feF87B0d5D29eFE263bcc](https://scrollscan.com/address/0x62597Cc19703aF10B58feF87B0d5D29eFE263bcc#code), [0xAc92E88bAc1848A5FeEA5cf5A60e0abc3bD5Df94](https://scrollscan.com/address/0xAc92E88bAc1848A5FeEA5cf5A60e0abc3bD5Df94#code) (Implementation (Upgradable)), [0xA76acF000C890b0DD7AEEf57627d9899F955d026](https://scrollscan.com/address/0xA76acF000C890b0DD7AEEf57627d9899F955d026#code) (Admin) **Past upgrades** (Count of upgrades: 1, Last upgrade: 2y 7mo ago, Avg upgrade interval: 1y 6mo) - 2024-02-22 08:08 UTC, upgrade of [L2ERC1155Gateway](https://scrollscan.com/address/0x62597Cc19703aF10B58feF87B0d5D29eFE263bcc#code): transaction [0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9](https://scrollscan.com/tx/0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9), implementations: [0xAc92E88bAc1848A5FeEA5cf5A60e0abc3bD5Df94](https://scrollscan.com/address/0xAc92E88bAc1848A5FeEA5cf5A60e0abc3bD5Df94#code) ([diff](https://disco.l2beat.com/diff/scr:0x4a1b3D103801F0E1400046aE1948B9808e9b043b/scr:0xAc92E88bAc1848A5FeEA5cf5A60e0abc3bD5Df94)) - 2023-10-10 06:05 UTC, deployment of [L2ERC1155Gateway](https://scrollscan.com/address/0x62597Cc19703aF10B58feF87B0d5D29eFE263bcc#code): transaction [0x81ea4d0324828c7bd1a25754601e471f5707cf09af3f267fabf1aa43f2c45907](https://scrollscan.com/tx/0x81ea4d0324828c7bd1a25754601e471f5707cf09af3f267fabf1aa43f2c45907), implementations: [0x4a1b3D103801F0E1400046aE1948B9808e9b043b](https://scrollscan.com/address/0x4a1b3D103801F0E1400046aE1948B9808e9b043b#code) Counterpart to the L1ERC1155Gateway contract. - Roles: - **admin**: ProxyAdmin #### L2CustomERC20Gateway Addresses: [0x64CCBE37c9A82D85A1F2E74649b7A42923067988](https://scrollscan.com/address/0x64CCBE37c9A82D85A1F2E74649b7A42923067988#code), [0x1D40306EEfCF6EBd496d6048F6edf8892346e558](https://scrollscan.com/address/0x1D40306EEfCF6EBd496d6048F6edf8892346e558#code) (Implementation (Upgradable)), [0xA76acF000C890b0DD7AEEf57627d9899F955d026](https://scrollscan.com/address/0xA76acF000C890b0DD7AEEf57627d9899F955d026#code) (Admin) **Past upgrades** (Count of upgrades: 1, Last upgrade: 2y 7mo ago, Avg upgrade interval: 1y 6mo) - 2024-02-22 08:08 UTC, upgrade of [L2CustomERC20Gateway](https://scrollscan.com/address/0x64CCBE37c9A82D85A1F2E74649b7A42923067988#code): transaction [0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9](https://scrollscan.com/tx/0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9), implementations: [0x1D40306EEfCF6EBd496d6048F6edf8892346e558](https://scrollscan.com/address/0x1D40306EEfCF6EBd496d6048F6edf8892346e558#code) ([diff](https://disco.l2beat.com/diff/scr:0xc568B5dcCeBE52073Fa783EAdacDE0a30fA4c2c9/scr:0x1D40306EEfCF6EBd496d6048F6edf8892346e558)) - 2023-10-10 06:05 UTC, deployment of [L2CustomERC20Gateway](https://scrollscan.com/address/0x64CCBE37c9A82D85A1F2E74649b7A42923067988#code): transaction [0xcfb787fe58eeb8a0f1d7ebb1360968111e84cd6f64d929a3277a1fb5e232ccd3](https://scrollscan.com/tx/0xcfb787fe58eeb8a0f1d7ebb1360968111e84cd6f64d929a3277a1fb5e232ccd3), implementations: [0xc568B5dcCeBE52073Fa783EAdacDE0a30fA4c2c9](https://scrollscan.com/address/0xc568B5dcCeBE52073Fa783EAdacDE0a30fA4c2c9#code) Counterpart to the L1CustomERC20Gateway contract. - Roles: - **admin**: ProxyAdmin #### ScrollStandardERC20Factory Addresses: [0x66e5312EDeEAef6e80759A0F789e7914Fb401484](https://scrollscan.com/address/0x66e5312EDeEAef6e80759A0F789e7914Fb401484#code) Contract used to deploy ScrollStandardERC20 tokens for L2StandardERC20Gateway. #### L2ETHGateway Addresses: [0x6EA73e05AdC79974B931123675ea8F78FfdacDF0](https://scrollscan.com/address/0x6EA73e05AdC79974B931123675ea8F78FfdacDF0#code), [0x191770c52309dff2c52FfEcf059ECC3862f5D721](https://scrollscan.com/address/0x191770c52309dff2c52FfEcf059ECC3862f5D721#code) (Implementation (Upgradable)), [0xA76acF000C890b0DD7AEEf57627d9899F955d026](https://scrollscan.com/address/0xA76acF000C890b0DD7AEEf57627d9899F955d026#code) (Admin) **Past upgrades** (Count of upgrades: 1, Last upgrade: 2y 7mo ago, Avg upgrade interval: 1y 6mo) - 2024-02-22 08:08 UTC, upgrade of [L2ETHGateway](https://scrollscan.com/address/0x6EA73e05AdC79974B931123675ea8F78FfdacDF0#code): transaction [0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9](https://scrollscan.com/tx/0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9), implementations: [0x191770c52309dff2c52FfEcf059ECC3862f5D721](https://scrollscan.com/address/0x191770c52309dff2c52FfEcf059ECC3862f5D721#code) ([diff](https://disco.l2beat.com/diff/scr:0xE0a0509a66C509f55c85A20EB8c60676135081f7/scr:0x191770c52309dff2c52FfEcf059ECC3862f5D721)) - 2023-10-10 06:05 UTC, deployment of [L2ETHGateway](https://scrollscan.com/address/0x6EA73e05AdC79974B931123675ea8F78FfdacDF0#code): transaction [0xf1505df71efbf7c12e1f48f4d17675e39d9797b1cac73ccbc6b610481313e750](https://scrollscan.com/tx/0xf1505df71efbf7c12e1f48f4d17675e39d9797b1cac73ccbc6b610481313e750), implementations: [0xE0a0509a66C509f55c85A20EB8c60676135081f7](https://scrollscan.com/address/0xE0a0509a66C509f55c85A20EB8c60676135081f7#code) Contract of the L2ScrollMessenger contract. - Roles: - **admin**: ProxyAdmin #### L2WETHGateway Addresses: [0x7003E7B7186f0E6601203b99F7B8DECBfA391cf9](https://scrollscan.com/address/0x7003E7B7186f0E6601203b99F7B8DECBfA391cf9#code), [0x86c5CBfC03ffFC7faf5dfC7D781A9adfA9f47dD1](https://scrollscan.com/address/0x86c5CBfC03ffFC7faf5dfC7D781A9adfA9f47dD1#code) (Implementation (Upgradable)), [0xA76acF000C890b0DD7AEEf57627d9899F955d026](https://scrollscan.com/address/0xA76acF000C890b0DD7AEEf57627d9899F955d026#code) (Admin) **Past upgrades** (Count of upgrades: 1, Last upgrade: 2y 7mo ago, Avg upgrade interval: 1y 6mo) - 2024-02-22 08:08 UTC, upgrade of [L2WETHGateway](https://scrollscan.com/address/0x7003E7B7186f0E6601203b99F7B8DECBfA391cf9#code): transaction [0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9](https://scrollscan.com/tx/0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9), implementations: [0x86c5CBfC03ffFC7faf5dfC7D781A9adfA9f47dD1](https://scrollscan.com/address/0x86c5CBfC03ffFC7faf5dfC7D781A9adfA9f47dD1#code) ([diff](https://disco.l2beat.com/diff/scr:0x4966c037D653E31dB2c1F9727dd50dC679d51d65/scr:0x86c5CBfC03ffFC7faf5dfC7D781A9adfA9f47dD1)) - 2023-10-10 06:05 UTC, deployment of [L2WETHGateway](https://scrollscan.com/address/0x7003E7B7186f0E6601203b99F7B8DECBfA391cf9#code): transaction [0x9021d0900bd824774d2fa08d23a47d61a94d83563cfc81ca834b54bd690e0539](https://scrollscan.com/tx/0x9021d0900bd824774d2fa08d23a47d61a94d83563cfc81ca834b54bd690e0539), implementations: [0x4966c037D653E31dB2c1F9727dd50dC679d51d65](https://scrollscan.com/address/0x4966c037D653E31dB2c1F9727dd50dC679d51d65#code) - Roles: - **admin**: ProxyAdmin #### L2ScrollMessenger Addresses: [0x781e90f1c8Fc4611c9b7497C3B47F99Ef6969CbC](https://scrollscan.com/address/0x781e90f1c8Fc4611c9b7497C3B47F99Ef6969CbC#code), [0x6fa66EeD8e8086f4c77204B5484D26F4e9AB7772](https://scrollscan.com/address/0x6fa66EeD8e8086f4c77204B5484D26F4e9AB7772#code) (Implementation (Upgradable)), [0xA76acF000C890b0DD7AEEf57627d9899F955d026](https://scrollscan.com/address/0xA76acF000C890b0DD7AEEf57627d9899F955d026#code) (Admin) **Past upgrades** (Count of upgrades: 1, Last upgrade: 2y 7mo ago, Avg upgrade interval: 1y 6mo) - 2024-02-22 08:08 UTC, upgrade of [L2ScrollMessenger](https://scrollscan.com/address/0x781e90f1c8Fc4611c9b7497C3B47F99Ef6969CbC#code): transaction [0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9](https://scrollscan.com/tx/0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9), implementations: [0x6fa66EeD8e8086f4c77204B5484D26F4e9AB7772](https://scrollscan.com/address/0x6fa66EeD8e8086f4c77204B5484D26F4e9AB7772#code) ([diff](https://disco.l2beat.com/diff/scr:0x485149079c421f9e4c465276BbaBB2fE0748d138/scr:0x6fa66EeD8e8086f4c77204B5484D26F4e9AB7772)) - 2023-10-10 06:05 UTC, deployment of [L2ScrollMessenger](https://scrollscan.com/address/0x781e90f1c8Fc4611c9b7497C3B47F99Ef6969CbC#code): transaction [0xced82475ea905f72d0cb7ed5731aa1c801d62249a92fbad6724dd3f223b83e96](https://scrollscan.com/tx/0xced82475ea905f72d0cb7ed5731aa1c801d62249a92fbad6724dd3f223b83e96), implementations: [0x485149079c421f9e4c465276BbaBB2fE0748d138](https://scrollscan.com/address/0x485149079c421f9e4c465276BbaBB2fE0748d138#code) ETH is pre-minted to this contract in the genesis block and released on Scroll whenever corresponding deposits are made on Ethereum. - Roles: - **admin**: ProxyAdmin #### L2ERC721Gateway Addresses: [0x7bC08E1c04fb41d75F1410363F0c5746Eae80582](https://scrollscan.com/address/0x7bC08E1c04fb41d75F1410363F0c5746Eae80582#code), [0x0894150DB82B912105F6D0907B5c69E72F1Df279](https://scrollscan.com/address/0x0894150DB82B912105F6D0907B5c69E72F1Df279#code) (Implementation (Upgradable)), [0xA76acF000C890b0DD7AEEf57627d9899F955d026](https://scrollscan.com/address/0xA76acF000C890b0DD7AEEf57627d9899F955d026#code) (Admin) **Past upgrades** (Count of upgrades: 1, Last upgrade: 2y 7mo ago, Avg upgrade interval: 1y 6mo) - 2024-02-22 08:08 UTC, upgrade of [L2ERC721Gateway](https://scrollscan.com/address/0x7bC08E1c04fb41d75F1410363F0c5746Eae80582#code): transaction [0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9](https://scrollscan.com/tx/0x92f480d8c9796a31dbe6bcf1be126d1d2cd44d43b3672d578b21c9412a36e3d9), implementations: [0x0894150DB82B912105F6D0907B5c69E72F1Df279](https://scrollscan.com/address/0x0894150DB82B912105F6D0907B5c69E72F1Df279#code) ([diff](https://disco.l2beat.com/diff/scr:0x71d7F43617CEaE99A43B7727151267A9919288F6/scr:0x0894150DB82B912105F6D0907B5c69E72F1Df279)) - 2023-10-10 06:05 UTC, deployment of [L2ERC721Gateway](https://scrollscan.com/address/0x7bC08E1c04fb41d75F1410363F0c5746Eae80582#code): transaction [0x56af44f6a76a5788776564b7d36720e0e9f5cd4695653d0f83871259c1480325](https://scrollscan.com/tx/0x56af44f6a76a5788776564b7d36720e0e9f5cd4695653d0f83871259c1480325), implementations: [0x71d7F43617CEaE99A43B7727151267A9919288F6](https://scrollscan.com/address/0x71d7F43617CEaE99A43B7727151267A9919288F6#code) Counterpart to the L1ERC721Gateway contract. - Roles: - **admin**: ProxyAdmin #### ProxyAdmin (3 instances) Addresses: [0x82e58e20Da6ecF4B07649C9B2237FAf27f02bC81](https://scrollscan.com/address/0x82e58e20Da6ecF4B07649C9B2237FAf27f02bC81#code), [0xA76acF000C890b0DD7AEEf57627d9899F955d026](https://scrollscan.com/address/0xA76acF000C890b0DD7AEEf57627d9899F955d026#code), [0xde4972789EA56c4e7ac7Ba655EaFe73a30155F1e](https://scrollscan.com/address/0xde4972789EA56c4e7ac7Ba655EaFe73a30155F1e#code) - Roles: - **owner**: ScrollOwner #### L2LidoGateway Addresses: [0x8aE8f22226B9d789A36AC81474e633f8bE2856c9](https://scrollscan.com/address/0x8aE8f22226B9d789A36AC81474e633f8bE2856c9#code), [0x2B9beB2890DBeFC7cA25Af3164100d139B623C24](https://scrollscan.com/address/0x2B9beB2890DBeFC7cA25Af3164100d139B623C24#code) (Implementation (Upgradable)), [0x8e34D07Eb348716a1f0a48A507A9de8a3A6DcE45](https://scrollscan.com/address/0x8e34D07Eb348716a1f0a48A507A9de8a3A6DcE45#code) (Admin) **Past upgrades** (Count of upgrades: 1, Last upgrade: 2y 7mo ago, Avg upgrade interval: 1y 6mo) - 2024-03-05 07:52 UTC, upgrade of [L2LidoGateway](https://scrollscan.com/address/0x8aE8f22226B9d789A36AC81474e633f8bE2856c9#code): transaction [0x64c28a89bdfa47a14998cdaaa4d85113e72c451e817a294930f93bdee4a3d598](https://scrollscan.com/tx/0x64c28a89bdfa47a14998cdaaa4d85113e72c451e817a294930f93bdee4a3d598), implementations: [0x2B9beB2890DBeFC7cA25Af3164100d139B623C24](https://scrollscan.com/address/0x2B9beB2890DBeFC7cA25Af3164100d139B623C24#code) ([diff](https://disco.l2beat.com/diff/scr:0xc568B5dcCeBE52073Fa783EAdacDE0a30fA4c2c9/scr:0x2B9beB2890DBeFC7cA25Af3164100d139B623C24)) - 2023-10-10 06:47 UTC, deployment of [L2LidoGateway](https://scrollscan.com/address/0x8aE8f22226B9d789A36AC81474e633f8bE2856c9#code): transaction [0x516429c9961880b285703de647f4f884068a31be7341f8ed54b799d0a1fb3e7b](https://scrollscan.com/tx/0x516429c9961880b285703de647f4f884068a31be7341f8ed54b799d0a1fb3e7b), implementations: [0xc568B5dcCeBE52073Fa783EAdacDE0a30fA4c2c9](https://scrollscan.com/address/0xc568B5dcCeBE52073Fa783EAdacDE0a30fA4c2c9#code) - Roles: - **admin**: ProxyAdmin Can be upgraded by: ProxyAdmin with no delay #### L2PauseController Addresses: [0xAf9a61Aa21aB4a2fdbc88e81363D2e3D359749dd](https://scrollscan.com/address/0xAf9a61Aa21aB4a2fdbc88e81363D2e3D359749dd#code), [0x105B9baaF75dA556c0206159481243163fAea1c9](https://scrollscan.com/address/0x105B9baaF75dA556c0206159481243163fAea1c9#code) (Implementation (Upgradable)), [0xA76acF000C890b0DD7AEEf57627d9899F955d026](https://scrollscan.com/address/0xA76acF000C890b0DD7AEEf57627d9899F955d026#code) (Admin) **Past upgrades** (Count of upgrades: No upgrades, Last upgrade: N/A, Avg upgrade interval: N/A) - 2025-07-21 03:07 UTC, deployment of [L2PauseController](https://scrollscan.com/address/0xAf9a61Aa21aB4a2fdbc88e81363D2e3D359749dd#code): transaction [0x00b655406a3deb852f16f951030e57119d4b49d018f61718f4784f7fdc325880](https://scrollscan.com/tx/0x00b655406a3deb852f16f951030e57119d4b49d018f61718f4784f7fdc325880), implementations: [0x105B9baaF75dA556c0206159481243163fAea1c9](https://scrollscan.com/address/0x105B9baaF75dA556c0206159481243163fAea1c9#code) - Roles: - **admin**: ProxyAdmin #### MasterMinter Addresses: [0xb5cE5F2277CFc547F48aA8263838FAEd424ae4BE](https://scrollscan.com/address/0xb5cE5F2277CFc547F48aA8263838FAEd424ae4BE#code) Contract that uses controllers to manage minters for USDC on Scroll. #### ScrollStandardERC20 Addresses: [0xC7d86908ccf644Db7C69437D5852CedBC1aD3f69](https://scrollscan.com/address/0xC7d86908ccf644Db7C69437D5852CedBC1aD3f69#code) Contract of the ERC20 standard token used by the ERC20 factory. #### SCRToken Addresses: [0xd29687c813D741E2F938F4aC377128810E217b1b](https://scrollscan.com/address/0xd29687c813D741E2F938F4aC377128810E217b1b#code), [0x7600174E2a730a05da046fFA8Fc32DEC27FfdDC8](https://scrollscan.com/address/0x7600174E2a730a05da046fFA8Fc32DEC27FfdDC8#code) (Implementation (Upgradable)), [0xde4972789EA56c4e7ac7Ba655EaFe73a30155F1e](https://scrollscan.com/address/0xde4972789EA56c4e7ac7Ba655EaFe73a30155F1e#code) (Admin) **Past upgrades** (Count of upgrades: No upgrades, Last upgrade: N/A, Avg upgrade interval: N/A) - 2024-09-03 04:12 UTC, deployment of [SCRToken](https://scrollscan.com/address/0xd29687c813D741E2F938F4aC377128810E217b1b#code): transaction [0xeef949ed328baf69a9b8cb4e33f652f4f5047ef736aa53324acf6a00c8b64b31](https://scrollscan.com/tx/0xeef949ed328baf69a9b8cb4e33f652f4f5047ef736aa53324acf6a00c8b64b31), implementations: [0x7600174E2a730a05da046fFA8Fc32DEC27FfdDC8](https://scrollscan.com/address/0x7600174E2a730a05da046fFA8Fc32DEC27FfdDC8#code) - Roles: - **admin**: ProxyAdmin The current deployment carries some associated risks: - Funds can be stolen if a contract receives a malicious code upgrade. There is no delay on code upgrades (CRITICAL). ### Program Hashes #### Executable of the Scroll bundle program v0.5.2 Proves the correct execution of a bundle of Scroll L2 blocks, which is the unit of L2 state finalisation from L1’s perspective. - Hash: `0x003ac2e012d8a7fb1495d94839fe36559b52fd6d60a532884c7558de2b88bf72` - Repository: https://github.com/scroll-tech/zkvm-prover/tree/0.5.2/crates/circuits/bundle-circuit - Verification: successful - Used in: [Scroll](https://l2beat.com/layer2s/projects/scroll) ##### Verification steps Steps due to the guide here: [https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174](https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174). 1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) and make sure it is running `docker ps`. 2. Checkout the correct branch in [zkvm-prover](https://github.com/scroll-tech/zkvm-prover/tree/master) repo: `git checkout 0.5.2` Commit hash should be `8f29f60cc73495e8586338a67433a812097427c4`. 3. Build the guest programs from the root repo dir: `make build-guest`. It will regenerate `bundle_exe_commit.rs`. 4. Run `compress_commitment` function from [https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174](https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174) on the `COMMIT` array from the previous step to generate `digest_2` value. A sample rust implementation is: ``` use openvm_stark_sdk::p3_baby_bear::BabyBear; use openvm_stark_sdk::p3_bn254_fr::Bn254Fr; use openvm_stark_sdk::openvm_stark_backend::p3_field::FieldAlgebra; use openvm_stark_sdk::openvm_stark_backend::p3_field::PrimeField32; fn compress_commitment(commitment: &[u32; 8]) -> Bn254Fr { let order = Bn254Fr::from_canonical_u64(BabyBear::ORDER_U32 as u64); let mut base = Bn254Fr::ONE; // from PrimeCharacteristicRing let mut compressed = Bn254Fr::ZERO; // from PrimeCharacteristicRing for val in commitment { compressed += Bn254Fr::from_canonical_u64(*val as u64) * base; base *= order; } compressed } ``` #### Config of the Scroll bundle program v0.5.2 This is not a ZK program, but a commitment to the config of Scroll bundle program (bundle leaf commitment). It also needs to be checked to verify the expected ZK verification. - Hash: `0x009305f0762291e3cdd805ff6d6e81f1d135dbfdeb3ecf30ad82c3855dde7909` - Repository: https://github.com/scroll-tech/zkvm-prover/tree/0.5.2/crates/circuits/bundle-circuit - Verification: successful - Used in: [Scroll](https://l2beat.com/layer2s/projects/scroll) ##### Verification steps Steps due to the guide here: [https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174](https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174). 1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) and make sure it is running `docker ps`. 2. Checkout the correct branch in [zkvm-prover](https://github.com/scroll-tech/zkvm-prover/tree/master) repo: `git checkout 0.5.2` Commit hash should be `8f29f60cc73495e8586338a67433a812097427c4`. 3. Build the guest programs from the root repo dir: `make build-guest`. It will regenerate `circuits/bundle-circuit/bundle_leaf_commit.rs`. 4. Run `compress_commitment` function from [https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174](https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174) on the `COMMIT` array from the previous step to generate `digest_2` value. A sample rust implementation is: ``` use openvm_stark_sdk::p3_baby_bear::BabyBear; use openvm_stark_sdk::p3_bn254_fr::Bn254Fr; use openvm_stark_sdk::openvm_stark_backend::p3_field::FieldAlgebra; use openvm_stark_sdk::openvm_stark_backend::p3_field::PrimeField32; fn compress_commitment(commitment: &[u32; 8]) -> Bn254Fr { let order = Bn254Fr::from_canonical_u64(BabyBear::ORDER_U32 as u64); let mut base = Bn254Fr::ONE; // from PrimeCharacteristicRing let mut compressed = Bn254Fr::ZERO; // from PrimeCharacteristicRing for val in commitment { compressed += Bn254Fr::from_canonical_u64(*val as u64) * base; base *= order; } compressed } ``` #### Executable of the Scroll bundle program v0.7.1 Proves the correct execution of a bundle of Scroll L2 blocks, which is the unit of L2 state finalisation from L1’s perspective. - Hash: `0x0062333dc88631be7af046cc8d3c24f346de172aa2030a28b445ab500889d297` - Repository: https://github.com/scroll-tech/zkvm-prover/tree/v0.7.1/crates/circuits/bundle-circuit - Verification: successful - Used in: [Scroll](https://l2beat.com/layer2s/projects/scroll) ##### Verification steps Steps due to the guide here: [https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174](https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174). Although the guide below uses docker for reproducable builds, we failed to obtain the correct program hash on a MacOS machine. The steps below work only for a Linux OS (e.g. Ubuntu). 1. On a Linux machine, install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) and make sure it is running `docker ps`. 2. Checkout the correct branch in [zkvm-prover](https://github.com/scroll-tech/zkvm-prover/tree/master) repo: `git checkout 0.7.1` Commit hash should be `85dc6bc56728b8eef22281fdb215c136d7b5bbda`. 3. Build the guest programs from the root repo dir: `make build-guest`. It will regenerate `circuits/bundle-circuit/bundle_leaf_commit.rs`. 4. Run `compress_commitment` function from [https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174](https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174) on the `COMMIT` array from the previous step to generate `digest_2` value. A sample rust implementation is: ``` use openvm_stark_sdk::p3_baby_bear::BabyBear; use openvm_stark_sdk::p3_bn254_fr::Bn254Fr; use openvm_stark_sdk::openvm_stark_backend::p3_field::FieldAlgebra; use openvm_stark_sdk::openvm_stark_backend::p3_field::PrimeField32; fn compress_commitment(commitment: &[u32; 8]) -> Bn254Fr { let order = Bn254Fr::from_canonical_u64(BabyBear::ORDER_U32 as u64); let mut base = Bn254Fr::ONE; // from PrimeCharacteristicRing let mut compressed = Bn254Fr::ZERO; // from PrimeCharacteristicRing for val in commitment { compressed += Bn254Fr::from_canonical_u64(*val as u64) * base; base *= order; } compressed } ``` #### Executable of the Scroll bundle program v0.9.1 Proves the correct execution of a bundle of Scroll L2 blocks, which is the unit of L2 state finalisation from L1’s perspective. - Hash: `0x006770fb0f71f20718b614c8c5d3fb39482f0527806e67b0ea00ab5508245655` - Repository: https://github.com/scroll-tech/zkvm-prover/tree/v0.9.1/crates/circuits/bundle-circuit - Verification: successful - Used in: [Scroll](https://l2beat.com/layer2s/projects/scroll) ##### Verification steps Steps due to the guide here: [https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174](https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174). The steps below work only for Linux OS (linux/amd64). 1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) and make sure it is running `docker ps`. 2. Checkout the correct commit in [zkvm-prover](https://github.com/scroll-tech/zkvm-prover/tree/master) repo: `git checkout v0.9.1` (commit `bf887150bb671af9b17dd53e92b7f2bbf01ec745`). 3. Build the guest programs from the root repo dir: `make build-guest`. It will regenerate `crates/circuits/bundle-circuit/bundle_exe_commit.rs`. The rebuilt file is byte-identical to the one committed in the repo, with `COMMIT` array `[230646913, 1550155984, 1593546189, 445636947, 993877920, 922842868, 418587344, 1363280000]`. 4. Run `compress_commitment` function from [https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174](https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174) on the `COMMIT` array from the previous step to generate `digest_2` value. A sample rust implementation is: ``` use openvm_stark_sdk::p3_baby_bear::BabyBear; use openvm_stark_sdk::p3_bn254_fr::Bn254Fr; use openvm_stark_sdk::openvm_stark_backend::p3_field::FieldAlgebra; use openvm_stark_sdk::openvm_stark_backend::p3_field::PrimeField32; fn compress_commitment(commitment: &[u32; 8]) -> Bn254Fr { let order = Bn254Fr::from_canonical_u64(BabyBear::ORDER_U32 as u64); let mut base = Bn254Fr::ONE; // from PrimeCharacteristicRing let mut compressed = Bn254Fr::ZERO; // from PrimeCharacteristicRing for val in commitment { compressed += Bn254Fr::from_canonical_u64(*val as u64) * base; base *= order; } compressed } ``` #### Config of the Scroll bundle program v0.9.1 This is not a ZK program, but a commitment to the config of Scroll bundle program (bundle leaf commitment). It also needs to be checked to verify the expected ZK verification. - Hash: `0x00488b196ca5b2ea1fda4c960fe2e1b0b9715c0428a8ec6fb01a64684f8533f7` - Repository: https://github.com/scroll-tech/zkvm-prover/tree/v0.9.1/crates/circuits/bundle-circuit - Verification: successful - Used in: [Scroll](https://l2beat.com/layer2s/projects/scroll) ##### Verification steps Steps due to the guide here: [https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174](https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174). The steps below work only for Linux OS (linux/amd64). 1. On a Linux machine, install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) and make sure it is running `docker ps`. 2. Checkout the correct commit in [zkvm-prover](https://github.com/scroll-tech/zkvm-prover/tree/master) repo: `git checkout v0.9.1` (commit `bf887150bb671af9b17dd53e92b7f2bbf01ec745`). 3. Build the guest programs from the root repo dir: `make build-guest`. It will regenerate `crates/circuits/bundle-circuit/bundle_vm_commit.rs`. The rebuilt file is byte-identical to the one committed in the repo, with `COMMIT` array `[1986621377, 858531750, 1460740544, 1489416258, 402142684, 1028207948, 2010771520, 956067622]`. 4. Run `compress_commitment` function from [https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174](https://scrollzkp.notion.site/Prover-Architecture-Post-Euclid-1de7792d22af80e3a8ecdd03b5f02174) on the `COMMIT` array from the previous step to generate `digest_2` value. A sample rust implementation is: ``` use openvm_stark_sdk::p3_baby_bear::BabyBear; use openvm_stark_sdk::p3_bn254_fr::Bn254Fr; use openvm_stark_sdk::openvm_stark_backend::p3_field::FieldAlgebra; use openvm_stark_sdk::openvm_stark_backend::p3_field::PrimeField32; fn compress_commitment(commitment: &[u32; 8]) -> Bn254Fr { let order = Bn254Fr::from_canonical_u64(BabyBear::ORDER_U32 as u64); let mut base = Bn254Fr::ONE; // from PrimeCharacteristicRing let mut compressed = Bn254Fr::ZERO; // from PrimeCharacteristicRing for val in commitment { compressed += Bn254Fr::from_canonical_u64(*val as u64) * base; base *= order; } compressed } ```