## 2. Proof system

Research snapshot: 2026-10-27. This is a project-source cross-check, not an independent on-chain audit. Repository code is pinned below; a code capability or deployment configuration is not treated as proof of today's live contract settings.

- **Validity/ZK proofs: OP Succinct with SP1 zkVM.** Mantle describes re-executing state transitions inside SP1, producing proofs and submitting them to `MantleSuccinctL2OutputOracle` on Ethereum. It explicitly says this replaces optimistic acceptance with cryptographic validity, without a fraud-challenge period on the ZK path. Sources: [ZK validity proof](https://docs.mantle.xyz/network/system-information/risk-management/zk-validity-proof.md), [OP Succinct upgrade notice](https://docs.mantle.xyz/network/introduction/updated-notices/mantle-op-succinct-mainnet-upgrade-and-withdrawal-period-transition.md).
- **Participation is not documented as permissionless on mainnet.** Network Roles says proposer nodes, which create and submit roots to L1, are not open for security reasons; the validity-proof page describes a single Succinct Proposer coordinating proof generation and output submission. Running a replica/verifier does not establish permission to propose on L1. Sources: [Network Roles](https://docs.mantle.xyz/network/for-node-operators/network-roles.md), [ZK validity proof](https://docs.mantle.xyz/network/system-information/risk-management/zk-validity-proof.md).
- **Code corroboration, with a deployment caveat:** the project's `OPSuccinctL2OutputOracle.proposeL2Output(..., bytes _proof)` requires an approved proposer, unless the mapping's special permissionless flag is enabled; it then calls `ISP1Verifier(verifier).verifyProof(...)`. Only the owner can add/remove approved proposers. `deleteL2Outputs` is restricted to the configured `challenger` and unfinalized outputs. Thus this implementation supports an allowlist and an optional open mode, rather than establishing that anyone currently proposes or challenges on Mantle. The live allowlist/open-mode setting and permissionless proof-generation access were **NOT FOUND** in the inspected documentation. Source: [Mantle OP Succinct oracle, pinned code](https://github.com/mantle-xyz/op-succinct/blob/8d280ded13f3fcba3d85fb6babedaf75cab5e9c0/contracts/src/validity/OPSuccinctL2OutputOracle.sol).
- **Launch date given by the docs:** the mainnet notice schedules ZK submission and verification of new state roots for **September 16, 2025, approximately 15:00 UTC**, with the shorter withdrawal rule targeted for **September 23, 2025, approximately 15:00 UTC**. It explicitly warns activation time can vary. These are the project's announced activation dates, not independently confirmed execution timestamps. Source: [Mainnet upgrade and withdrawal transition](https://docs.mantle.xyz/network/introduction/updated-notices/mantle-op-succinct-mainnet-upgrade-and-withdrawal-period-transition.md).
- **Finality versus withdrawals:** the overview says a batch achieves finality once verified by Ethereum's settlement contract, without a challenge period. Separately, the upgrade notice specifies **12 hours** for canonical-bridge withdrawal finalization, deliberately retained as a team-response safety buffer; it also calls this a “challenge period.” This is not a stated end-to-end proof-generation latency or an upgrade exit window. Sources: [Overview](https://docs.mantle.xyz/network/introduction/overviews.md), [Withdrawal transition](https://docs.mantle.xyz/network/introduction/updated-notices/mantle-op-succinct-mainnet-upgrade-and-withdrawal-period-transition.md).
- **Non-ZK fallback remains:** the risk page says Mantle can revert to the standard op-proposer route and a seven-day challenge-window model if the ZK pipeline fails. In the inspected oracle code, the configured challenger can enable optimistic mode with a finalization period of at least seven days; its optimistic proposal overload accepts roots without invoking the ZK verifier. This does not establish live permissionless fraud proofs in that fallback. Sources: [ZK validity risks](https://docs.mantle.xyz/network/system-information/risk-management/zk-validity-proof.md), [Oracle fallback and proposal functions](https://github.com/mantle-xyz/op-succinct/blob/8d280ded13f3fcba3d85fb6babedaf75cab5e9c0/contracts/src/validity/OPSuccinctL2OutputOracle.sol).
- **Documentation inconsistency:** the general FAQ still describes Tectonic fraud proofs as not yet online and a seven-day L1 challenge period; Network Roles places rewarded fraud-proof submission in future versions, while Node Introduction lists initiating fraud proofs as a verifier function. These statements must not be used to erase the newer ZK notice or to claim active public fraud challenges. Sources: [General FAQ](https://docs.mantle.xyz/network/more/faqs.md), [Network Roles](https://docs.mantle.xyz/network/for-node-operators/network-roles.md), [Node Introduction](https://docs.mantle.xyz/network/system-information/off-chain-system/node-introduction.md), [ZK transition notice](https://docs.mantle.xyz/network/introduction/updated-notices/mantle-op-succinct-mainnet-upgrade-and-withdrawal-period-transition.md).

## 3. Exit window and upgrades

- **Upgrade authority:** the mainnet L1 contract table identifies **Mantle Security Msig** as the owner role of `ProxyAdmin`. Contract Introduction says `ProxyAdmin` owns the proxy contracts and can upgrade most Mantle system contracts. Sources: [Key L1 contracts, Mainnet tab](https://docs.mantle.xyz/network/system-information/on-chain-system/key-l1-contract-address.md), [ProxyAdmin description](https://docs.mantle.xyz/network/system-information/on-chain-system/contract-introduction.md#proxyadmin).
- **Code corroboration:** `ProxyAdmin.upgrade` and `upgradeAndCall` are `onlyOwner`; their implementation contains no built-in scheduling or timelock step. The repository's mainnet deployment configuration names `0x4e59e778a0fb77fBb305637435C62FaeD9aED40f` as `proxyAdminOwner`. These are code/configuration observations, not verification of the owner's current wallet configuration or external delay mechanisms. Sources: [ProxyAdmin code](https://github.com/mantle-xyz/mantle-v2/blob/fbe1856d4326f97ce9e353d46aff250ea3871382/packages/contracts-bedrock/src/universal/ProxyAdmin.sol), [Mainnet deployment configuration](https://github.com/mantle-xyz/mantle-v2/blob/fbe1856d4326f97ce9e353d46aff250ea3871382/packages/contracts-bedrock/deploy-config/mantle-mainnet.json).
- **Historical role description:** the explicitly superseded v1 Security Model page calls that same address Mantle Security Msig, generally responsible for upgrades and super-permissions, and describes Mantle Engineering Msig as handling faster pausing/reset actions. It says core multisig signers remain anonymous. This supplies historical context, not proof of a current council constitution. Source: [v1 Security Model and Roles, Core Multisigs](https://docs.mantle.xyz/network/network/introduction/security-model-and-roles.md).
- **Threshold, council composition, timelock in days, and guaranteed pre-upgrade exit window: NOT FOUND.** The reviewed current contract pages identify the multisig role but do not give those details. The v1 page only explains that upgradeable contracts can optionally have timelocks; it does not specify an implemented Mantle delay. The announced 12-hour withdrawal safety buffer is not described as advance notice before upgrades. Sources checked: [L1 contract table](https://docs.mantle.xyz/network/system-information/on-chain-system/key-l1-contract-address.md), [Contract Introduction](https://docs.mantle.xyz/network/system-information/on-chain-system/contract-introduction.md), [v1 Security Model](https://docs.mantle.xyz/network/network/introduction/security-model-and-roles.md), [Withdrawal transition](https://docs.mantle.xyz/network/introduction/updated-notices/mantle-op-succinct-mainnet-upgrade-and-withdrawal-period-transition.md).

## 4. Data availability

- **Current architecture description: Ethereum EIP-4844 blobs.** `op-batcher` collects, encodes and compresses rollup blocks, then submits blob-carrying transactions to Ethereum L1. Blob commitments are the canonical DA reference, and L1 transaction data supplies ZK proving inputs. Source: [Architecture](https://docs.mantle.xyz/network/system-information/architecture.md).
- **Migration and code corroboration:** the migration notice describes moving from **EigenDA** to Ethereum blobs and from validium to standard ZK rollup; the 2026 roadmap marks DA migration among completed core-protocol work. The project's prover patch registry says pre-Arsia mainnet already posted EIP-4844 blobs using Mantle's private encoding, and identifies Arsia activation as April 22, 2026, after which encoding is OP-Stack-compatible. These sources support the blob architecture but do not give a precise original EigenDA-to-blobs mainnet switch timestamp. Sources: [DA migration notice](https://docs.mantle.xyz/network/introduction/updated-notices/migration-of-data-availability-to-ethereum-blobs.md), [2026 roadmap](https://docs.mantle.xyz/network/system-information/roadmap.md), [Mantle prover changes, supported block range](https://github.com/mantle-xyz/op-succinct/blob/8d280ded13f3fcba3d85fb6babedaf75cab5e9c0/MANTLE_CHANGES.md#11-supported-l2-block-range--arsia-and-later-only).
- **Contradictory/stale descriptions remain:** the migration notice itself calls EigenDA the current state and blobs the future state. The OP Stack differences page says Mantle chose EigenDA; the FAQ says most rollup data goes to Mantle DA powered by EigenDA, with only roots and limited transaction data on L1. The overview still describes an external DA component. These differ from the blob-based Architecture page and completed roadmap item above; no claim is made that both DA modes are simultaneously active. Sources: [Migration notice](https://docs.mantle.xyz/network/introduction/updated-notices/migration-of-data-availability-to-ethereum-blobs.md), [OP Stack differences](https://docs.mantle.xyz/network/for-developers/the-differences-between-mantle-op-stack-and-ethereum.md), [FAQ](https://docs.mantle.xyz/network/more/faqs.md), [Overview](https://docs.mantle.xyz/network/introduction/overviews.md).

## 5. Sequencer and forced inclusion

- **Restricted/centralized sequencing:** current Network Roles says sequencer nodes are not open for security reasons. The older v1 Security Model explicitly identifies sequencer/proposer/batcher services as administered by the core team, with the sequencer key managed by Mantle Engineering HSM. The sources therefore document restricted sequencing and historical core-team operation; a fresh v2 statement naming the current legal operator or operator roster was **NOT FOUND**. Sources: [Network Roles](https://docs.mantle.xyz/network/for-node-operators/network-roles.md), [v1 Security Model, Offchain Systems](https://docs.mantle.xyz/network/network/introduction/security-model-and-roles.md).
- **Documented L1 bypass:** Mantle's Forced Transaction Inclusion page explicitly applies the OP Stack mechanism: an EOA or contract can call **`OptimismPortal.depositTransaction`** on L1 without going through the sequencer. Its complete-outage example says inclusion occurs automatically after **`sequencer_window` of 24 hours**; its censorship discussion says an expired window causes reorganization and inclusion. Source: [Forced Transaction Inclusion](https://docs.mantle.xyz/network/system-information/risk-management/forced-transaction-inclusion.md).
- **Important delay discrepancy in project code:** the networks repository's mainnet rollup configuration instead sets `seq_window_size` to **3,600**; rollup code defines its units as **L1 blocks**. The mainnet deployment configuration likewise sets `sequencerWindowSize: 3600` and `l1BlockTime: 12`. Arithmetic from those configured values gives **43,200 seconds = 12 hours**, not the guide's 24 hours. This is a configuration-derived nominal duration, not a verified current wall-clock inclusion guarantee; the documentation/code discrepancy remains unresolved. Sources: [Mainnet rollup configuration](https://github.com/mantle-xyz/networks/blob/f6e0f07ce813bd2f9965fceb7c32756b2f55d383/mainnet/rollup.json), [Sequencing-window unit definition](https://github.com/mantle-xyz/mantle-v2/blob/fbe1856d4326f97ce9e353d46aff250ea3871382/op-node/rollup/types.go), [Mainnet deployment configuration](https://github.com/mantle-xyz/mantle-v2/blob/fbe1856d4326f97ce9e353d46aff250ea3871382/packages/contracts-bedrock/deploy-config/mantle-mainnet.json).
- **Historical distinction:** the superseded v1 roadmap says initial-mainnet users could enqueue through L1 but could not force individual transactions; it labels that the initial-version approach. This differs from the v2 portal-based forced-inclusion guide and should not be presented as the current v2 mechanism. Sources: [v1 Architecture and Roadmap, Failure Handling](https://docs.mantle.xyz/network/network/introduction/architecture-and-roadmap.md), [v2 Forced Transaction Inclusion](https://docs.mantle.xyz/network/system-information/risk-management/forced-transaction-inclusion.md).

## 1. Stage

- **Project statement about L2BEAT:** the DA migration notice says Mantle with EigenDA is classified as “Others” under L2BEAT's framework and says migrating to blobs provides a path toward **Stage 1 decentralization milestones**. This is Mantle's own statement about the pre-migration classification and roadmap, not confirmation of a current Stage 0, 1 or 2 rating. Source: [DA migration notice](https://docs.mantle.xyz/network/introduction/updated-notices/migration-of-data-availability-to-ethereum-blobs.md).
- **Decentralization roadmap:** the v1 security page says the team intends to discuss transition of components toward decentralized/trustless systems with Mantle Governance and the community. The 2026 roadmap includes a distributed GPU proof network and on-chain governance of pre-confirmation strategies/routing permissions, but does not certify a L2BEAT stage. Sources: [v1 Security Model](https://docs.mantle.xyz/network/network/introduction/security-model-and-roles.md), [2026 roadmap](https://docs.mantle.xyz/network/system-information/roadmap.md).
- **Current numerical stage and any stage change in the last six months: NOT FOUND** in the project pages reviewed; an aspiration to Stage 1 is not an attained stage. Pages checked: [Migration notice](https://docs.mantle.xyz/network/introduction/updated-notices/migration-of-data-availability-to-ethereum-blobs.md), [Roadmap](https://docs.mantle.xyz/network/system-information/roadmap.md), [Overview](https://docs.mantle.xyz/network/introduction/overviews.md).

## Not found

- **Live permissionless proposing/proving status, complete approved-proposer roster, and public challenge access:** the docs describe closed proposer participation and a single coordinator; code supports configurable permissionless proposing but does not reveal the deployed mapping. Tried: [Network Roles](https://docs.mantle.xyz/network/for-node-operators/network-roles.md), [ZK risk page](https://docs.mantle.xyz/network/system-information/risk-management/zk-validity-proof.md), [SP1 introduction](https://docs.mantle.xyz/network/system-information/off-chain-system/sp1-zkvm/introduction.md), [pinned oracle code](https://github.com/mantle-xyz/op-succinct/blob/8d280ded13f3fcba3d85fb6babedaf75cab5e9c0/contracts/src/validity/OPSuccinctL2OutputOracle.sol).
- **Measured/guaranteed proof-generation-to-L1-finality time; exact executed mainnet proof activation timestamp beyond the announced schedule; actual fallback timeout and current fallback mode:** not established by the inspected pages. Tried: [ZK risk page](https://docs.mantle.xyz/network/system-information/risk-management/zk-validity-proof.md), [Architecture](https://docs.mantle.xyz/network/system-information/architecture.md), [mainnet transition notice](https://docs.mantle.xyz/network/introduction/updated-notices/mantle-op-succinct-mainnet-upgrade-and-withdrawal-period-transition.md).
- **Security multisig signing threshold/member count, separately constituted security council, governance-to-upgrade authorization procedure, external timelock delay in days, and guaranteed upgrade exit window:** not specified in the reviewed sources; absence of a delay in `ProxyAdmin` alone does not settle all external controls. Tried: [L1 contract addresses](https://docs.mantle.xyz/network/system-information/on-chain-system/key-l1-contract-address.md), [Contract Introduction](https://docs.mantle.xyz/network/system-information/on-chain-system/contract-introduction.md), [v1 Security Model](https://docs.mantle.xyz/network/network/introduction/security-model-and-roles.md), [ProxyAdmin implementation](https://github.com/mantle-xyz/mantle-v2/blob/fbe1856d4326f97ce9e353d46aff250ea3871382/packages/contracts-bedrock/src/universal/ProxyAdmin.sol).
- **Exact DA migration activation date and a reconciled statement superseding all EigenDA text:** not found. Tried: [Migration notice](https://docs.mantle.xyz/network/introduction/updated-notices/migration-of-data-availability-to-ethereum-blobs.md), [Architecture](https://docs.mantle.xyz/network/system-information/architecture.md), [Roadmap](https://docs.mantle.xyz/network/system-information/roadmap.md), [Arsia notice](https://docs.mantle.xyz/network/introduction/updated-notices/arsia-upgrade-mantles-new-fee-model-and-op-stack-alignment.md).
- **Current sequencer legal operator/roster and reconciliation of the 24-hour guide with the 3,600-L1-block mainnet configuration:** not found. Tried: [Network Roles](https://docs.mantle.xyz/network/for-node-operators/network-roles.md), [Node Introduction](https://docs.mantle.xyz/network/system-information/off-chain-system/node-introduction.md), [forced inclusion guide](https://docs.mantle.xyz/network/system-information/risk-management/forced-transaction-inclusion.md), [mainnet rollup configuration](https://github.com/mantle-xyz/networks/blob/f6e0f07ce813bd2f9965fceb7c32756b2f55d383/mainnet/rollup.json).
- **Attained L2BEAT numerical stage, stage-specific reasons, or dated stage changes during 2026-04-27 through 2026-10-27:** no confirmation in the inspected project sources. Tried: [Migration notice](https://docs.mantle.xyz/network/introduction/updated-notices/migration-of-data-availability-to-ethereum-blobs.md), [2026 roadmap](https://docs.mantle.xyz/network/system-information/roadmap.md), [Overview](https://docs.mantle.xyz/network/introduction/overviews.md). No L2BEAT page was used.
