# Morph Markdown version of https://ethbeat.org/layer2s/projects/morph ## Summary - Total Value Secured: $148.68 M (-5.30% compared to seven days ago; canonically bridged $13.94 M, natively minted $0.00, externally bridged $134.73 M; 90.6% 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 $9.85 M (6.62%), Stablecoins $32.04 M (21.5%), BTC & derivatives $65.07 M (43.7%), Other $41.71 M (28.0%) - Past day UOPS: 0.17 (+19.1% compared to seven days ago) - Stage: Stage 0 - Gas token: ETH - Type: Optimistic Rollup - Purpose: Universal - Host chain: Ethereum - Chain ID: 2818 ### Risks - Sequencer failure: Force via L1 (sentiment: good) - State validation: Fraud proofs (1R, ZK) (2d challenge period; sentiment: warning) - Data availability: Onchain (sentiment: good) - Exit window: None (sentiment: bad) - Proposer failure: Self propose (sentiment: good) ### About Morph is an EVM compatible rollup. It operates as an optimistic rollup with ZK fault proofs and has plans for decentralizing the Sequencer. Their mission is to build the first blockchain for consumers, where user-friendly applications integrate seamlessly into everyday life, becoming indispensable utilities. ### Links - Website: https://morphl2.io - Bridge: https://bridge.morphl2.io/ - Docs: https://docs.morphl2.io - Explorer: https://explorer.morphl2.io - Repository: https://github.com/morph-l2 - Social: https://x.com/MorphLayer, https://t.me/MorphL2official, https://blog.morphl2.io/, https://medium.com/@morphlayer2, https://discord.com/invite/morphnetwork, https://youtube.com/@morphofficiall2 - Contracts explorer (Disco): https://disco.l2beat.com/ui/p/morph ### 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 ## Value Secured The interactive TVS charts are shown on [the HTML page](https://ethbeat.org/layer2s/projects/morph#tvs). Token by token: [TVS breakdown](https://ethbeat.org/layer2s/projects/morph/tvs-breakdown). - [TVS chart (JSON)](https://ethbeat.org/api/scaling/tvs/morph) - [TVS breakdown by token (JSON)](https://ethbeat.org/api/scaling/tvs/morph/breakdown) ## Activity The interactive activity chart is shown on [the HTML page](https://ethbeat.org/layer2s/projects/morph#activity). - [Activity chart (JSON)](https://ethbeat.org/api/scaling/activity/morph) ## 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://ethbeat.org/projects/ethereum). The interactive data posted chart is shown on [the HTML page](https://ethbeat.org/layer2s/projects/morph#data-posted). ### Tracked transactions #### Blob submissions - DA layer Ethereum: from block 21013218 to 22744283; historical; inbox: [0x759894Ced0e6af42c26668076Ffa84d02E3CeF60](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60); sequencers: [0x34E387B37d3ADEAa6D5B92cE30dE3af3DCa39796](https://etherscan.io/address/0x34E387B37d3ADEAa6D5B92cE30dE3af3DCa39796), [0x61F2945d4bc9E40B66a6376d1094a50438f613e2](https://etherscan.io/address/0x61F2945d4bc9E40B66a6376d1094a50438f613e2), [0x6aB0E960911b50f6d14f249782ac12EC3E7584A0](https://etherscan.io/address/0x6aB0E960911b50f6d14f249782ac12EC3E7584A0), [0xa59B26DB10C5Ca26a97AA2Fd2E74CB8DA9D1EB65](https://etherscan.io/address/0xa59B26DB10C5Ca26a97AA2Fd2E74CB8DA9D1EB65), [0xb6cF39ee72e0127E6Ea6059e38B8C197227a6ac7](https://etherscan.io/address/0xb6cF39ee72e0127E6Ea6059e38B8C197227a6ac7), [0xBBA36CdF020788f0D08D5688c0Bee3fb30ce1C80](https://etherscan.io/address/0xBBA36CdF020788f0D08D5688c0Bee3fb30ce1C80), [0xf834ffbeb6bB3F4841afc6b5FB40B94cd580fa23](https://etherscan.io/address/0xf834ffbeb6bB3F4841afc6b5FB40B94cd580fa23) - DA layer Ethereum: from block 22744284 to 26031669; historical; inbox: [0x759894Ced0e6af42c26668076Ffa84d02E3CeF60](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60); sequencers: [0x6aB0E960911b50f6d14f249782ac12EC3E7584A0](https://etherscan.io/address/0x6aB0E960911b50f6d14f249782ac12EC3E7584A0), [0xBBA36CdF020788f0D08D5688c0Bee3fb30ce1C80](https://etherscan.io/address/0xBBA36CdF020788f0D08D5688c0Bee3fb30ce1C80), [0x34E387B37d3ADEAa6D5B92cE30dE3af3DCa39796](https://etherscan.io/address/0x34E387B37d3ADEAa6D5B92cE30dE3af3DCa39796), [0xf0e11a8EA095Cc915f5a7e420928d396ed1Bb7e4](https://etherscan.io/address/0xf0e11a8EA095Cc915f5a7e420928d396ed1Bb7e4), [0x76F91869161dC4348230D5F60883Dd17462035f4](https://etherscan.io/address/0x76F91869161dC4348230D5F60883Dd17462035f4) - DA layer Ethereum: from block 26031669 to now; currently used; inbox: [0x759894Ced0e6af42c26668076Ffa84d02E3CeF60](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60); sequencers: [0x6aB0E960911b50f6d14f249782ac12EC3E7584A0](https://etherscan.io/address/0x6aB0E960911b50f6d14f249782ac12EC3E7584A0), [0xBBA36CdF020788f0D08D5688c0Bee3fb30ce1C80](https://etherscan.io/address/0xBBA36CdF020788f0D08D5688c0Bee3fb30ce1C80), [0x34E387B37d3ADEAa6D5B92cE30dE3af3DCa39796](https://etherscan.io/address/0x34E387B37d3ADEAa6D5B92cE30dE3af3DCa39796) ## Milestones & Incidents - 2026-09-22: [Fully centralized sequencing](https://etherscan.io/tx/0xdeb5268cbec1b47c77ad46cb8dd29491833e45ae374d2905f94f4e0499e8110e). Only submitters staked in the new Submitter contract can commit batches. BLS input removed. ## Risk summary **Warning:** The current rollup version loses liveness if bad/random data is posted to blobs using `commitBatch()` ### Funds can be stolen if 1. a contract receives a malicious code upgrade. There is no delay on code upgrades (CRITICAL), 2. no whitelisted challenger posts a challenge for an incorrect state root. ### MEV can be extracted if 3. the operator exploits their centralized position and frontruns user transactions. ## Risk analysis **Warning:** The current rollup version loses liveness if bad/random data is posted to blobs using `commitBatch()` ### Sequencer failure Force via L1 (sentiment: good) Users can force the sequencer to include a transaction by submitting a request through L1. If the sequencer censors or is down for 7d, new L1 batches must include at least 1 transaction from the queue. ### State validation Fraud proofs (1R, ZK) (2d challenge period; sentiment: warning) Fraud proofs allow actors watching the chain to prove that the state is incorrect. Single round proofs (1R) only require a single transaction to resolve. ZK proofs are used to prove the correctness of the state transition. The system currently operates with at least 5 whitelisted challengers external to the team. ### 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) Anyone can become a Proposer after 7d of inactivity from the currently whitelisted Proposers. This requires using the source-available prover to submit a zk proof of validity for the proposal. ## Stage Morph is a Stage 0 Optimistic Rollup. ### Stage 0 6 requirements met. - Met: A complete and functional proof system is deployed. - Met: There are at least 5 external actors who can submit fraud proofs. - 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 ETHBEAT team has not verified the validity of the node source code. [View code](https://github.com/morph-l2/run-morph-node) ### Stage 1 5 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 ETHBEAT [trusted setup assessment framework](https://forum.l2beat.com/t/the-trusted-setups-framework-for-zk-catalog/381). - Met: Prover source code is published. - 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: The Security Council is not properly set up. - Issue: Not all onchain verifiers' smart contracts can be independently regenerated from the verifier source code. ### Stage 2 3 issues need fixing. - Issue: Fraud proof submission is open only to whitelisted actors. - 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://ethbeat.org/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** - [Rollup.sol - Etherscan source code commitBatch() and commitBatchWithBlobProof() functions](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60#code) Learn more about the DA layer here: [Ethereum](https://ethbeat.org/projects/ethereum) ## State validation ### Fraud proofs Morph uses a one round fault proof system where whitelisted Challengers, if they find a faulty state root within the 2d challenge window, can post a 1 WEI bond and request a ZK proof of the state transition. At least 5 Challengers are operated by entities external to the team. After the challenge, during a 3d proving window, a ZK proof must be delivered, otherwise the state root is considered invalid and the submitter's whole stake in the Submitter contract (at least 1 ETH) is slashed, with 30% of it forwarded as challenger reward and the rest accruing to the Submitter owner. The zkVM used is SP1 by Succinct. If a valid proof is delivered, the Challenger loses the challenge bond. The Morph Multisig can revert unfinalized batches. **Risks** - Funds can be stolen if no whitelisted challenger posts a challenge for an incorrect state root. **References** - [Whitelisted Challengers - Morph Docs](https://docs.morphl2.io/docs/how-morph-works/optimistic-zkevm/#challenger-address-list) - [Rollup.sol - Etherscan source code, commitBatch(), challengeState(), proveState() functions](https://etherscan.io/address/0x213CE22b487B71Ac68a1B5b12d2b93D1AF30Ea1d#code) - [Submitter.sol - Etherscan source code, isActive(), stake(), slash() functions](https://etherscan.io/address/0x3c5C88F69B190a1c497996AfEDb1a6591b0dF576#code) ### Prover: [SP1 Hypercube](https://ethbeat.org/zk-catalog/sp1hypercube) #### Trusted setups - Gnark (Plonk): - Aztec Ignition, risk green (lowest risk) per the [Trusted Setups Risk Framework](https://forum.l2beat.com/t/the-trusted-setups-framework-for-zk-catalog/381): Aztec Ignition is a trusted setup ceremony that was run by Aztec for KZG commitment over BN254 curve in 2019. It included 176 participants and was publicly open for participation. - Onchain verifiers: [ZkEvmVerifierV1](https://etherscan.io/address/0x9774CE99E8Ab3f13582bC6c2Bd2832e5A25C4624#code) (1 successful (verified by [ETHBEAT](https://ethbeat.org))), [ZkEvmVerifierV1](https://etherscan.io/address/0xFF31F579F723e0493D969B46095FE718ebf4401A#code) (1 successful (verified by [ETHBEAT](https://ethbeat.org))) - Used in: [Base Chain](https://ethbeat.org/layer2s/projects/base), [Mantle](https://ethbeat.org/layer2s/projects/mantle), [Celo](https://ethbeat.org/layer2s/projects/celo), [X Layer](https://ethbeat.org/layer2s/projects/xlayer), [Morph](https://ethbeat.org/layer2s/projects/morph), [Katana](https://ethbeat.org/layer2s/projects/katana), [RISE](https://ethbeat.org/layer2s/projects/rise), [Lumia Prism](https://ethbeat.org/layer2s/projects/lumia), [Taiko Alethia](https://ethbeat.org/layer2s/projects/taiko), [Haust Network](https://ethbeat.org/layer2s/projects/haust), [Silicon](https://ethbeat.org/layer2s/projects/silicon), [Polygon zkEVM](https://ethbeat.org/layer2s/projects/polygonzkevm), [Sophon](https://ethbeat.org/layer2s/projects/sophon), [Pentagon Chain](https://ethbeat.org/layer2s/projects/penchain), [Lens](https://ethbeat.org/layer2s/projects/lens) - Verifiers: 1 successful (verified by [ETHBEAT](https://ethbeat.org)) ### Program Hashes #### Morph Guest program (v0.5.6 release) Proves the correct execution of the Morph L2 state transition function (based on the Geth EVM) for a batch of blocks using the SP1 zkVM. - Hash: `0x00c4ea13863f7b423f53140f432d7147e48b8e31660420636931c0a72459c25c` - Repository: https://github.com/morph-l2/morph/tree/v0.5.6/prover/bin/client - Verification: successful - Used in: [Morph](https://ethbeat.org/layer2s/projects/morph) ##### Verification steps The steps below should be done on a Linux machine to reproduce the program hash. To prepare: 1. Install cargo make: `cargo install --debug --locked cargo-make` 2. Install sp1 toolchain version `v6.2.0`: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up --version v6.2.0` 3. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) Verify: 1. Checkout the correct branch in [morph repo](https://github.com/morph-l2/morph): `git checkout v0.5.6`. Commit hash should be `cafa07d19de8a5a36c8510890a72533c8e0e52e5` 2. Make sure docker is running by running `docker ps` 3. Build the program binary from `prover/bin/client` dir using a docker container build for reproducibility: `cargo prove build --docker --tag v6.2.0` 4. The generated elf binary `verifier-client` will be placed in `prover/target/elf-compilation/docker/riscv64im-succinct-zkvm-elf/release`. Move it to `prover/bin/client/elf`. 5. Regenerate and print the vkey from the elf binary by calling `cargo run --release --bin vkey` from `prover` dir. #### Morph Guest program (v0.6.4 release) Proves the correct execution of the Morph L2 state transition function (based on the Geth EVM) for a batch of blocks using the SP1 zkVM. The sequencer-set public input field is zero. - Hash: `0x0084f08a14f8199f87e7ae6011336724ec187b3656859184f04c7e8f382a2902` - Repository: https://github.com/morph-l2/morph/tree/v0.6.4/prover/bin/client - Verification: successful - Used in: [Morph](https://ethbeat.org/layer2s/projects/morph) ##### Verification steps The steps below should be done on a Linux machine to reproduce the program hash. To prepare: 1. Install cargo make: `cargo install --debug --locked cargo-make` 2. Install sp1 toolchain version `v6.2.0`: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up --version v6.2.0` 3. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) (a rootless podman with a `docker` shim also works) Verify: 1. Checkout the correct branch in [morph repo](https://github.com/morph-l2/morph): `git checkout v0.6.4`. Commit hash should be `1cee926534d031fd9f41d6b3cf3edda6da467f57` 2. Make sure docker is running by running `docker ps` 3. Build the program binary from `prover/bin/client` dir using a docker container build for reproducibility: `cargo prove build --docker --tag v6.2.0 --ignore-rust-version` 4. The generated elf binary `verifier-client` will be placed in `prover/target/elf-compilation/docker/riscv64im-succinct-zkvm-elf/release`. Its SHA-256 should be `63f50c303d398f2250a545b21f2e376f01eed1fa719de6cb159630cd03927128`, identical to the committed `prover/bin/client/elf/verifier-client`. Move it to `prover/bin/client/elf`. 5. Regenerate and print the vkey from the elf binary by calling `cargo run --release --bin vkey` from `prover` dir (needs `protoc` and OpenSSL headers on the host). ## Upgrades & Governance ### 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: 23 - Last upgrade: 1mo 13d ago - Avg upgrade interval: 7mo 15d - 2026-09-22 07:54 UTC, upgrade of [Rollup](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60#code): transaction [0xdeb5268cbec1b47c77ad46cb8dd29491833e45ae374d2905f94f4e0499e8110e](https://etherscan.io/tx/0xdeb5268cbec1b47c77ad46cb8dd29491833e45ae374d2905f94f4e0499e8110e), implementations: [0x213CE22b487B71Ac68a1B5b12d2b93D1AF30Ea1d](https://etherscan.io/address/0x213CE22b487B71Ac68a1B5b12d2b93D1AF30Ea1d#code) ([diff](https://disco.l2beat.com/diff/eth:0xaC3C379D772f3520B34690d32BA14510ab36C3fB/eth:0x213CE22b487B71Ac68a1B5b12d2b93D1AF30Ea1d)) - 2026-09-17 03:53 UTC, deployment of [Submitter](https://etherscan.io/address/0xf2d50000C994565A4742059802fdbb0BEE1CBef6#code): transaction [0x3d9a9fcb431bbf54d5492373165b1f33b93cc279cd54861aadcaa2fd5ee25fa9](https://etherscan.io/tx/0x3d9a9fcb431bbf54d5492373165b1f33b93cc279cd54861aadcaa2fd5ee25fa9), implementations: [0x3c5C88F69B190a1c497996AfEDb1a6591b0dF576](https://etherscan.io/address/0x3c5C88F69B190a1c497996AfEDb1a6591b0dF576#code) - 2026-06-03 11:26 UTC, upgrade of [Rollup](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60#code): transaction [0xe9128be913e8685a928c8e8468a030a95ad44ef4ad78534c688cd721af496a54](https://etherscan.io/tx/0xe9128be913e8685a928c8e8468a030a95ad44ef4ad78534c688cd721af496a54), implementations: [0xaC3C379D772f3520B34690d32BA14510ab36C3fB](https://etherscan.io/address/0xaC3C379D772f3520B34690d32BA14510ab36C3fB#code) ([diff](https://disco.l2beat.com/diff/eth:0x9e2Fb684935a32CEd121972f23BD0e4634377cA2/eth:0xaC3C379D772f3520B34690d32BA14510ab36C3fB)) - 2026-03-30 09:36 UTC, upgrade of [Rollup](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60#code): transaction [0xd2892f5b4e5c8fe4bd476e83689b21f4716a38185a3923bd1fcbcf61deefb8f9](https://etherscan.io/tx/0xd2892f5b4e5c8fe4bd476e83689b21f4716a38185a3923bd1fcbcf61deefb8f9), implementations: [0x9e2Fb684935a32CEd121972f23BD0e4634377cA2](https://etherscan.io/address/0x9e2Fb684935a32CEd121972f23BD0e4634377cA2#code) ([diff](https://disco.l2beat.com/diff/eth:0xB2F539aede77DF4cD1d427d046bBbBd8dB4cBAAF/eth:0x9e2Fb684935a32CEd121972f23BD0e4634377cA2)) - 2026-03-27 01:34 UTC, upgrade of [Rollup](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60#code): transaction [0x8eec835066ebedafa6430fc7b0cd1de2b7a46eb09e56519868ca9dbb938f4c8f](https://etherscan.io/tx/0x8eec835066ebedafa6430fc7b0cd1de2b7a46eb09e56519868ca9dbb938f4c8f), implementations: [0xB2F539aede77DF4cD1d427d046bBbBd8dB4cBAAF](https://etherscan.io/address/0xB2F539aede77DF4cD1d427d046bBbBd8dB4cBAAF#code) ([diff](https://disco.l2beat.com/diff/eth:0x1320d6A438d268044c8EEff0eE6B24E5EC9584e3/eth:0xB2F539aede77DF4cD1d427d046bBbBd8dB4cBAAF)) - 2026-03-03 06:06 UTC, upgrade of [Rollup](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60#code): transaction [0xc86bc6dc60ad304afbc7f423668a272434c17dbf4a0bb27906d74f0940a6eab1](https://etherscan.io/tx/0xc86bc6dc60ad304afbc7f423668a272434c17dbf4a0bb27906d74f0940a6eab1), implementations: [0x1320d6A438d268044c8EEff0eE6B24E5EC9584e3](https://etherscan.io/address/0x1320d6A438d268044c8EEff0eE6B24E5EC9584e3#code) ([diff](https://disco.l2beat.com/diff/eth:0xDF0749e688AE74508D84699Ba2405ED610Aaf8c5/eth:0x1320d6A438d268044c8EEff0eE6B24E5EC9584e3)) - 2026-03-03 06:03 UTC, upgrade of [L1MessageQueueWithGasPriceOracle](https://etherscan.io/address/0x3931Ade842F5BB8763164bDd81E5361DcE6cC1EF#code): transaction [0x29632a0458dbc5cbad5e831228a54c118e8e0746bff06fcf151cad568079a318](https://etherscan.io/tx/0x29632a0458dbc5cbad5e831228a54c118e8e0746bff06fcf151cad568079a318), implementations: [0xf3b7724334cb0aDBC49CAC90e166Af99C07Be6aa](https://etherscan.io/address/0xf3b7724334cb0aDBC49CAC90e166Af99C07Be6aa#code) ([diff](https://disco.l2beat.com/diff/eth:0xa3b5bFB885FF92EB8445f262c289548e77c3c0aA/eth:0xf3b7724334cb0aDBC49CAC90e166Af99C07Be6aa)) - 2026-02-11 03:07 UTC, deployment of [TimelockController](https://etherscan.io/address/0x542675E90E269F20ecbb9e0095d4751ac155B530#code): transaction [0x8758e296217ea0a7f75403d57eb75eaa7067a45dd1b9cfc070e7fb1c1d9f6554](https://etherscan.io/tx/0x8758e296217ea0a7f75403d57eb75eaa7067a45dd1b9cfc070e7fb1c1d9f6554), implementations: [0x5F0CAaf0d3b8dd8eA9f80CDbb0021930d3c17353](https://etherscan.io/address/0x5F0CAaf0d3b8dd8eA9f80CDbb0021930d3c17353#code) - 2025-11-25 08:51 UTC, upgrade of [Rollup](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60#code): transaction [0x27b0e1b46f9878a502c68e414bc6fea028c3a551760e5687c56bdd4eda4f31c9](https://etherscan.io/tx/0x27b0e1b46f9878a502c68e414bc6fea028c3a551760e5687c56bdd4eda4f31c9), implementations: [0xDF0749e688AE74508D84699Ba2405ED610Aaf8c5](https://etherscan.io/address/0xDF0749e688AE74508D84699Ba2405ED610Aaf8c5#code) ([diff](https://disco.l2beat.com/diff/eth:0x9C79e8F5d0fE910d84a6a0d4A03E8136d036eBec/eth:0xDF0749e688AE74508D84699Ba2405ED610Aaf8c5)) - 2025-05-12 07:11 UTC, upgrade of [Rollup](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60#code): transaction [0x1cd98e49b0d0c30a39c97683c374f5d3541d1ed02b14272a7113709fe01700d7](https://etherscan.io/tx/0x1cd98e49b0d0c30a39c97683c374f5d3541d1ed02b14272a7113709fe01700d7), implementations: [0x9C79e8F5d0fE910d84a6a0d4A03E8136d036eBec](https://etherscan.io/address/0x9C79e8F5d0fE910d84a6a0d4A03E8136d036eBec#code) ([diff](https://disco.l2beat.com/diff/eth:0x43190DfD1F572Cb56B1942B44482d1774151D77A/eth:0x9C79e8F5d0fE910d84a6a0d4A03E8136d036eBec)) - 2025-01-13 08:11 UTC, upgrade of [L1MessageQueueWithGasPriceOracle](https://etherscan.io/address/0x3931Ade842F5BB8763164bDd81E5361DcE6cC1EF#code): transaction [0x60cc38cb058516da361ecd5f548fc9216fbcda9eb08255b529ebbf78dac44f7b](https://etherscan.io/tx/0x60cc38cb058516da361ecd5f548fc9216fbcda9eb08255b529ebbf78dac44f7b), implementations: [0xa3b5bFB885FF92EB8445f262c289548e77c3c0aA](https://etherscan.io/address/0xa3b5bFB885FF92EB8445f262c289548e77c3c0aA#code) ([diff](https://disco.l2beat.com/diff/eth:0x828F68e2E05a34fA836416F124350E25021876ac/eth:0xa3b5bFB885FF92EB8445f262c289548e77c3c0aA)) - 2025-01-13 08:10 UTC, upgrade of [L1CrossDomainMessenger](https://etherscan.io/address/0xDc71366EFFA760804DCFC3EDF87fa2A6f1623304#code): transaction [0x908d9fce8cd9a787900543daabf45936a8873b543f593030f3edceeca35543f8](https://etherscan.io/tx/0x908d9fce8cd9a787900543daabf45936a8873b543f593030f3edceeca35543f8), implementations: [0x0cC37d5239F9027A1269f53D83c73084D538f3a9](https://etherscan.io/address/0x0cC37d5239F9027A1269f53D83c73084D538f3a9#code) ([diff](https://disco.l2beat.com/diff/eth:0xB8F0871bc0832cb756f07fFC4bDdC8b6bf8577b5/eth:0x0cC37d5239F9027A1269f53D83c73084D538f3a9)) - 2025-01-13 07:31 UTC, upgrade of [Rollup](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60#code): transaction [0x809b1d9bba9fd8f61c038603ddf7a6f0a079db83a4a6d341cf23d2af5764a9be](https://etherscan.io/tx/0x809b1d9bba9fd8f61c038603ddf7a6f0a079db83a4a6d341cf23d2af5764a9be), implementations: [0x43190DfD1F572Cb56B1942B44482d1774151D77A](https://etherscan.io/address/0x43190DfD1F572Cb56B1942B44482d1774151D77A#code) ([diff](https://disco.l2beat.com/diff/eth:0xaD900dB30Bcdf84c38Df0067eA327bbEccCF071A/eth:0x43190DfD1F572Cb56B1942B44482d1774151D77A)) - 2024-11-28 03:51 UTC, upgrade of [Rollup](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60#code): transaction [0xa452e20183f6860f105cb398bccc9d75dd3758444b956061b3031d1f0a33c424](https://etherscan.io/tx/0xa452e20183f6860f105cb398bccc9d75dd3758444b956061b3031d1f0a33c424), implementations: [0xaD900dB30Bcdf84c38Df0067eA327bbEccCF071A](https://etherscan.io/address/0xaD900dB30Bcdf84c38Df0067eA327bbEccCF071A#code) ([diff](https://disco.l2beat.com/diff/eth:0x073403E147a8e607b80985fe458c0B527287278F/eth:0xaD900dB30Bcdf84c38Df0067eA327bbEccCF071A)) - 2024-11-13 09:24 UTC, upgrade of [L1USDCGateway](https://etherscan.io/address/0x2C8314f5AADa5D7a9D32eeFebFc43aCCAbe1b289#code): transaction [0x47a8274c298fdebabdb61ccf7b85b39c4a04abf93d4fca8114e010ddf17aec3a](https://etherscan.io/tx/0x47a8274c298fdebabdb61ccf7b85b39c4a04abf93d4fca8114e010ddf17aec3a), implementations: [0xB409E42e8284244F56edf9cB24b2A1f227DC3cE0](https://etherscan.io/address/0xB409E42e8284244F56edf9cB24b2A1f227DC3cE0#code) ([diff](https://disco.l2beat.com/diff/eth:0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F/eth:0xB409E42e8284244F56edf9cB24b2A1f227DC3cE0)) - 2024-11-13 08:25 UTC, deployment of [L1USDCGateway](https://etherscan.io/address/0x2C8314f5AADa5D7a9D32eeFebFc43aCCAbe1b289#code): transaction [0x3d909b5e29529ad2628f9abf1921030a094c6f2fae693979d8c009eb6638c1b3](https://etherscan.io/tx/0x3d909b5e29529ad2628f9abf1921030a094c6f2fae693979d8c009eb6638c1b3), implementations: [0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F](https://etherscan.io/address/0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F#code) - 2024-10-30 07:51 UTC, upgrade of [L1USDCGatewayLegacy](https://etherscan.io/address/0xc9045350712A1DCC3A74Eca18Bc985424Bbe7535#code): transaction [0x35bf7e03fd234bc9e9b6e16e46c8a2008f7534a840439b6e208bd8da52804f67](https://etherscan.io/tx/0x35bf7e03fd234bc9e9b6e16e46c8a2008f7534a840439b6e208bd8da52804f67), implementations: [0xe11DeE885e5D38e4dc477219F50a6B1cF5DC298a](https://etherscan.io/address/0xe11DeE885e5D38e4dc477219F50a6B1cF5DC298a#code) ([diff](https://disco.l2beat.com/diff/eth:0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F/eth:0xe11DeE885e5D38e4dc477219F50a6B1cF5DC298a)) - 2024-10-20 13:48 UTC, upgrade of [Rollup](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60#code): transaction [0xd60de4a76f275ec7931bc430b7440f07c15f30028195405f855bd98c33ad72d6](https://etherscan.io/tx/0xd60de4a76f275ec7931bc430b7440f07c15f30028195405f855bd98c33ad72d6), implementations: [0x073403E147a8e607b80985fe458c0B527287278F](https://etherscan.io/address/0x073403E147a8e607b80985fe458c0B527287278F#code) ([diff](https://disco.l2beat.com/diff/eth:0xcffdDbcb5B9EA2ee45ABA121e0849ADc87c38326/eth:0x073403E147a8e607b80985fe458c0B527287278F)) - 2024-10-19 12:41 UTC, upgrade of [EnforcedTxGateway](https://etherscan.io/address/0xc5Fa3b8968c7FAbEeA2B530a20b88d0C2eD8abb7#code): transaction [0x52cd27aa90911acebc0bec090cf04928fd3663207dc55381d57c4a47e1dda26a](https://etherscan.io/tx/0x52cd27aa90911acebc0bec090cf04928fd3663207dc55381d57c4a47e1dda26a), implementations: [0xCb13746Fc891fC2e7D824870D00a26F43fE6123e](https://etherscan.io/address/0xCb13746Fc891fC2e7D824870D00a26F43fE6123e#code) ([diff](https://disco.l2beat.com/diff/eth:0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F/eth:0xCb13746Fc891fC2e7D824870D00a26F43fE6123e)) - 2024-10-19 12:37 UTC, upgrade of [L1CustomERC20Gateway](https://etherscan.io/address/0xA534BAdd09b4C62B7B1C32C41dF310AA17b52ef1#code): transaction [0xdd44d4d670ecc38911efb3e5872de8502abcaa52f5aa382b0e8a7b6e791b3e51](https://etherscan.io/tx/0xdd44d4d670ecc38911efb3e5872de8502abcaa52f5aa382b0e8a7b6e791b3e51), implementations: [0x833cfC8cFbc77365bD184025AdFD2fe01112b0Dc](https://etherscan.io/address/0x833cfC8cFbc77365bD184025AdFD2fe01112b0Dc#code) ([diff](https://disco.l2beat.com/diff/eth:0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F/eth:0x833cfC8cFbc77365bD184025AdFD2fe01112b0Dc)) - 2024-10-19 12:36 UTC, upgrade of [L1StandardERC20Gateway](https://etherscan.io/address/0x44c28f61A5C2Dd24Fc71D7Df8E85e18af4ab2Bd8#code): transaction [0xecc550f05d2956f7b7782408e784270c2dd858fd1add437f7292309f9be0795e](https://etherscan.io/tx/0xecc550f05d2956f7b7782408e784270c2dd858fd1add437f7292309f9be0795e), implementations: [0x75BC012fA81DF052baFc4EF9255Af29B6C4e5301](https://etherscan.io/address/0x75BC012fA81DF052baFc4EF9255Af29B6C4e5301#code) ([diff](https://disco.l2beat.com/diff/eth:0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F/eth:0x75BC012fA81DF052baFc4EF9255Af29B6C4e5301)) - 2024-10-19 12:35 UTC, upgrade of [L1ETHGateway](https://etherscan.io/address/0x1C1Ffb5828c3A48B54E8910F1c75256a498aDE68#code): transaction [0x0bff29c5d35495d0e9c22547b91c8e9e468edbfa2e8ccf1872de99a9f06e63ef](https://etherscan.io/tx/0x0bff29c5d35495d0e9c22547b91c8e9e468edbfa2e8ccf1872de99a9f06e63ef), implementations: [0x63eeCb6bE6087B094c2CBAA34f2902593eAE979c](https://etherscan.io/address/0x63eeCb6bE6087B094c2CBAA34f2902593eAE979c#code) ([diff](https://disco.l2beat.com/diff/eth:0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F/eth:0x63eeCb6bE6087B094c2CBAA34f2902593eAE979c)) - 2024-10-19 09:58 UTC, upgrade of [L1GatewayRouter](https://etherscan.io/address/0x7497756ADA7e656aE9f00781aF49Fc0fD08f8A8a#code): transaction [0xeda36c4631ff08b30a6812f16d35626894001ea8259fe51f1e38fa8ea78d3d37](https://etherscan.io/tx/0xeda36c4631ff08b30a6812f16d35626894001ea8259fe51f1e38fa8ea78d3d37), implementations: [0x6D9623d44C4A1629815D9d6236FF25C4f82Cc819](https://etherscan.io/address/0x6D9623d44C4A1629815D9d6236FF25C4f82Cc819#code) ([diff](https://disco.l2beat.com/diff/eth:0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F/eth:0x6D9623d44C4A1629815D9d6236FF25C4f82Cc819)) - 2024-10-19 09:51 UTC, upgrade of [Rollup](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60#code): transaction [0xeb4cc4248a0b3f459f4d7ab5877114fd4f55fd073c78347df548a9f03013068e](https://etherscan.io/tx/0xeb4cc4248a0b3f459f4d7ab5877114fd4f55fd073c78347df548a9f03013068e), implementations: [0xcffdDbcb5B9EA2ee45ABA121e0849ADc87c38326](https://etherscan.io/address/0xcffdDbcb5B9EA2ee45ABA121e0849ADc87c38326#code) ([diff](https://disco.l2beat.com/diff/eth:0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F/eth:0xcffdDbcb5B9EA2ee45ABA121e0849ADc87c38326)) - 2024-10-19 09:39 UTC, upgrade of [L1MessageQueueWithGasPriceOracle](https://etherscan.io/address/0x3931Ade842F5BB8763164bDd81E5361DcE6cC1EF#code): transaction [0xae27c6c83cea4ce8b8a923fddfb122f66e63139e514ba0624a5373b1a1f2829c](https://etherscan.io/tx/0xae27c6c83cea4ce8b8a923fddfb122f66e63139e514ba0624a5373b1a1f2829c), implementations: [0x828F68e2E05a34fA836416F124350E25021876ac](https://etherscan.io/address/0x828F68e2E05a34fA836416F124350E25021876ac#code) ([diff](https://disco.l2beat.com/diff/eth:0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F/eth:0x828F68e2E05a34fA836416F124350E25021876ac)) - 2024-10-19 09:38 UTC, upgrade of [L1CrossDomainMessenger](https://etherscan.io/address/0xDc71366EFFA760804DCFC3EDF87fa2A6f1623304#code): transaction [0x63ce107f943635805762c4ccd98b13cf1977f8ed1e13bd98821ebb545b9ed38e](https://etherscan.io/tx/0x63ce107f943635805762c4ccd98b13cf1977f8ed1e13bd98821ebb545b9ed38e), implementations: [0xB8F0871bc0832cb756f07fFC4bDdC8b6bf8577b5](https://etherscan.io/address/0xB8F0871bc0832cb756f07fFC4bDdC8b6bf8577b5#code) ([diff](https://disco.l2beat.com/diff/eth:0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F/eth:0xB8F0871bc0832cb756f07fFC4bDdC8b6bf8577b5)) - 2024-10-19 03:23 UTC, deployment of [L1USDCGatewayLegacy](https://etherscan.io/address/0xc9045350712A1DCC3A74Eca18Bc985424Bbe7535#code): transaction [0x2db1c37725ef72c0aaaab9b8b56658604bb38faa2e923755f3d79797654d6efb](https://etherscan.io/tx/0x2db1c37725ef72c0aaaab9b8b56658604bb38faa2e923755f3d79797654d6efb), implementations: [0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F](https://etherscan.io/address/0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F#code) - 2024-10-19 03:22 UTC, deployment of [EnforcedTxGateway](https://etherscan.io/address/0xc5Fa3b8968c7FAbEeA2B530a20b88d0C2eD8abb7#code): transaction [0x42f9fb783f90953e26e04d4f27a703daa2992362fe44c5e11d646dae054e1e6b](https://etherscan.io/tx/0x42f9fb783f90953e26e04d4f27a703daa2992362fe44c5e11d646dae054e1e6b), implementations: [0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F](https://etherscan.io/address/0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F#code) - 2024-10-19 03:16 UTC, deployment of [L1CustomERC20Gateway](https://etherscan.io/address/0xA534BAdd09b4C62B7B1C32C41dF310AA17b52ef1#code): transaction [0x2d8afe39a176bb5a4291b3a4955fe1e924d413344273b47699e8876691d8e956](https://etherscan.io/tx/0x2d8afe39a176bb5a4291b3a4955fe1e924d413344273b47699e8876691d8e956), implementations: [0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F](https://etherscan.io/address/0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F#code) - 2024-10-19 03:14 UTC, deployment of [L1StandardERC20Gateway](https://etherscan.io/address/0x44c28f61A5C2Dd24Fc71D7Df8E85e18af4ab2Bd8#code): transaction [0x588ba3041901915cf5dda72776946664559ea839ead325836697c3d6764608b4](https://etherscan.io/tx/0x588ba3041901915cf5dda72776946664559ea839ead325836697c3d6764608b4), implementations: [0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F](https://etherscan.io/address/0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F#code) - 2024-10-19 03:13 UTC, deployment of [L1ETHGateway](https://etherscan.io/address/0x1C1Ffb5828c3A48B54E8910F1c75256a498aDE68#code): transaction [0x2054355788d3d4ae212cb29348eee2664d126305b4ace5fe2269871cd9165713](https://etherscan.io/tx/0x2054355788d3d4ae212cb29348eee2664d126305b4ace5fe2269871cd9165713), implementations: [0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F](https://etherscan.io/address/0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F#code) - 2024-10-19 03:12 UTC, deployment of [L1GatewayRouter](https://etherscan.io/address/0x7497756ADA7e656aE9f00781aF49Fc0fD08f8A8a#code): transaction [0x47781299a90c1fdd6771fbf104e0433f05cc7b610d63ce9368349a41f563b3c8](https://etherscan.io/tx/0x47781299a90c1fdd6771fbf104e0433f05cc7b610d63ce9368349a41f563b3c8), implementations: [0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F](https://etherscan.io/address/0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F#code) - 2024-10-19 03:11 UTC, deployment of [Rollup](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60#code): transaction [0xfb3bc602abb088d5d94e6869d56417de3c16a3966e5c6abfa4d157dfbcc36cba](https://etherscan.io/tx/0xfb3bc602abb088d5d94e6869d56417de3c16a3966e5c6abfa4d157dfbcc36cba), implementations: [0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F](https://etherscan.io/address/0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F#code) - 2024-10-19 03:06 UTC, deployment of [L1MessageQueueWithGasPriceOracle](https://etherscan.io/address/0x3931Ade842F5BB8763164bDd81E5361DcE6cC1EF#code): transaction [0xed442ee7f96c1151761ddca9e4b923adff4e0703bc9ae42ca30bf4356f195f5d](https://etherscan.io/tx/0xed442ee7f96c1151761ddca9e4b923adff4e0703bc9ae42ca30bf4356f195f5d), implementations: [0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F](https://etherscan.io/address/0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F#code) - 2024-10-19 03:05 UTC, deployment of [L1CrossDomainMessenger](https://etherscan.io/address/0xDc71366EFFA760804DCFC3EDF87fa2A6f1623304#code): transaction [0xf29bb9908992a7c79573ffb28d3783584653f43095b1b2278fc8951f567bebe7](https://etherscan.io/tx/0xf29bb9908992a7c79573ffb28d3783584653f43095b1b2278fc8951f567bebe7), implementations: [0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F](https://etherscan.io/address/0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F#code) ## Ossification & Updates Each date links the update on the HTML page, which also shows its contract diffs. ### [2026-11-03 10:53 UTC](https://ethbeat.org/layer2s/projects/morph?update=2d9dd70d) (4 changes) A new ZkEvmVerifierV1 (https://etherscan.io/address/0xFF31F579F723e0493D969B46095FE718ebf4401A, deployed 2026-11-02) with the same source as the previous one but a new programVkey (0x0084f08a…2902) was registered in the MultipleVersionRollupVerifier as the latest verifier from batch 64600. The vkey is the Morph guest program v0.6.4 (commit 1cee926534d031fd9f41d6b3cf3edda6da467f57, still SP1 v6.2.0), reproduced and added to programHashes: it upgrades the morph-reth dependencies and schedules the Jade and Celadon hardforks (Celadon on mainnet at 2026-11-04 06:00 UTC). ### [2026-10-01 10:41 UTC](https://ethbeat.org/layer2s/projects/morph?update=3887ddb4) (high severity, 3 changes) A Rollup challenger EOA (eth:0xAa54d89A2B420F286Db0C19732D07abe08E6b442) set an EIP-7702 delegation (no previous delegation) to MetaMask's `EIP7702StatelessDeleGator` v1.3.0 (eth:0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B). ### [2026-09-22 12:41 UTC](https://ethbeat.org/layer2s/projects/morph?update=da922e8f) (high severity, 20 changes) Rollup upgrade https://disco.l2beat.com/diff/eth:0xaC3C379D772f3520B34690d32BA14510ab36C3fB/eth:0x213CE22b487B71Ac68a1B5b12d2b93D1AF30Ea1d: batch commitment, state proposal and slashing are now authorized through a new staked Submitter contract (owned by Morph Multisig) instead of L1Staking. The never-verified BLS signature input was removed. A new SP1 verifier was registered with a new program vkey (Morph v0.6.3 guest program, reproduced from source). ### [2026-08-14 15:02 UTC](https://ethbeat.org/layer2s/projects/morph?update=9bba35e5) (3 changes) critical contracts and severities for the ossification perimeter ### [2026-08-14 15:02 UTC](https://ethbeat.org/layer2s/projects/morph?update=17fdba45) (10 changes) Ownership of MultipleVersionRollupVerifier, L1GatewayRouter and Rollup moved from Morph Multisig 2 (3 of 5) to Morph Multisig 1 (4 of 6), taking the verifier-registration, escrow-mapping and pause/revert permissions with it. Morph Multisig 2: member rotated. ### [2026-08-10 09:04 UTC](https://ethbeat.org/layer2s/projects/morph?update=98f2ec73) (1 change) Owner switched to second Morph multisig. L1CDM owner can set rollup reference and change fee / critical configs. ### [2026-06-08 10:27 UTC](https://ethbeat.org/layer2s/projects/morph?update=171a57ae) (high severity, 10 changes) Added batch data version 2: https://disco.l2beat.com/diff/eth:0x9e2Fb684935a32CEd121972f23BD0e4634377cA2/eth:0xaC3C379D772f3520B34690d32BA14510ab36C3fB, which handles submitting several blobs. Also, upgraded the verifier program, which is reproducible from the sources, and completely switched to SP1 Hypercube. ### [2026-05-22 09:45 UTC](https://ethbeat.org/layer2s/projects/morph?update=2ff16c37) (4 changes) Updated morph verifier to use SP1 v6.2.0. New program that is verified. ### [2026-04-10 08:41 UTC](https://ethbeat.org/layer2s/projects/morph?update=9e6da537) (4 changes) Upgraded one (out of two) SP1 verifiers to a standard SP1 Turbo version. ### [2026-04-01 13:53 UTC](https://ethbeat.org/layer2s/projects/morph?update=585e8d2c) (high severity, 6 changes) New upgrade, introduces mandatory reuse of blob data after reverting a batch. attack: 1. use commitBatches() with garbage in blob data 2. ... 3. brick (liveness) - nobody can prove - nobody can revert the blob part even ..withProof() reverts because of the existing blob data ### [2026-03-27 10:58 UTC](https://ethbeat.org/layer2s/projects/morph?update=ed61059f) (high severity, 8 changes) Rollup upgrade to make commitBatchWithProof() permissionless under any of these conditions: - The last committed batch has a timestamp that is > 7d ago (rollupDelayPeriod) - The first message in the forced tx queue is more than 7d old this moves sequencer failure and proposer failure to green. for stage 1 at least an SC as upgrader is needed. because of the forced queue and the `rollupDelayPeriod` mechanic, the proof system might already be good for stage 1. https://disco.l2beat.com/diff/eth:0x1320d6A438d268044c8EEff0eE6B24E5EC9584e3/eth:0xB2F539aede77DF4cD1d427d046bBbBd8dB4cBAAF ### [2026-03-16 13:01 UTC](https://ethbeat.org/layer2s/projects/morph?update=79222b6e) (2 changes) enforced tx gateway is unpaused morph incomplete CR / self-proposing: - EnforcedTxGateway works if unpaused and Rollup.rollupDelayPeriod has passed since you queued: it forces any sequencer to execute at least 1 msg (very low) per proposal (FIFO) - `commitBatchWithProof()` reverts on `getStakerBitmap(_msgSender())`, so no permissionless proposing - to propose you need the prover source - successfully challenged batches need to be reverted, which is `onlyOwner()` (liveness fail) - no forced txes by non-EOAs - the rollup does `BatchHeaderCodecV0.storeSequencerSetVerifyHash(_batchPtr, keccak256(batchSignatureInput.sequencerSets));` which seems to store some sequencer set hash and feed it into the zk proof via `_publicInputHash`. morph had the famous `return true` BLS verification for their decentralized sequencer set, and this might be a remnant that prevents permissionless proving? tldr you can force, sequencer cannot skip after 7d, but can stop proposing (liveness fail) morph has commited to improve this in the next updates, for now i have changed the sequencer risk slice to yellow since enqueuing is possible and changed the technology.forcedTransactions. ### [2026-03-04 09:21 UTC](https://ethbeat.org/layer2s/projects/morph?update=6cd524c6) (high severity, 14 changes) Upgrade adding external func `commitBatchWithProof()` and rollupDelayPeriod with the apparent intention of permissionless proposing after a delay. commitBatchWithProof() can be called if any: 1. last committed batch + rollupDelayPeriod < now 2. oldest enqueued msg + rollupDelayPeriod < now `commitBatchWithProof()` currently reverts for non-whitelisted actors since it calls `getStakerBitmap(_msgSender())`, so in practice we still have whitelisted proposals diff: - [Rollup](https://disco.l2beat.com/diff/eth:0xDF0749e688AE74508D84699Ba2405ED610Aaf8c5/eth:0x1320d6A438d268044c8EEff0eE6B24E5EC9584e3) - [L1MessageQueueWithGasPriceOracle](https://disco.l2beat.com/diff/eth:0xa3b5bFB885FF92EB8445f262c289548e77c3c0aA/eth:0xf3b7724334cb0aDBC49CAC90e166Af99C07Be6aa) ### [2026-03-02 14:40 UTC](https://ethbeat.org/layer2s/projects/morph?update=e1a5c3a0) (23 changes) Add timelock with 0 minDelay. ### [2026-01-13 10:03 UTC](https://ethbeat.org/layer2s/projects/morph?update=e59936ee) (3 changes) Deployed an SP1 verifier with a new guest zk program. The verifier itself is the same. I did not manage to regenerate the program hash. ### [2026-01-07 14:39 UTC](https://ethbeat.org/layer2s/projects/morph?update=eb9341d1) (1 change) bond reset after previous challenges are resolved. ### [2025-12-22 13:15 UTC](https://ethbeat.org/layer2s/projects/morph?update=6ca05f56) (3 changes) challengers added and challenge resolved. ### [2025-12-15 07:36 UTC](https://ethbeat.org/layer2s/projects/morph?update=c276c9bf) (2 changes) challenger added + challenge made and resolved. ### [2025-12-01 15:20 UTC](https://ethbeat.org/layer2s/projects/morph?update=7092aa43) (3 changes) New challengers. Another challenge resolved via proof. ### [2025-11-26 13:56 UTC](https://ethbeat.org/layer2s/projects/morph?update=1fc70abf) (high severity, 8 changes) upgrade to same code to fix LAYER_2_CHAIN_ID (constructor) a second batch is proven, resolving a challenge: https://etherscan.io/tx/0x1cb36b309f949ec6379d0bab0bc992f4d603737d310245af292f28c5bb968f2b ### [2025-11-24 11:40 UTC](https://ethbeat.org/layer2s/projects/morph?update=1d922498) (11 changes) verifier change (programhash, no code changes): previous programHashes, removed: - 0x001bdbe2a0f4839f3e7ca3b42ab1ca9d012e23249d17564c953d3557aede919c - 0x006c835a4c049b699a3675fefa51b182c7efe404a656151c0410245966724bc3 new programhash, added: - 0x0059b74a8fd03c44462de3916b45ebeedb9f1158e3037e8c40b8941cbe438d7e proveRemaining changed. this var is the accumulated ETH balance retained by the protocol from failed challenges. - challenge: https://etherscan.io/tx/0xe92cd2101b2322721bf4601ffa60c03e0e79d27b26c7ccbb8ccabc11737b2266 - resolve/prove: https://etherscan.io/tx/0x3b6e8a3ba6b62ddb7972ee2f1c80037635c7425378a1b981823ee6f8bb9086ea ### [2025-11-20 14:36 UTC](https://ethbeat.org/layer2s/projects/morph?update=e9bd712f) (1 change) add staker. ### [2025-11-19 14:51 UTC](https://ethbeat.org/layer2s/projects/morph?update=5c20bf43) (4 changes) stakers removed. ### [2025-10-20 15:25 UTC](https://ethbeat.org/layer2s/projects/morph?update=5fbcb4e0) (1 change) New staker. ### [2025-09-25 10:24 UTC](https://ethbeat.org/layer2s/projects/morph?update=e898e91e) (7 changes) Removed 5 members of multisig, added 2 new members that were a part of another multisig. ### [2025-09-23 09:59 UTC](https://ethbeat.org/layer2s/projects/morph?update=83f3649a) (3 changes) Multisig update, new signer was already a member of Multisig 2. ### [2025-09-19 08:19 UTC](https://ethbeat.org/layer2s/projects/morph?update=1df41700) (2 changes) Removed a member of morph multisig 1, this address stays a member of morph multisig 2. ### [2025-09-18 09:07 UTC](https://ethbeat.org/layer2s/projects/morph?update=f9b193fc) (2 changes) Added a new member to Morph multisig 1, this address already was a member of morph multisig 2. ### [2025-09-02 09:12 UTC](https://ethbeat.org/layer2s/projects/morph?update=6dfc9f70) (2 changes) Multisig update. ### [2025-08-29 07:39 UTC](https://ethbeat.org/layer2s/projects/morph?update=4a92d411) (12 changes) Msig changes. ### [2025-07-14 12:45 UTC](https://ethbeat.org/layer2s/projects/morph?update=21ab066e) (15 changes) Discovery rerun on the same block number with only config-related changes. ### [2025-06-23 14:57 UTC](https://ethbeat.org/layer2s/projects/morph?update=e8b3cadf) (15 changes) Some stakers (sequencer/proposer) removed (3 left). ### [2025-05-12 12:13 UTC](https://ethbeat.org/layer2s/projects/morph?update=e4a70468) (high severity, 26 changes) Minor upgrade to the main MorphRollup contract: formatting changes for batch commits, proveState() is now permissioned (onlyActiveStaker). New verifier deployed, code-identical to the old one (SP1) but new programVkey. ### [2025-01-22 10:04 UTC](https://ethbeat.org/layer2s/projects/morph?update=a9360a3b) (24 changes) New verifier, new Proxyadmin owner MS. MultipleVersionRollupVerifier (verifier router) has minimal changes. ZkEvmVerifierV1 (the actual verifier) is code-identical with the previous one. ### [2025-01-20 19:26 UTC](https://ethbeat.org/layer2s/projects/morph?update=27f7ca19) (high severity, 12 changes) Upgrades to MorphRollup, L1MessageQueueWithGasPriceOracle, L1CrossDomainMessenger to **deprecate skipping / dropping messages from the queue**. There is no enforcement of the processing of the queue. The EnforcedTxGateway is still paused (It is, apart from the L1CrossDomainMessenger, the only address that can append messages to the L1MessageQueue) and thus queuing transactions is currently not possible. Some Challengers are apparently run by bitget / bitget wallet. ### [2024-12-23 13:12 UTC](https://ethbeat.org/layer2s/projects/morph?update=b0e84f1c) (66 changes) ~30 Challengers added. ### [2024-11-28 10:07 UTC](https://ethbeat.org/layer2s/projects/morph?update=a8175317) (high severity, 4 changes) Minor upgrade of MorphRollup introducing `committedStateRoots`, a mapping that delivers what it promises. Before there was only a finalizedStateRoots mapping. This upgrade also adds back the require in `importGenesisBatch()` which prevents calling the function in case the genesis batch is already imported. ### [2024-11-25 10:45 UTC](https://ethbeat.org/layer2s/projects/morph?update=901a501c) (1 change) EnforcedTxGateway paused after our nudge on twitter. ### [2024-11-21 12:08 UTC](https://ethbeat.org/layer2s/projects/morph?update=c1c351fe) (13 changes) Provide description of changes. This section will be preserved. ## Operator ### The system has a centralized operator Batches and state roots can only be committed to L1 by submitters whitelisted by the Morph multisig in the Submitter contract, each staking at least 1 ETH. No sequencer signatures are verified onchain, and the L2 block-producing sequencer set is managed separately through the L1Staking contract. Sequencing is centralized and permissioned to the listed submitters in practice. **Risks** - MEV can be extracted if the operator exploits their centralized position and frontruns user transactions. **References** - [Rollup.sol - Etherscan source code, onlyActiveSubmitter modifier](https://etherscan.io/address/0x213CE22b487B71Ac68a1B5b12d2b93D1AF30Ea1d#code) - [Submitter.sol - Etherscan source code, addSubmitter()](https://etherscan.io/address/0x3c5C88F69B190a1c497996AfEDb1a6591b0dF576#code) ### Users can force transactions Users can force the sequencer to include a transaction by submitting a request through L1. If the sequencer censors such a request or is down for 7d, any new proposal must include at least 1 transaction from the queue. Proposing is permissionless under these conditions if proven immediately. **References** - [EnforcedTxGateway proxy - PAUSED - Etherscan source code](https://etherscan.io/address//0xc5Fa3b8968c7FAbEeA2B530a20b88d0C2eD8abb7#readProxyContract#F7) - [EnforcedTxGateway.sol implementation - Etherscan source code](https://etherscan.io/address/0xCb13746Fc891fC2e7D824870D00a26F43fE6123e#code) ## 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. The process of block finalization takes a challenge period of 2d to complete. **References** - [L1ETHGateway.sol - Etherscan source code, finalizeWithdrawETH function](https://etherscan.io/address/0x63eeCb6bE6087B094c2CBAA34f2902593eAE979c#code) ## Permissions Explore these contracts and permissions in Disco, ETHBEAT's contract explorer: https://disco.l2beat.com/ui/p/morph ### Ethereum #### Actors ##### L1Staking Addresses: [0x0Dc417F8AF88388737c5053FF73f345f080543F7](https://etherscan.io/address/0x0Dc417F8AF88388737c5053FF73f345f080543F7) Staking registry of the L2 sequencer set. It relays staker additions and removals to the L2 Staking contract through the messenger, which determines the L2 block-producing sequencer set. The Rollup does not reference it: L1 batch submission and slashing are authorized through the Submitter contract, so the stake, challenge-deposit and reward parameters here are not enforced by the Rollup. - Can interact with Whitelist - can send gasless transactions to L2 (L2 gas fee waived) ##### Morph Multisig 2 Addresses: [0xB822319ab7848b7cC4537c8409e50f85BFb04377](https://etherscan.io/address/0xB822319ab7848b7cC4537c8409e50f85BFb04377) A Multisig with 3/5 threshold. - Can interact with L1Staking - whitelist and remove stakers (the L2 sequencer set relayed to L2) and manage the staking, slashing and reward config of this contract - Can interact with L1MessageQueueWithGasPriceOracle - manage L2 base fee, max gas limit and set the whitelist checker contract - Can interact with TimelockController - cancel queued transactions - propose transactions - Can interact with Rollup - Allowed to challenge or delete state roots proposed by a Proposer - Can interact with EnforcedTxGateway - pause and unpause, update the fee vault - Can interact with Whitelist - manage the whitelist Participants (5): [0xC7F81B58ec3937D11Bf4BA74C04FF69e944423F2](https://etherscan.io/address/0xC7F81B58ec3937D11Bf4BA74C04FF69e944423F2), [0xbA430e784fe11ADbc20fa1a99193eeD87ACD68C7](https://etherscan.io/address/0xbA430e784fe11ADbc20fa1a99193eeD87ACD68C7), [0x59C09F33d7D901b8B57644D68a45b123e9Bbd0E5](https://etherscan.io/address/0x59C09F33d7D901b8B57644D68a45b123e9Bbd0E5), [0x05e1d4694041aF987Af6F8402D902686018E2136](https://etherscan.io/address/0x05e1d4694041aF987Af6F8402D902686018E2136), [0xA52Bb0BEBfadEDA9DfFFa3Ba5eBFE86d9f6dB321](https://etherscan.io/address/0xA52Bb0BEBfadEDA9DfFFa3Ba5eBFE86d9f6dB321) ##### Morph Multisig 1 Addresses: [0xF101f7f59A348c1F971A2BC64fdBdA58c7bBD887](https://etherscan.io/address/0xF101f7f59A348c1F971A2BC64fdBdA58c7bBD887) A Multisig with 4/6 threshold. - Can upgrade **with no delay** - L1Staking [via: TimelockController → ProxyAdmin] - L1ETHGateway [via: TimelockController → ProxyAdmin] - L1USDCGateway [via: TimelockController → ProxyAdmin] - L1MessageQueueWithGasPriceOracle [via: TimelockController → ProxyAdmin] - L1StandardERC20Gateway [via: TimelockController → ProxyAdmin] - TimelockController [via: ProxyAdmin] - L1GatewayRouter [via: TimelockController → ProxyAdmin] - Rollup [via: TimelockController → ProxyAdmin] - L1CustomERC20Gateway [via: TimelockController → ProxyAdmin] - EnforcedTxGateway [via: TimelockController → ProxyAdmin] - L1USDCGatewayLegacy [via: TimelockController → ProxyAdmin] - L1CrossDomainMessenger [via: TimelockController → ProxyAdmin] - Submitter [via: TimelockController → ProxyAdmin] - Can interact with TimelockController - execute transactions that are ready - manage all access control roles [via: TimelockController - or - acting directly] - Can interact with MultipleVersionRollupVerifier - register new verifiers to be used starting from a given L2 batch index - Can interact with L1GatewayRouter - manage token to escrow mapping and (un-)register escrows - Can interact with Rollup - can pause and unpause, revert unfinalized batches, update proof window and finalization period, manage challengers, modify the verifier address - Can interact with L1CrossDomainMessenger - set critical configs and contract references and pause/unpause - Can interact with Submitter - add and remove submitters (batch committers/proposers), set the minimum stake, the challenge deposit and the slashing reward share, and withdraw the non-rewarded remainder of slashed stakes Participants (6): [0x05e1d4694041aF987Af6F8402D902686018E2136](https://etherscan.io/address/0x05e1d4694041aF987Af6F8402D902686018E2136), [0x59C09F33d7D901b8B57644D68a45b123e9Bbd0E5](https://etherscan.io/address/0x59C09F33d7D901b8B57644D68a45b123e9Bbd0E5), [0xe72BB9d10f6eA936D7D4507d298ab867128aF54C](https://etherscan.io/address/0xe72BB9d10f6eA936D7D4507d298ab867128aF54C), [0x27f05308F4b80242d3Dca1D5e9c3aE976098E9C8](https://etherscan.io/address/0x27f05308F4b80242d3Dca1D5e9c3aE976098E9C8), [0xC7F81B58ec3937D11Bf4BA74C04FF69e944423F2](https://etherscan.io/address/0xC7F81B58ec3937D11Bf4BA74C04FF69e944423F2), [0xbA430e784fe11ADbc20fa1a99193eeD87ACD68C7](https://etherscan.io/address/0xbA430e784fe11ADbc20fa1a99193eeD87ACD68C7) ##### 37 EOAs Addresses: [0x0092bC49078f130D27e70dBeee441E227280B97D](https://etherscan.io/address/0x0092bC49078f130D27e70dBeee441E227280B97D) (EOA 1), [0x03FD36AEd3b2597aA79bb5f543f3a0eAf9DEB0FA](https://etherscan.io/address/0x03FD36AEd3b2597aA79bb5f543f3a0eAf9DEB0FA) (EOA 2), [0x111BC31F5cfE920004FD17449BDb5e476C02AEC5](https://etherscan.io/address/0x111BC31F5cfE920004FD17449BDb5e476C02AEC5) (EOA 3), [0x1721D3Ae2d68E3Dd32525400Ed2a29060F1300c6](https://etherscan.io/address/0x1721D3Ae2d68E3Dd32525400Ed2a29060F1300c6) (EOA 4), [0x234aCb24b1DeeA7f6c7530b8c29a6378bA21e1D0](https://etherscan.io/address/0x234aCb24b1DeeA7f6c7530b8c29a6378bA21e1D0) (EOA 5), [0x323a78C1c910b282dE98a557d735628A02E00983](https://etherscan.io/address/0x323a78C1c910b282dE98a557d735628A02E00983) (EOA 6), [0x3b065B18EdFFC7cf3D751E33d45C1FB4fD78d57b](https://etherscan.io/address/0x3b065B18EdFFC7cf3D751E33d45C1FB4fD78d57b) (EOA 8), [0x4Ee3690901157bE86A33371bEc1e5021A10Ba47C](https://etherscan.io/address/0x4Ee3690901157bE86A33371bEc1e5021A10Ba47C) (EOA 9), [0x5c6E1011cd3b5d7D2937c098b8F61d6B3d1aee7e](https://etherscan.io/address/0x5c6E1011cd3b5d7D2937c098b8F61d6B3d1aee7e) (EOA 10), [0x611e4B24e89bC524Fc06f73b6FD02bE3Ec73d6Db](https://etherscan.io/address/0x611e4B24e89bC524Fc06f73b6FD02bE3Ec73d6Db) (EOA 11), [0x6D7cC6C62CD6CcdaC482E82aA7A3763926e93854](https://etherscan.io/address/0x6D7cC6C62CD6CcdaC482E82aA7A3763926e93854) (EOA 13), [0x71C10870dC38E54d987C22e96aB32b46cc08564F](https://etherscan.io/address/0x71C10870dC38E54d987C22e96aB32b46cc08564F) (EOA 14), [0x731a89035F88Bde8fB7357AaAD6620F4716aC1be](https://etherscan.io/address/0x731a89035F88Bde8fB7357AaAD6620F4716aC1be) (EOA 15), [0x74204e3801E9394848AbDBAd6f378d0b11e9a091](https://etherscan.io/address/0x74204e3801E9394848AbDBAd6f378d0b11e9a091) (EOA 16), [0x77B29534738E3F0F297d36635d7884965C7c8cE1](https://etherscan.io/address/0x77B29534738E3F0F297d36635d7884965C7c8cE1) (EOA 18), [0x8b8bc0EB904fDD2862a6433d020F15bBc8a7b13e](https://etherscan.io/address/0x8b8bc0EB904fDD2862a6433d020F15bBc8a7b13e) (EOA 19), [0x8C0cFFcBAb44c7aB6e96EB607c49188dE99a17Cd](https://etherscan.io/address/0x8C0cFFcBAb44c7aB6e96EB607c49188dE99a17Cd) (EOA 20), [0x92C4d5d9CaDD1aF74080DE7aa078434007F710Bb](https://etherscan.io/address/0x92C4d5d9CaDD1aF74080DE7aa078434007F710Bb) (EOA 21), [0x95417708f67f4a5dF1A447efe40c6C74e38Ab832](https://etherscan.io/address/0x95417708f67f4a5dF1A447efe40c6C74e38Ab832) (EOA 22), [0x95C373754C66feF1Eb2dbb6934aF821C551D9738](https://etherscan.io/address/0x95C373754C66feF1Eb2dbb6934aF821C551D9738) (EOA 23), [0x9Ac29D4f41A139D9b7be32C2906Df9f86FA51b2b](https://etherscan.io/address/0x9Ac29D4f41A139D9b7be32C2906Df9f86FA51b2b) (EOA 24), [0xa609285fF6F2a0Dfdeb03cc33d78d8a47A691497](https://etherscan.io/address/0xa609285fF6F2a0Dfdeb03cc33d78d8a47A691497) (EOA 25), [0xAa54d89A2B420F286Db0C19732D07abe08E6b442](https://etherscan.io/address/0xAa54d89A2B420F286Db0C19732D07abe08E6b442) (EOA 26), [0xB2e53dcb84dc869E3bA61911a170B53eE1326184](https://etherscan.io/address/0xB2e53dcb84dc869E3bA61911a170B53eE1326184) (EOA 27), [0xb4A20D473e8C378aE742a8017DD67756a358eAB6](https://etherscan.io/address/0xb4A20D473e8C378aE742a8017DD67756a358eAB6) (EOA 28), [0xbD9f4fdC48a9A8c7eA1075CFDf4F3bd365d50Bab](https://etherscan.io/address/0xbD9f4fdC48a9A8c7eA1075CFDf4F3bd365d50Bab) (EOA 30), [0xbfd62b7915da8c19C701FD13237b555Ad38C4b4C](https://etherscan.io/address/0xbfd62b7915da8c19C701FD13237b555Ad38C4b4C) (EOA 31), [0xC412B4e6399F694CfF21D038d225373Fd6596811](https://etherscan.io/address/0xC412B4e6399F694CfF21D038d225373Fd6596811) (EOA 32), [0xC4db900F76293042349448D1Ba30F71518325Bb3](https://etherscan.io/address/0xC4db900F76293042349448D1Ba30F71518325Bb3) (EOA 33), [0xc8F7DaeF4b49c1593cC3996aB2afa8B56e00fcF8](https://etherscan.io/address/0xc8F7DaeF4b49c1593cC3996aB2afa8B56e00fcF8) (EOA 34), [0xcA00091a35d0b546A15d000F8bCeDA56255EE4D0](https://etherscan.io/address/0xcA00091a35d0b546A15d000F8bCeDA56255EE4D0) (EOA 35), [0xd11f9c4F5d9b1feC2d14581d3674066442B68772](https://etherscan.io/address/0xd11f9c4F5d9b1feC2d14581d3674066442B68772) (EOA 36), [0xDF063FAEb46de1b4336bC70Da7175f16aB4A7272](https://etherscan.io/address/0xDF063FAEb46de1b4336bC70Da7175f16aB4A7272) (EOA 37), [0xE48eA86dCdE15E28624E5De9d6D3738fc52B6bFe](https://etherscan.io/address/0xE48eA86dCdE15E28624E5De9d6D3738fc52B6bFe) (EOA 38), [0xF2FF0509520fAf35B511074466A509e00d73C307](https://etherscan.io/address/0xF2FF0509520fAf35B511074466A509e00d73C307) (EOA 40), [0xf50A81C771AD3237aeA2FD18E4ee8055CC4Cd2B9](https://etherscan.io/address/0xf50A81C771AD3237aeA2FD18E4ee8055CC4Cd2B9) (EOA 41), [0xF6Ee30269dB1854987cA6812E1ff66c3A5F660Fd](https://etherscan.io/address/0xF6Ee30269dB1854987cA6812E1ff66c3A5F660Fd) (EOA 42) - Can interact with Rollup - Allowed to challenge or delete state roots proposed by a Proposer ##### 3 EOAs Addresses: [0x34E387B37d3ADEAa6D5B92cE30dE3af3DCa39796](https://etherscan.io/address/0x34E387B37d3ADEAa6D5B92cE30dE3af3DCa39796) (EOA 7), [0x6aB0E960911b50f6d14f249782ac12EC3E7584A0](https://etherscan.io/address/0x6aB0E960911b50f6d14f249782ac12EC3E7584A0) (EOA 12), [0xBBA36CdF020788f0D08D5688c0Bee3fb30ce1C80](https://etherscan.io/address/0xBBA36CdF020788f0D08D5688c0Bee3fb30ce1C80) (EOA 29) - Can interact with L1Staking - Stakers relayed to the L2 Staking contract as the L2 sequencer set. This does not authorize committing batches or proposing state roots on L1, which the Submitter contract controls - Can interact with Submitter - Actors allowed to commit transaction batches and propose and prove state roots while staked at or above the minimum ##### 2 EOAs Addresses: [0x76F91869161dC4348230D5F60883Dd17462035f4](https://etherscan.io/address/0x76F91869161dC4348230D5F60883Dd17462035f4) (EOA 17), [0xf0e11a8EA095Cc915f5a7e420928d396ed1Bb7e4](https://etherscan.io/address/0xf0e11a8EA095Cc915f5a7e420928d396ed1Bb7e4) (EOA 39) - Can interact with L1Staking - Stakers relayed to the L2 Staking contract as the L2 sequencer set. This does not authorize committing batches or proposing state roots on L1, which the Submitter contract controls ## Smart contracts ![A diagram of the smart contract architecture](https://ethbeat.org/static/images/architecture/morph.00f6679f.png) Explore these contracts and permissions in Disco, ETHBEAT's contract explorer: https://disco.l2beat.com/ui/p/morph ### Ethereum #### L1ETHGateway Addresses: [0x1C1Ffb5828c3A48B54E8910F1c75256a498aDE68](https://etherscan.io/address/0x1C1Ffb5828c3A48B54E8910F1c75256a498aDE68#code), [0x63eeCb6bE6087B094c2CBAA34f2902593eAE979c](https://etherscan.io/address/0x63eeCb6bE6087B094c2CBAA34f2902593eAE979c#code) (Implementation (Upgradable)), [0x31110622D6CA24c9FF307d6ae1715F16E47F16A0](https://etherscan.io/address/0x31110622D6CA24c9FF307d6ae1715F16E47F16A0#code) (Admin) **Past upgrades** (Count of upgrades: 1, Last upgrade: 2y ago, Avg upgrade interval: 1y) - 2024-10-19 12:35 UTC, upgrade of [L1ETHGateway](https://etherscan.io/address/0x1C1Ffb5828c3A48B54E8910F1c75256a498aDE68#code): transaction [0x0bff29c5d35495d0e9c22547b91c8e9e468edbfa2e8ccf1872de99a9f06e63ef](https://etherscan.io/tx/0x0bff29c5d35495d0e9c22547b91c8e9e468edbfa2e8ccf1872de99a9f06e63ef), implementations: [0x63eeCb6bE6087B094c2CBAA34f2902593eAE979c](https://etherscan.io/address/0x63eeCb6bE6087B094c2CBAA34f2902593eAE979c#code) ([diff](https://disco.l2beat.com/diff/eth:0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F/eth:0x63eeCb6bE6087B094c2CBAA34f2902593eAE979c)) - 2024-10-19 03:13 UTC, deployment of [L1ETHGateway](https://etherscan.io/address/0x1C1Ffb5828c3A48B54E8910F1c75256a498aDE68#code): transaction [0x2054355788d3d4ae212cb29348eee2664d126305b4ace5fe2269871cd9165713](https://etherscan.io/tx/0x2054355788d3d4ae212cb29348eee2664d126305b4ace5fe2269871cd9165713), implementations: [0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F](https://etherscan.io/address/0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F#code) Contract used to bridge ETH from L1 to L2. - Roles: - **admin**: ProxyAdmin; ultimately Morph Multisig 1 Can be upgraded by: Morph Multisig 1 with no delay #### L1USDCGateway Addresses: [0x2C8314f5AADa5D7a9D32eeFebFc43aCCAbe1b289](https://etherscan.io/address/0x2C8314f5AADa5D7a9D32eeFebFc43aCCAbe1b289#code), [0xB409E42e8284244F56edf9cB24b2A1f227DC3cE0](https://etherscan.io/address/0xB409E42e8284244F56edf9cB24b2A1f227DC3cE0#code) (Implementation (Upgradable)), [0x31110622D6CA24c9FF307d6ae1715F16E47F16A0](https://etherscan.io/address/0x31110622D6CA24c9FF307d6ae1715F16E47F16A0#code) (Admin) **Past upgrades** (Count of upgrades: 1, Last upgrade: 1y 11mo ago, Avg upgrade interval: 12mo) - 2024-11-13 09:24 UTC, upgrade of [L1USDCGateway](https://etherscan.io/address/0x2C8314f5AADa5D7a9D32eeFebFc43aCCAbe1b289#code): transaction [0x47a8274c298fdebabdb61ccf7b85b39c4a04abf93d4fca8114e010ddf17aec3a](https://etherscan.io/tx/0x47a8274c298fdebabdb61ccf7b85b39c4a04abf93d4fca8114e010ddf17aec3a), implementations: [0xB409E42e8284244F56edf9cB24b2A1f227DC3cE0](https://etherscan.io/address/0xB409E42e8284244F56edf9cB24b2A1f227DC3cE0#code) ([diff](https://disco.l2beat.com/diff/eth:0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F/eth:0xB409E42e8284244F56edf9cB24b2A1f227DC3cE0)) - 2024-11-13 08:25 UTC, deployment of [L1USDCGateway](https://etherscan.io/address/0x2C8314f5AADa5D7a9D32eeFebFc43aCCAbe1b289#code): transaction [0x3d909b5e29529ad2628f9abf1921030a094c6f2fae693979d8c009eb6638c1b3](https://etherscan.io/tx/0x3d909b5e29529ad2628f9abf1921030a094c6f2fae693979d8c009eb6638c1b3), implementations: [0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F](https://etherscan.io/address/0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F#code) Contract used to bridge USDC tokens from L1 to L2. - Roles: - **admin**: ProxyAdmin; ultimately Morph Multisig 1 Can be upgraded by: Morph Multisig 1 with no delay #### ProxyAdmin (0x3111…16A0) Addresses: [0x31110622D6CA24c9FF307d6ae1715F16E47F16A0](https://etherscan.io/address/0x31110622D6CA24c9FF307d6ae1715F16E47F16A0#code) - Roles: - **owner**: TimelockController #### L1MessageQueueWithGasPriceOracle Addresses: [0x3931Ade842F5BB8763164bDd81E5361DcE6cC1EF](https://etherscan.io/address/0x3931Ade842F5BB8763164bDd81E5361DcE6cC1EF#code), [0xf3b7724334cb0aDBC49CAC90e166Af99C07Be6aa](https://etherscan.io/address/0xf3b7724334cb0aDBC49CAC90e166Af99C07Be6aa#code) (Implementation (Upgradable)), [0x31110622D6CA24c9FF307d6ae1715F16E47F16A0](https://etherscan.io/address/0x31110622D6CA24c9FF307d6ae1715F16E47F16A0#code) (Admin) **Past upgrades** (Count of upgrades: 3, Last upgrade: 8mo 6d ago, Avg upgrade interval: 6mo 6d) - 2026-03-03 06:03 UTC, upgrade of [L1MessageQueueWithGasPriceOracle](https://etherscan.io/address/0x3931Ade842F5BB8763164bDd81E5361DcE6cC1EF#code): transaction [0x29632a0458dbc5cbad5e831228a54c118e8e0746bff06fcf151cad568079a318](https://etherscan.io/tx/0x29632a0458dbc5cbad5e831228a54c118e8e0746bff06fcf151cad568079a318), implementations: [0xf3b7724334cb0aDBC49CAC90e166Af99C07Be6aa](https://etherscan.io/address/0xf3b7724334cb0aDBC49CAC90e166Af99C07Be6aa#code) ([diff](https://disco.l2beat.com/diff/eth:0xa3b5bFB885FF92EB8445f262c289548e77c3c0aA/eth:0xf3b7724334cb0aDBC49CAC90e166Af99C07Be6aa)) - 2025-01-13 08:11 UTC, upgrade of [L1MessageQueueWithGasPriceOracle](https://etherscan.io/address/0x3931Ade842F5BB8763164bDd81E5361DcE6cC1EF#code): transaction [0x60cc38cb058516da361ecd5f548fc9216fbcda9eb08255b529ebbf78dac44f7b](https://etherscan.io/tx/0x60cc38cb058516da361ecd5f548fc9216fbcda9eb08255b529ebbf78dac44f7b), implementations: [0xa3b5bFB885FF92EB8445f262c289548e77c3c0aA](https://etherscan.io/address/0xa3b5bFB885FF92EB8445f262c289548e77c3c0aA#code) ([diff](https://disco.l2beat.com/diff/eth:0x828F68e2E05a34fA836416F124350E25021876ac/eth:0xa3b5bFB885FF92EB8445f262c289548e77c3c0aA)) - 2024-10-19 09:39 UTC, upgrade of [L1MessageQueueWithGasPriceOracle](https://etherscan.io/address/0x3931Ade842F5BB8763164bDd81E5361DcE6cC1EF#code): transaction [0xae27c6c83cea4ce8b8a923fddfb122f66e63139e514ba0624a5373b1a1f2829c](https://etherscan.io/tx/0xae27c6c83cea4ce8b8a923fddfb122f66e63139e514ba0624a5373b1a1f2829c), implementations: [0x828F68e2E05a34fA836416F124350E25021876ac](https://etherscan.io/address/0x828F68e2E05a34fA836416F124350E25021876ac#code) ([diff](https://disco.l2beat.com/diff/eth:0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F/eth:0x828F68e2E05a34fA836416F124350E25021876ac)) - 2024-10-19 03:06 UTC, deployment of [L1MessageQueueWithGasPriceOracle](https://etherscan.io/address/0x3931Ade842F5BB8763164bDd81E5361DcE6cC1EF#code): transaction [0xed442ee7f96c1151761ddca9e4b923adff4e0703bc9ae42ca30bf4356f195f5d](https://etherscan.io/tx/0xed442ee7f96c1151761ddca9e4b923adff4e0703bc9ae42ca30bf4356f195f5d), implementations: [0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F](https://etherscan.io/address/0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F#code) Contains the array of queued L1 -> L2 messages, either appended using the L1Messenger or the EnforcedTxGateway. - Roles: - **admin**: ProxyAdmin; ultimately Morph Multisig 1 - **owner**: Morph Multisig 2 Can be upgraded by: Morph Multisig 1 with no delay #### L1StandardERC20Gateway Addresses: [0x44c28f61A5C2Dd24Fc71D7Df8E85e18af4ab2Bd8](https://etherscan.io/address/0x44c28f61A5C2Dd24Fc71D7Df8E85e18af4ab2Bd8#code), [0x75BC012fA81DF052baFc4EF9255Af29B6C4e5301](https://etherscan.io/address/0x75BC012fA81DF052baFc4EF9255Af29B6C4e5301#code) (Implementation (Upgradable)), [0x31110622D6CA24c9FF307d6ae1715F16E47F16A0](https://etherscan.io/address/0x31110622D6CA24c9FF307d6ae1715F16E47F16A0#code) (Admin) **Past upgrades** (Count of upgrades: 1, Last upgrade: 2y ago, Avg upgrade interval: 1y) - 2024-10-19 12:36 UTC, upgrade of [L1StandardERC20Gateway](https://etherscan.io/address/0x44c28f61A5C2Dd24Fc71D7Df8E85e18af4ab2Bd8#code): transaction [0xecc550f05d2956f7b7782408e784270c2dd858fd1add437f7292309f9be0795e](https://etherscan.io/tx/0xecc550f05d2956f7b7782408e784270c2dd858fd1add437f7292309f9be0795e), implementations: [0x75BC012fA81DF052baFc4EF9255Af29B6C4e5301](https://etherscan.io/address/0x75BC012fA81DF052baFc4EF9255Af29B6C4e5301#code) ([diff](https://disco.l2beat.com/diff/eth:0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F/eth:0x75BC012fA81DF052baFc4EF9255Af29B6C4e5301)) - 2024-10-19 03:14 UTC, deployment of [L1StandardERC20Gateway](https://etherscan.io/address/0x44c28f61A5C2Dd24Fc71D7Df8E85e18af4ab2Bd8#code): transaction [0x588ba3041901915cf5dda72776946664559ea839ead325836697c3d6764608b4](https://etherscan.io/tx/0x588ba3041901915cf5dda72776946664559ea839ead325836697c3d6764608b4), implementations: [0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F](https://etherscan.io/address/0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F#code) Contract used to bridge ERC20 tokens from L1 to L2. It uses a fixed token list. - Roles: - **admin**: ProxyAdmin; ultimately Morph Multisig 1 Can be upgraded by: Morph Multisig 1 with no delay #### TimelockController Addresses: [0x542675E90E269F20ecbb9e0095d4751ac155B530](https://etherscan.io/address/0x542675E90E269F20ecbb9e0095d4751ac155B530#code), [0x5F0CAaf0d3b8dd8eA9f80CDbb0021930d3c17353](https://etherscan.io/address/0x5F0CAaf0d3b8dd8eA9f80CDbb0021930d3c17353#code) (Implementation (Upgradable)), [0x8654061457582c867B77A3a9f4ca714dFc84Ec17](https://etherscan.io/address/0x8654061457582c867B77A3a9f4ca714dFc84Ec17#code) (Admin) **Past upgrades** (Count of upgrades: No upgrades, Last upgrade: N/A, Avg upgrade interval: N/A) - 2026-02-11 03:07 UTC, deployment of [TimelockController](https://etherscan.io/address/0x542675E90E269F20ecbb9e0095d4751ac155B530#code): transaction [0x8758e296217ea0a7f75403d57eb75eaa7067a45dd1b9cfc070e7fb1c1d9f6554](https://etherscan.io/tx/0x8758e296217ea0a7f75403d57eb75eaa7067a45dd1b9cfc070e7fb1c1d9f6554), implementations: [0x5F0CAaf0d3b8dd8eA9f80CDbb0021930d3c17353](https://etherscan.io/address/0x5F0CAaf0d3b8dd8eA9f80CDbb0021930d3c17353#code) A timelock with access control. The current minimum delay is 0s. - Roles: - **admin**: ProxyAdmin; ultimately Morph Multisig 1 - **canceller**: Morph Multisig 2 - **defaultAdmin**: Morph Multisig 1, TimelockController; ultimately Morph Multisig 1 - **executor**: Morph Multisig 1 - **proposer**: Morph Multisig 2 Can be upgraded by: Morph Multisig 1 with no delay #### MultipleVersionRollupVerifier Addresses: [0x5d1584c27b4aD233283c6da1ca1B825d6f220EC1](https://etherscan.io/address/0x5d1584c27b4aD233283c6da1ca1B825d6f220EC1#code) Used to update the verifier and keep track of current and old versions. Routes to a registered verifier by batch index, so that every batch is verified by the latest verifier that is enabled for this batch. - Roles: - **owner**: Morph Multisig 1 #### L1GatewayRouter Addresses: [0x7497756ADA7e656aE9f00781aF49Fc0fD08f8A8a](https://etherscan.io/address/0x7497756ADA7e656aE9f00781aF49Fc0fD08f8A8a#code), [0x6D9623d44C4A1629815D9d6236FF25C4f82Cc819](https://etherscan.io/address/0x6D9623d44C4A1629815D9d6236FF25C4f82Cc819#code) (Implementation (Upgradable)), [0x31110622D6CA24c9FF307d6ae1715F16E47F16A0](https://etherscan.io/address/0x31110622D6CA24c9FF307d6ae1715F16E47F16A0#code) (Admin) **Past upgrades** (Count of upgrades: 1, Last upgrade: 2y ago, Avg upgrade interval: 1y) - 2024-10-19 09:58 UTC, upgrade of [L1GatewayRouter](https://etherscan.io/address/0x7497756ADA7e656aE9f00781aF49Fc0fD08f8A8a#code): transaction [0xeda36c4631ff08b30a6812f16d35626894001ea8259fe51f1e38fa8ea78d3d37](https://etherscan.io/tx/0xeda36c4631ff08b30a6812f16d35626894001ea8259fe51f1e38fa8ea78d3d37), implementations: [0x6D9623d44C4A1629815D9d6236FF25C4f82Cc819](https://etherscan.io/address/0x6D9623d44C4A1629815D9d6236FF25C4f82Cc819#code) ([diff](https://disco.l2beat.com/diff/eth:0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F/eth:0x6D9623d44C4A1629815D9d6236FF25C4f82Cc819)) - 2024-10-19 03:12 UTC, deployment of [L1GatewayRouter](https://etherscan.io/address/0x7497756ADA7e656aE9f00781aF49Fc0fD08f8A8a#code): transaction [0x47781299a90c1fdd6771fbf104e0433f05cc7b610d63ce9368349a41f563b3c8](https://etherscan.io/tx/0x47781299a90c1fdd6771fbf104e0433f05cc7b610d63ce9368349a41f563b3c8), implementations: [0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F](https://etherscan.io/address/0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F#code) Main entrypoint for depositing ETH and ERC20 tokens, which are then forwarded to the correct escrow. - Roles: - **admin**: ProxyAdmin; ultimately Morph Multisig 1 - **owner**: Morph Multisig 1 Can be upgraded by: Morph Multisig 1 with no delay #### Rollup Addresses: [0x759894Ced0e6af42c26668076Ffa84d02E3CeF60](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60#code), [0x213CE22b487B71Ac68a1B5b12d2b93D1AF30Ea1d](https://etherscan.io/address/0x213CE22b487B71Ac68a1B5b12d2b93D1AF30Ea1d#code) (Implementation (Upgradable)), [0x31110622D6CA24c9FF307d6ae1715F16E47F16A0](https://etherscan.io/address/0x31110622D6CA24c9FF307d6ae1715F16E47F16A0#code) (Admin) **Past upgrades** (Count of upgrades: 11, Last upgrade: 1mo 13d ago, Avg upgrade interval: 2mo 2d) - 2026-09-22 07:54 UTC, upgrade of [Rollup](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60#code): transaction [0xdeb5268cbec1b47c77ad46cb8dd29491833e45ae374d2905f94f4e0499e8110e](https://etherscan.io/tx/0xdeb5268cbec1b47c77ad46cb8dd29491833e45ae374d2905f94f4e0499e8110e), implementations: [0x213CE22b487B71Ac68a1B5b12d2b93D1AF30Ea1d](https://etherscan.io/address/0x213CE22b487B71Ac68a1B5b12d2b93D1AF30Ea1d#code) ([diff](https://disco.l2beat.com/diff/eth:0xaC3C379D772f3520B34690d32BA14510ab36C3fB/eth:0x213CE22b487B71Ac68a1B5b12d2b93D1AF30Ea1d)) - 2026-06-03 11:26 UTC, upgrade of [Rollup](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60#code): transaction [0xe9128be913e8685a928c8e8468a030a95ad44ef4ad78534c688cd721af496a54](https://etherscan.io/tx/0xe9128be913e8685a928c8e8468a030a95ad44ef4ad78534c688cd721af496a54), implementations: [0xaC3C379D772f3520B34690d32BA14510ab36C3fB](https://etherscan.io/address/0xaC3C379D772f3520B34690d32BA14510ab36C3fB#code) ([diff](https://disco.l2beat.com/diff/eth:0x9e2Fb684935a32CEd121972f23BD0e4634377cA2/eth:0xaC3C379D772f3520B34690d32BA14510ab36C3fB)) - 2026-03-30 09:36 UTC, upgrade of [Rollup](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60#code): transaction [0xd2892f5b4e5c8fe4bd476e83689b21f4716a38185a3923bd1fcbcf61deefb8f9](https://etherscan.io/tx/0xd2892f5b4e5c8fe4bd476e83689b21f4716a38185a3923bd1fcbcf61deefb8f9), implementations: [0x9e2Fb684935a32CEd121972f23BD0e4634377cA2](https://etherscan.io/address/0x9e2Fb684935a32CEd121972f23BD0e4634377cA2#code) ([diff](https://disco.l2beat.com/diff/eth:0xB2F539aede77DF4cD1d427d046bBbBd8dB4cBAAF/eth:0x9e2Fb684935a32CEd121972f23BD0e4634377cA2)) - 2026-03-27 01:34 UTC, upgrade of [Rollup](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60#code): transaction [0x8eec835066ebedafa6430fc7b0cd1de2b7a46eb09e56519868ca9dbb938f4c8f](https://etherscan.io/tx/0x8eec835066ebedafa6430fc7b0cd1de2b7a46eb09e56519868ca9dbb938f4c8f), implementations: [0xB2F539aede77DF4cD1d427d046bBbBd8dB4cBAAF](https://etherscan.io/address/0xB2F539aede77DF4cD1d427d046bBbBd8dB4cBAAF#code) ([diff](https://disco.l2beat.com/diff/eth:0x1320d6A438d268044c8EEff0eE6B24E5EC9584e3/eth:0xB2F539aede77DF4cD1d427d046bBbBd8dB4cBAAF)) - 2026-03-03 06:06 UTC, upgrade of [Rollup](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60#code): transaction [0xc86bc6dc60ad304afbc7f423668a272434c17dbf4a0bb27906d74f0940a6eab1](https://etherscan.io/tx/0xc86bc6dc60ad304afbc7f423668a272434c17dbf4a0bb27906d74f0940a6eab1), implementations: [0x1320d6A438d268044c8EEff0eE6B24E5EC9584e3](https://etherscan.io/address/0x1320d6A438d268044c8EEff0eE6B24E5EC9584e3#code) ([diff](https://disco.l2beat.com/diff/eth:0xDF0749e688AE74508D84699Ba2405ED610Aaf8c5/eth:0x1320d6A438d268044c8EEff0eE6B24E5EC9584e3)) - 2025-11-25 08:51 UTC, upgrade of [Rollup](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60#code): transaction [0x27b0e1b46f9878a502c68e414bc6fea028c3a551760e5687c56bdd4eda4f31c9](https://etherscan.io/tx/0x27b0e1b46f9878a502c68e414bc6fea028c3a551760e5687c56bdd4eda4f31c9), implementations: [0xDF0749e688AE74508D84699Ba2405ED610Aaf8c5](https://etherscan.io/address/0xDF0749e688AE74508D84699Ba2405ED610Aaf8c5#code) ([diff](https://disco.l2beat.com/diff/eth:0x9C79e8F5d0fE910d84a6a0d4A03E8136d036eBec/eth:0xDF0749e688AE74508D84699Ba2405ED610Aaf8c5)) - 2025-05-12 07:11 UTC, upgrade of [Rollup](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60#code): transaction [0x1cd98e49b0d0c30a39c97683c374f5d3541d1ed02b14272a7113709fe01700d7](https://etherscan.io/tx/0x1cd98e49b0d0c30a39c97683c374f5d3541d1ed02b14272a7113709fe01700d7), implementations: [0x9C79e8F5d0fE910d84a6a0d4A03E8136d036eBec](https://etherscan.io/address/0x9C79e8F5d0fE910d84a6a0d4A03E8136d036eBec#code) ([diff](https://disco.l2beat.com/diff/eth:0x43190DfD1F572Cb56B1942B44482d1774151D77A/eth:0x9C79e8F5d0fE910d84a6a0d4A03E8136d036eBec)) - 2025-01-13 07:31 UTC, upgrade of [Rollup](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60#code): transaction [0x809b1d9bba9fd8f61c038603ddf7a6f0a079db83a4a6d341cf23d2af5764a9be](https://etherscan.io/tx/0x809b1d9bba9fd8f61c038603ddf7a6f0a079db83a4a6d341cf23d2af5764a9be), implementations: [0x43190DfD1F572Cb56B1942B44482d1774151D77A](https://etherscan.io/address/0x43190DfD1F572Cb56B1942B44482d1774151D77A#code) ([diff](https://disco.l2beat.com/diff/eth:0xaD900dB30Bcdf84c38Df0067eA327bbEccCF071A/eth:0x43190DfD1F572Cb56B1942B44482d1774151D77A)) - 2024-11-28 03:51 UTC, upgrade of [Rollup](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60#code): transaction [0xa452e20183f6860f105cb398bccc9d75dd3758444b956061b3031d1f0a33c424](https://etherscan.io/tx/0xa452e20183f6860f105cb398bccc9d75dd3758444b956061b3031d1f0a33c424), implementations: [0xaD900dB30Bcdf84c38Df0067eA327bbEccCF071A](https://etherscan.io/address/0xaD900dB30Bcdf84c38Df0067eA327bbEccCF071A#code) ([diff](https://disco.l2beat.com/diff/eth:0x073403E147a8e607b80985fe458c0B527287278F/eth:0xaD900dB30Bcdf84c38Df0067eA327bbEccCF071A)) - 2024-10-20 13:48 UTC, upgrade of [Rollup](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60#code): transaction [0xd60de4a76f275ec7931bc430b7440f07c15f30028195405f855bd98c33ad72d6](https://etherscan.io/tx/0xd60de4a76f275ec7931bc430b7440f07c15f30028195405f855bd98c33ad72d6), implementations: [0x073403E147a8e607b80985fe458c0B527287278F](https://etherscan.io/address/0x073403E147a8e607b80985fe458c0B527287278F#code) ([diff](https://disco.l2beat.com/diff/eth:0xcffdDbcb5B9EA2ee45ABA121e0849ADc87c38326/eth:0x073403E147a8e607b80985fe458c0B527287278F)) - 2024-10-19 09:51 UTC, upgrade of [Rollup](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60#code): transaction [0xeb4cc4248a0b3f459f4d7ab5877114fd4f55fd073c78347df548a9f03013068e](https://etherscan.io/tx/0xeb4cc4248a0b3f459f4d7ab5877114fd4f55fd073c78347df548a9f03013068e), implementations: [0xcffdDbcb5B9EA2ee45ABA121e0849ADc87c38326](https://etherscan.io/address/0xcffdDbcb5B9EA2ee45ABA121e0849ADc87c38326#code) ([diff](https://disco.l2beat.com/diff/eth:0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F/eth:0xcffdDbcb5B9EA2ee45ABA121e0849ADc87c38326)) - 2024-10-19 03:11 UTC, deployment of [Rollup](https://etherscan.io/address/0x759894Ced0e6af42c26668076Ffa84d02E3CeF60#code): transaction [0xfb3bc602abb088d5d94e6869d56417de3c16a3966e5c6abfa4d157dfbcc36cba](https://etherscan.io/tx/0xfb3bc602abb088d5d94e6869d56417de3c16a3966e5c6abfa4d157dfbcc36cba), implementations: [0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F](https://etherscan.io/address/0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F#code) The main contract of the Morph rollup. Allows to post transaction data and state roots and implements the proof system. Sequencing and proposing are permissioned to the active submitters registered and staked in the Submitter contract. If the EnforcedTxGateway is not paused, any submitter must include at least one L1 -> L2 message in their proposal if the oldest message is > 7d old. If the submitters are censoring or down for more than 7d, users can permissionlessly propose and prove via `commitBatchWithProof()`. - Roles: - **admin**: ProxyAdmin; ultimately Morph Multisig 1 - **challengers**: EOA 1, EOA 10, EOA 11, EOA 13, EOA 14, EOA 15, EOA 16, EOA 18, EOA 19, EOA 2, EOA 20, EOA 21, EOA 22, EOA 23, EOA 24, EOA 25, EOA 26, EOA 27, EOA 28, EOA 3, EOA 30, EOA 31, EOA 32, EOA 33, EOA 34, EOA 35, EOA 36, EOA 37, EOA 38, EOA 4, EOA 40, EOA 41, EOA 42, EOA 5, EOA 6, EOA 8, EOA 9, Morph Multisig 2 - **owner**: Morph Multisig 1 Can be upgraded by: Morph Multisig 1 with no delay #### ProxyAdmin (0x8654…Ec17) Addresses: [0x8654061457582c867B77A3a9f4ca714dFc84Ec17](https://etherscan.io/address/0x8654061457582c867B77A3a9f4ca714dFc84Ec17#code) - Roles: - **owner**: Morph Multisig 1 #### ZkEvmVerifierV1 (2 instances) Addresses: [0x9774CE99E8Ab3f13582bC6c2Bd2832e5A25C4624](https://etherscan.io/address/0x9774CE99E8Ab3f13582bC6c2Bd2832e5A25C4624#code), [0xFF31F579F723e0493D969B46095FE718ebf4401A](https://etherscan.io/address/0xFF31F579F723e0493D969B46095FE718ebf4401A#code) A snark verifier based on SP1 by Succinct. It verifies RISC-V execution in a PLONK proof. Used to verify the validity of L2 state transitions for single round fraud proofs. #### L1CustomERC20Gateway Addresses: [0xA534BAdd09b4C62B7B1C32C41dF310AA17b52ef1](https://etherscan.io/address/0xA534BAdd09b4C62B7B1C32C41dF310AA17b52ef1#code), [0x833cfC8cFbc77365bD184025AdFD2fe01112b0Dc](https://etherscan.io/address/0x833cfC8cFbc77365bD184025AdFD2fe01112b0Dc#code) (Implementation (Upgradable)), [0x31110622D6CA24c9FF307d6ae1715F16E47F16A0](https://etherscan.io/address/0x31110622D6CA24c9FF307d6ae1715F16E47F16A0#code) (Admin) **Past upgrades** (Count of upgrades: 1, Last upgrade: 2y ago, Avg upgrade interval: 1y) - 2024-10-19 12:37 UTC, upgrade of [L1CustomERC20Gateway](https://etherscan.io/address/0xA534BAdd09b4C62B7B1C32C41dF310AA17b52ef1#code): transaction [0xdd44d4d670ecc38911efb3e5872de8502abcaa52f5aa382b0e8a7b6e791b3e51](https://etherscan.io/tx/0xdd44d4d670ecc38911efb3e5872de8502abcaa52f5aa382b0e8a7b6e791b3e51), implementations: [0x833cfC8cFbc77365bD184025AdFD2fe01112b0Dc](https://etherscan.io/address/0x833cfC8cFbc77365bD184025AdFD2fe01112b0Dc#code) ([diff](https://disco.l2beat.com/diff/eth:0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F/eth:0x833cfC8cFbc77365bD184025AdFD2fe01112b0Dc)) - 2024-10-19 03:16 UTC, deployment of [L1CustomERC20Gateway](https://etherscan.io/address/0xA534BAdd09b4C62B7B1C32C41dF310AA17b52ef1#code): transaction [0x2d8afe39a176bb5a4291b3a4955fe1e924d413344273b47699e8876691d8e956](https://etherscan.io/tx/0x2d8afe39a176bb5a4291b3a4955fe1e924d413344273b47699e8876691d8e956), implementations: [0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F](https://etherscan.io/address/0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F#code) Contract used to bridge ERC20 tokens with custom L2 representations from L1 to L2. It allows to change the token mappings. - Roles: - **admin**: ProxyAdmin; ultimately Morph Multisig 1 Can be upgraded by: Morph Multisig 1 with no delay #### EnforcedTxGateway Addresses: [0xc5Fa3b8968c7FAbEeA2B530a20b88d0C2eD8abb7](https://etherscan.io/address/0xc5Fa3b8968c7FAbEeA2B530a20b88d0C2eD8abb7#code), [0xCb13746Fc891fC2e7D824870D00a26F43fE6123e](https://etherscan.io/address/0xCb13746Fc891fC2e7D824870D00a26F43fE6123e#code) (Implementation (Upgradable)), [0x31110622D6CA24c9FF307d6ae1715F16E47F16A0](https://etherscan.io/address/0x31110622D6CA24c9FF307d6ae1715F16E47F16A0#code) (Admin) **Past upgrades** (Count of upgrades: 1, Last upgrade: 2y ago, Avg upgrade interval: 1y) - 2024-10-19 12:41 UTC, upgrade of [EnforcedTxGateway](https://etherscan.io/address/0xc5Fa3b8968c7FAbEeA2B530a20b88d0C2eD8abb7#code): transaction [0x52cd27aa90911acebc0bec090cf04928fd3663207dc55381d57c4a47e1dda26a](https://etherscan.io/tx/0x52cd27aa90911acebc0bec090cf04928fd3663207dc55381d57c4a47e1dda26a), implementations: [0xCb13746Fc891fC2e7D824870D00a26F43fE6123e](https://etherscan.io/address/0xCb13746Fc891fC2e7D824870D00a26F43fE6123e#code) ([diff](https://disco.l2beat.com/diff/eth:0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F/eth:0xCb13746Fc891fC2e7D824870D00a26F43fE6123e)) - 2024-10-19 03:22 UTC, deployment of [EnforcedTxGateway](https://etherscan.io/address/0xc5Fa3b8968c7FAbEeA2B530a20b88d0C2eD8abb7#code): transaction [0x42f9fb783f90953e26e04d4f27a703daa2992362fe44c5e11d646dae054e1e6b](https://etherscan.io/tx/0x42f9fb783f90953e26e04d4f27a703daa2992362fe44c5e11d646dae054e1e6b), implementations: [0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F](https://etherscan.io/address/0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F#code) Contracts to force L1 -> L2 messages with the L1 sender. Currently paused: false. - Roles: - **admin**: ProxyAdmin; ultimately Morph Multisig 1 - **owner**: Morph Multisig 2 Can be upgraded by: Morph Multisig 1 with no delay #### L1USDCGatewayLegacy Addresses: [0xc9045350712A1DCC3A74Eca18Bc985424Bbe7535](https://etherscan.io/address/0xc9045350712A1DCC3A74Eca18Bc985424Bbe7535#code), [0xe11DeE885e5D38e4dc477219F50a6B1cF5DC298a](https://etherscan.io/address/0xe11DeE885e5D38e4dc477219F50a6B1cF5DC298a#code) (Implementation (Upgradable)), [0x31110622D6CA24c9FF307d6ae1715F16E47F16A0](https://etherscan.io/address/0x31110622D6CA24c9FF307d6ae1715F16E47F16A0#code) (Admin) **Past upgrades** (Count of upgrades: 1, Last upgrade: 2y ago, Avg upgrade interval: 1y) - 2024-10-30 07:51 UTC, upgrade of [L1USDCGatewayLegacy](https://etherscan.io/address/0xc9045350712A1DCC3A74Eca18Bc985424Bbe7535#code): transaction [0x35bf7e03fd234bc9e9b6e16e46c8a2008f7534a840439b6e208bd8da52804f67](https://etherscan.io/tx/0x35bf7e03fd234bc9e9b6e16e46c8a2008f7534a840439b6e208bd8da52804f67), implementations: [0xe11DeE885e5D38e4dc477219F50a6B1cF5DC298a](https://etherscan.io/address/0xe11DeE885e5D38e4dc477219F50a6B1cF5DC298a#code) ([diff](https://disco.l2beat.com/diff/eth:0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F/eth:0xe11DeE885e5D38e4dc477219F50a6B1cF5DC298a)) - 2024-10-19 03:23 UTC, deployment of [L1USDCGatewayLegacy](https://etherscan.io/address/0xc9045350712A1DCC3A74Eca18Bc985424Bbe7535#code): transaction [0x2db1c37725ef72c0aaaab9b8b56658604bb38faa2e923755f3d79797654d6efb](https://etherscan.io/tx/0x2db1c37725ef72c0aaaab9b8b56658604bb38faa2e923755f3d79797654d6efb), implementations: [0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F](https://etherscan.io/address/0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F#code) Contract used to bridge USDC tokens from L1 to L2. - Roles: - **admin**: ProxyAdmin; ultimately Morph Multisig 1 Can be upgraded by: Morph Multisig 1 with no delay #### L1CrossDomainMessenger Addresses: [0xDc71366EFFA760804DCFC3EDF87fa2A6f1623304](https://etherscan.io/address/0xDc71366EFFA760804DCFC3EDF87fa2A6f1623304#code), [0x0cC37d5239F9027A1269f53D83c73084D538f3a9](https://etherscan.io/address/0x0cC37d5239F9027A1269f53D83c73084D538f3a9#code) (Implementation (Upgradable)), [0x31110622D6CA24c9FF307d6ae1715F16E47F16A0](https://etherscan.io/address/0x31110622D6CA24c9FF307d6ae1715F16E47F16A0#code) (Admin) **Past upgrades** (Count of upgrades: 2, Last upgrade: 1y 9mo ago, Avg upgrade interval: 8mo 8d) - 2025-01-13 08:10 UTC, upgrade of [L1CrossDomainMessenger](https://etherscan.io/address/0xDc71366EFFA760804DCFC3EDF87fa2A6f1623304#code): transaction [0x908d9fce8cd9a787900543daabf45936a8873b543f593030f3edceeca35543f8](https://etherscan.io/tx/0x908d9fce8cd9a787900543daabf45936a8873b543f593030f3edceeca35543f8), implementations: [0x0cC37d5239F9027A1269f53D83c73084D538f3a9](https://etherscan.io/address/0x0cC37d5239F9027A1269f53D83c73084D538f3a9#code) ([diff](https://disco.l2beat.com/diff/eth:0xB8F0871bc0832cb756f07fFC4bDdC8b6bf8577b5/eth:0x0cC37d5239F9027A1269f53D83c73084D538f3a9)) - 2024-10-19 09:38 UTC, upgrade of [L1CrossDomainMessenger](https://etherscan.io/address/0xDc71366EFFA760804DCFC3EDF87fa2A6f1623304#code): transaction [0x63ce107f943635805762c4ccd98b13cf1977f8ed1e13bd98821ebb545b9ed38e](https://etherscan.io/tx/0x63ce107f943635805762c4ccd98b13cf1977f8ed1e13bd98821ebb545b9ed38e), implementations: [0xB8F0871bc0832cb756f07fFC4bDdC8b6bf8577b5](https://etherscan.io/address/0xB8F0871bc0832cb756f07fFC4bDdC8b6bf8577b5#code) ([diff](https://disco.l2beat.com/diff/eth:0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F/eth:0xB8F0871bc0832cb756f07fFC4bDdC8b6bf8577b5)) - 2024-10-19 03:05 UTC, deployment of [L1CrossDomainMessenger](https://etherscan.io/address/0xDc71366EFFA760804DCFC3EDF87fa2A6f1623304#code): transaction [0xf29bb9908992a7c79573ffb28d3783584653f43095b1b2278fc8951f567bebe7](https://etherscan.io/tx/0xf29bb9908992a7c79573ffb28d3783584653f43095b1b2278fc8951f567bebe7), implementations: [0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F](https://etherscan.io/address/0x98dF320641C2E65ab4BbeF1e6f6C66D9B50EdE5F#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; ultimately Morph Multisig 1 - **owner**: Morph Multisig 1 Can be upgraded by: Morph Multisig 1 with no delay #### Submitter Addresses: [0xf2d50000C994565A4742059802fdbb0BEE1CBef6](https://etherscan.io/address/0xf2d50000C994565A4742059802fdbb0BEE1CBef6#code), [0x3c5C88F69B190a1c497996AfEDb1a6591b0dF576](https://etherscan.io/address/0x3c5C88F69B190a1c497996AfEDb1a6591b0dF576#code) (Implementation (Upgradable)), [0x31110622D6CA24c9FF307d6ae1715F16E47F16A0](https://etherscan.io/address/0x31110622D6CA24c9FF307d6ae1715F16E47F16A0#code) (Admin) **Past upgrades** (Count of upgrades: No upgrades, Last upgrade: N/A, Avg upgrade interval: N/A) - 2026-09-17 03:53 UTC, deployment of [Submitter](https://etherscan.io/address/0xf2d50000C994565A4742059802fdbb0BEE1CBef6#code): transaction [0x3d9a9fcb431bbf54d5492373165b1f33b93cc279cd54861aadcaa2fd5ee25fa9](https://etherscan.io/tx/0x3d9a9fcb431bbf54d5492373165b1f33b93cc279cd54861aadcaa2fd5ee25fa9), implementations: [0x3c5C88F69B190a1c497996AfEDb1a6591b0dF576](https://etherscan.io/address/0x3c5C88F69B190a1c497996AfEDb1a6591b0dF576#code) Registry and ETH staking contract for the accounts allowed to commit transaction batches and propose state roots to the Rollup. The owner whitelists submitters, who are active only while registered, not withdrawing and staked at or above the minimum. When a submitter's batch is successfully challenged, the Rollup slashes the submitter's whole stake through this contract: the configured reward share is forwarded to the Rollup for the challenger and the remainder accrues to the owner. Stake withdrawals are claimable only once the batch committed at withdrawal time is finalized. - Roles: - **admin**: ProxyAdmin; ultimately Morph Multisig 1 - **owner**: Morph Multisig 1 - **submitters**: EOA 12, EOA 29, EOA 7 Can be upgraded by: Morph Multisig 1 with no delay #### Whitelist Addresses: [0xFFafDd9167777C0e5421e0B6789D6d7A5E386984](https://etherscan.io/address/0xFFafDd9167777C0e5421e0B6789D6d7A5E386984#code) Generic whitelist. Currently used to whitelist addresses that can send or relay messages to/from L2 without paying for L2 gas. - Roles: - **owner**: Morph Multisig 2 - **whitelisted**: L1Staking 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 #### Morph Guest program (v0.5.6 release) Proves the correct execution of the Morph L2 state transition function (based on the Geth EVM) for a batch of blocks using the SP1 zkVM. - Hash: `0x00c4ea13863f7b423f53140f432d7147e48b8e31660420636931c0a72459c25c` - Repository: https://github.com/morph-l2/morph/tree/v0.5.6/prover/bin/client - Verification: successful - Used in: [Morph](https://ethbeat.org/layer2s/projects/morph) ##### Verification steps The steps below should be done on a Linux machine to reproduce the program hash. To prepare: 1. Install cargo make: `cargo install --debug --locked cargo-make` 2. Install sp1 toolchain version `v6.2.0`: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up --version v6.2.0` 3. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) Verify: 1. Checkout the correct branch in [morph repo](https://github.com/morph-l2/morph): `git checkout v0.5.6`. Commit hash should be `cafa07d19de8a5a36c8510890a72533c8e0e52e5` 2. Make sure docker is running by running `docker ps` 3. Build the program binary from `prover/bin/client` dir using a docker container build for reproducibility: `cargo prove build --docker --tag v6.2.0` 4. The generated elf binary `verifier-client` will be placed in `prover/target/elf-compilation/docker/riscv64im-succinct-zkvm-elf/release`. Move it to `prover/bin/client/elf`. 5. Regenerate and print the vkey from the elf binary by calling `cargo run --release --bin vkey` from `prover` dir. #### Morph Guest program (v0.6.4 release) Proves the correct execution of the Morph L2 state transition function (based on the Geth EVM) for a batch of blocks using the SP1 zkVM. The sequencer-set public input field is zero. - Hash: `0x0084f08a14f8199f87e7ae6011336724ec187b3656859184f04c7e8f382a2902` - Repository: https://github.com/morph-l2/morph/tree/v0.6.4/prover/bin/client - Verification: successful - Used in: [Morph](https://ethbeat.org/layer2s/projects/morph) ##### Verification steps The steps below should be done on a Linux machine to reproduce the program hash. To prepare: 1. Install cargo make: `cargo install --debug --locked cargo-make` 2. Install sp1 toolchain version `v6.2.0`: `curl -L https://sp1up.succinct.xyz/ | bash`, then `sp1up --version v6.2.0` 3. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/) (a rootless podman with a `docker` shim also works) Verify: 1. Checkout the correct branch in [morph repo](https://github.com/morph-l2/morph): `git checkout v0.6.4`. Commit hash should be `1cee926534d031fd9f41d6b3cf3edda6da467f57` 2. Make sure docker is running by running `docker ps` 3. Build the program binary from `prover/bin/client` dir using a docker container build for reproducibility: `cargo prove build --docker --tag v6.2.0 --ignore-rust-version` 4. The generated elf binary `verifier-client` will be placed in `prover/target/elf-compilation/docker/riscv64im-succinct-zkvm-elf/release`. Its SHA-256 should be `63f50c303d398f2250a545b21f2e376f01eed1fa719de6cb159630cd03927128`, identical to the committed `prover/bin/client/elf/verifier-client`. Move it to `prover/bin/client/elf`. 5. Regenerate and print the vkey from the elf binary by calling `cargo run --release --bin vkey` from `prover` dir (needs `protoc` and OpenSSL headers on the host).