Search

Search for projects by name or address

Katana logo
Katana

There are impactful changes and part of the information might be outdated.

Badges

About

Katana is a Layer 2 specializing on DeFi. Its unique architecture combines an OP stack base with Agglayer shared bridge interoperability and OP-Succinct SP1 validity proofs.



Badges

About

Katana is a Layer 2 specializing on DeFi. Its unique architecture combines an OP stack base with Agglayer shared bridge interoperability and OP-Succinct SP1 validity proofs.


Total
Canonically BridgedCanonically Bridged ValueCanonical
Natively MintedNatively Minted TokensNative
Externally BridgedExternally Bridged ValueExternal

ETH & derivatives
Stablecoins
BTC & derivatives
Other
Compare with other projects
Chain stats
Transfer size
Under $100
$100-$1K
$1K-$10K
$10K-$100K
Over $100K
Transfer type distribution

Past Day UOPS
Past Day Ops count
Max. UOPS
Past day UOPS/TPS Ratio
Compare with other projects

The section shows the operating costs that L2s pay to Ethereum.



Total cost
Avg cost per L2 UOP
Avg cost per day

Compare with other projects

This section shows how much data the project publishes to its data-availability (DA) layer over time. The project currently posts data toEthereumEthereum.



Data posted
Avg size per day
Avg size per L2 UOP

Compare with other projects

This section shows how "live" the project's operators are by displaying how frequently they submit transactions of the selected type. It also highlights anomalies - significant deviations from their typical schedule.

No ongoing anomalies detected

Avg. tx data subs. interval
Avg. proof subs. interval
Avg. state updates interval
Past 30 days anomalies
99% normal uptime

Last 30 day anomalies

All liveness anomalies detected for this project in the last 30 days, helping you review recent downtime and availability issues.

No State updates were performed for 5h 2m (from 2026 Sep 23, 15:52 UTC until 2026 Sep 23, 20:55 UTC). These typically occur every 1h 3m on average.

No Proof submissions were performed for 5h 2m (from 2026 Sep 23, 15:52 UTC until 2026 Sep 23, 20:55 UTC). These typically occur every 1h 3m on average.

Katana Launch

2025 Jul 1st

Katana is live on mainnet, integrated with Agglayer.

Learn more
Sequencer failureState validationData availabilityExit windowProposer failure
Sequencer failure
Self sequence
The self-sequencing delay is configured offchain and the nodeA software client that participates in the network. source and config are unverified.

In the event of a sequencerA party responsible for ordering and executing transactions on the rollup. The sequencer verifies transactions, compresses the data into a block, and submits the data related to it to enable state reconstruction to Ethereum L1 as a single transaction. The data can be either transaction data or state diffs. failure, users can force transactions to be included in the project’s chain by sending them to L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development.. There can be up to a 12h delay on this operation.

State validation
Validity proofs (ST, SN)

STARKs and SNARKs are zero knowledge proofs that ensure state correctness. STARKs proofs are wrapped in SNARKs proofs for efficiency. SNARKs require a trusted setupGeneration of a piece of data that must then be used for some cryptographic protocol to run. Generating this data requires some secret information. The "trust" comes from the fact the secret must be destroyed after the ceremony, otherwise cryptographic properties of the protocol could be broken. Once the data is generated, and the secrets are forgotten, no further participation from the creators of the ceremony is required. There are two types of trusted setups for SNARKs: (i) trusted setup per circuit where it is generated from scratch for each circuit, (ii) trusted universal setup per proving system where it can be used for several circuits..

Data availability
Onchain

All of the data needed for proof construction is published on Ethereum L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development..

Exit window
None
Even though there is a 3d Timelock for non-emergency upgrades, self-proposing is disabled.

There is no window for users to exit in case of an unwanted upgrade since the Security CouncilA Security Council is a sufficiently decentralized set of members that is able to upgrade a system. A properly set up Security Council consists of at least 8 members with a threshold greater than 75%. What 'sufficiently decentralized' means is fundamentally subjective and L2BEAT evaluates each case individually. A Security Council is allowed to instantly upgrade Stage 1 rollups. can remove the delay on upgrades.

Proposer failure
Cannot withdraw

Only the whitelisted proposers can publish state rootsA cryptographic hash succinctly representing a state using a Merkle tree. on L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development., so in the event of failure the withdrawals are frozen.

Katana
Katana is a
Stage 0
ZK Rollup.
The requirement for available nodeA software client that participates in the network. software is under review

Learn more about 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.

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 blobsThe data that a rollup publishes to its L1/data availability (DA) layer. They consist of the L2 transactions that are rolled up, along with some metadata. Blobs are introduced as a new transaction type within Ethereum with EIP-4844, and has rollup scaling specifically in mind. Blobs persist on Ethereum’s Beacon Chain ephemerally. or calldata. This ensures that it will be available for enough time.

  1. batchInbox - Etherscan address
Learn more about the DA layer here: Ethereum logoEthereum
Prover Architecture

Katana uses the Agglayer CDK in CDK-opgeth-zkrollup configuration. This combines an OP-Succinct zk rollupA blockchain that inherits consensus and data availability from another blockchain called L1. Rollups enable trust minimized bridges with the base layer via proof systems, either optimistic or zero-knowledge. A rollup without a bridge, or without considering the bridge, is called a sovereign rollup. base with Agglayer shared bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. interoperabilityRefers to the capability of different blockchain networks to communicate and share data. It enables the transfer of assets and information between blockchains, facilitating functionality and collaboration between blockchain ecosystems.. Both parts are verified in a single nested proof using the Succinct Sp1Verifier. This proof is called the pessimistic proof by Agglayer which contains 1) the bridge accounting proof proving only the secure accounting of the Agglayer shared bridge and can have 2) a reference to an ‘aggchain proof’, which can define additional programs to be proven. In the case of Katana, these are the op-succinct blockAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over. range proofs as an aggregated proof proving the state transitions of the L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups., resulting in a full validity proofThe output of a cryptographic proving system attesting to correct computation. ZK-Rollups use succinct validity proofs (also called zero-knowledge proofs) to prove a batch of rollup transactions and blocks were properly executed. Validity proofs are submitted to a verifier, such as an Ethereum smart contract, which accepts them if properly constructed. of L2 execution and agglayer bridge accounting.

  1. CDK-opgeth-zkrollup architecture
Validity proofs

Each update to the rollupA blockchain that inherits consensus and data availability from another blockchain called L1. Rollups enable trust minimized bridges with the base layer via proof systems, either optimistic or zero-knowledge. A rollup without a bridge, or without considering the bridge, is called a sovereign rollup. state must be accompanied by a ZK proof that ensures that the new state was derived by correctly applying a series of valid user transactions to the previous state. These proofs are then verified on Ethereum by a smart contract.

  • Funds can be stolen if the state transition validity proof cryptography is broken or implemented incorrectly.

  • Funds can be stolen if A malicious state transition is finalized by activating the permissioned optimistic mode.

  • Funds can be stolen if the proposer routes proof verification through a malicious or faulty verifier by specifying an unsafe route id.

  • Funds can be frozen if the AggLayerGateway is unable to route proof verification to a valid verifier.

  1. Op-Succinct architecture
Pessimistic Proofs

The pessimistic proofs that are used to prove correct accounting in the Agglayer shared bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. (minimum security guarantee) are using the SP1 zkVM by Succinct.

  • Funds can be stolen if the pessimistic proof cryptography is broken or implemented incorrectly.

PROVER

Trusted Setups

Onchain verifier

Used in

Mantle logoCelo logoX Layer logoKatana logoRISE logo

Projects used in

Search for projects used in

Onchain verifier

Used in

Mantle logoCelo logoX Layer logoKatana logoRISE logo

Projects used in

Search for projects used in

Program Hashes

Name
Hash
Repository
Verification
Used in
0x00d6...0c89
Katana logo
0x1f08...3b8f
Katana logo
0x713f...fa1f
Katana logo
0x374e...dac6
Katana logo
0x6e38...1b53
Katana logo
0x7767...6f70
Katana logo
0x679b...7915
Katana logo
0x00ef...cc30
X Layer logoKatana logoLumia Prism logoHaust Network logoPolygon zkEVM logo

Projects used in

Search for projects used in

0x0000...b639
X Layer logoKatana logoLumia Prism logoHaust Network logoPolygon zkEVM logo

Projects used in

Search for projects used in

0x00d1...578e
X Layer logoKatana logoLumia Prism logoHaust Network logoPolygon zkEVM logo

Projects used in

Search for projects used in

A diagram of the upgrades and governance
A diagram of the upgrades and governance

The regular upgrade process for all system contracts (shared and L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups.-specific) starts at the PolygonAdminMultisig. For the shared contracts, they schedule a transaction that targets the ProxyAdmin via the Timelock, wait for 3d and then execute the upgrade. An upgrade of the Layer 2 specific rollupA blockchain that inherits consensus and data availability from another blockchain called L1. Rollups enable trust minimized bridges with the base layer via proof systems, either optimistic or zero-knowledge. A rollup without a bridge, or without considering the bridge, is called a sovereign rollup.- or validiumAn off-chain solution that uses validity proofs for settlement and publishes the data offchain, therefore requiring an additional trust assumption. contract requires first adding a new rollupType through the Timelock and the AgglayerManager (defining the new implementation and verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. contracts). Now that the rollupType is created, either the local admin or the PolygonAdminMultisig can immediately upgrade the local system contracts to it.

The PolygonSecurityCouncil can expedite the upgrade process by declaring an emergency state. This state pauses both the shared bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. and the AgglayerManager and allows for instant upgrades through the timelock. Accordingly, instant upgrades for all system contracts are possible with the cooperation of the SecurityCouncil. The emergency state has been activated 1 time(s) since inception.

Furthermore, the PolygonAdminMultisig is permissioned to manage the shared trusted aggregator (proposerIn the context of L2s, the actor that proposes a claimed state root on L1. The term is also used in the context of Ethereum to refer to the actor that proposes a new block. and proverAn entity that generates the cryptographic proof to convince the verifier that the statement is true. In a ZK-Rollup, the prover generates the ZK (validity) proof to submit to the verifier contract.) for all participating Layer 2s, deactivate the emergency state, obsolete rollupTypes and manage operational parameters and fees in the AgglayerManager directly. The local admin of a specific Layer 2 can manage their chain by choosing the trusted sequencerA party responsible for ordering and executing transactions on the rollup. The sequencer verifies transactions, compresses the data into a block, and submits the data related to it to enable state reconstruction to Ethereum L1 as a single transaction. The data can be either transaction data or state diffs., manage forced batches and set the data availabilityThe property of a rollup's data being reachable by any node retrieving the data that were rolled up and executed to reach the proposed state. Data availability (DA), specifically decoupling it from the rollup nodes themselves, is one of the preeminent factors which allows a rollup to scale securely. A rollup is faced with a decision of what to use as a DA layer to guarantee that any node can retrieve this data--permissionlessly under any circumstance. For this reason, using Ethereum for DA currently provides the strongest security guarantees. If data is stored somewhere other than a permissionless L1, then the project is not a rollup, but rather a validium or an optimium. config. Creating new Layer 2s (of existing rollupType) is outsourced to the PolygonCreateRollupMultisig but can also be done by the PolygonAdminMultisig. Finally, it can manage SP1 verification keys for pessimistic proofs and aggchain proofs, which defines the affected chains’ state validation. Custom non-shared bridge escrows have their custom upgrade admins listed in the permissions section.

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
47
Last upgrade
29d 13h ago
Avg upgrade interval
3mo 19d
2026 September 07, 15:05 UTC
2changes

Refresh config-derived discovery metadata at the main-branch block.

New and verified contracts

+ Status: CREATED
contract PreimageOracle (eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0) [opstack/PreimageOracle]
+++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.
+ Status: CREATED
contract MIPS (eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA) [opstack/MIPS]
+++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.
2026 September 07, 15:05 UTC
High severity
142changes

All OP-stack L1 contracts upgraded to the current OP stack release (Karst generation, same as the Superchain). The forked OptimismPortal2 still disables ETH and token bridging while allowing forced transactions. No risk related changes. Implementation diffs: - OptimismPortal2: https://disco.l2beat.com/diff/eth:0x5dEcbEEEFeCc5353355CD79A8fECC4c03F61ce8a/eth:0x3160738db14B27EAe2D0d1b622259010308f4C38 - SystemConfig: https://disco.l2beat.com/diff/eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED/eth:0x42Ad0173051225Ac784100e9acD43349707F4db9 - SuperchainConfig: https://disco.l2beat.com/diff/eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957/eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550 - DisputeGameFactory: https://disco.l2beat.com/diff/eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50/eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b - AnchorStateRegistry: https://disco.l2beat.com/diff/eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E/eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281 - L1CrossDomainMessenger: https://disco.l2beat.com/diff/eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0/eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0 - L1StandardBridge: https://disco.l2beat.com/diff/eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A/eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891 - L1ERC721Bridge: https://disco.l2beat.com/diff/eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9/eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e - OptimismMintableERC20Factory: https://disco.l2beat.com/diff/eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB/eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12 - DelayedWETH (new proxy, impl diff): https://disco.l2beat.com/diff/eth:0x33Dadc2d1aA9BB613A7AE6B28425eA00D44c6998/eth:0xE440CC08A71694C8229323803F59024E3144630e - PermissionedDisputeGame (replaced): https://disco.l2beat.com/diff/eth:0xA7A26BbA1191a064637d7B0b23896589F4e4d22D/eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e - MIPS (replaced): https://disco.l2beat.com/diff/eth:0x6463dEE3828677F6270d83d45408044fc5eDB908/eth:0xaCc005DCd857B401e4732E6F7837135A22825cfA - PreimageOracle (replaced): https://disco.l2beat.com/diff/eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3/eth:0x1E1d73536A081Ef2F355d29794547a9770Aeb1E0

contract L1ERC721Bridge (eth:0x15a32FCeA89617Ff450F094cDE102CCa46598B7F) [opstack/L1ERC721Bridge] {
+++ description: Used to bridge ERC-721 tokens from host chain to this chain.
sourceHashes.1:
- "0x1f65fda230b6d0df44e466b06418b2e12a401ef82c07521ad18d2f4ae6c70fb2"
+ "0xc5ed62b03fb7c1340609ace7ebb0c5bf8d43b1814b1ab4f10863bfa21d13b90b"
values.$implementation:
- "eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"
+ "eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e"
values.$pastUpgrades.5:
+ ["2026-09-01T06:51:23.000Z","0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033",["eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9"]]
values.$pastUpgrades.6:
+ ["2026-09-01T06:51:23.000Z","0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033",["eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"]]
values.$pastUpgrades.7:
+ ["2026-09-01T06:51:23.000Z","0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033",["eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e"]]
values.$upgradeCount:
- 5
+ 8
values.version:
- "2.9.0"
+ "2.9.1"
implementationNames.eth:0x74f1aC50EB0BE98853805D381C884f5f9abDEcf9:
- "L1ERC721Bridge"
implementationNames.eth:0x9F164f1d02A81e06D639E55F65a87f0070E3Cb2e:
+ "L1ERC721Bridge"
}
contract ProxyAdmin (eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832) [global/ProxyAdmin] {
+++ description: None
directlyReceivedPermissions.5:
+ {"permission":"upgrade","from":"eth:0x99e1fe97767683bbba69fF570b4BbEd7C3e0649e","role":"admin"}
directlyReceivedPermissions.7:
- {"permission":"upgrade","from":"eth:0xb41151Bf2B989d3771caBd5BCb5C435949543322","role":"admin"}
}
- Status: DELETED
contract PreimageOracle (eth:0x1fb8cdFc6831fc866Ed9C51aF8817Da5c287aDD3) [opstack/PreimageOracle]
+++ description: The PreimageOracle contract is used to load the required data from L1 for a dispute game.
contract L1CrossDomainMessenger (eth:0x2008A6Ba8CAF85AaFAe7880664Dfe681D533ac2E) [opstack/L1CrossDomainMessenger] {
+++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function.
sourceHashes.1:
- "0x1f2c13ad1144ce6548e578b834c33b0d65b1564aeb0d5c708ed4e7fb50535cc6"
+ "0x694050f95b40e6d92ee91ca0f60acb9c4a74d1b0325c33fd4bd7445fde90e806"
values.$implementation:
- "eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"
+ "eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0"
values.$pastUpgrades.5:
+ ["2026-09-01T06:51:23.000Z","0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033",["eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0"]]
values.$pastUpgrades.6:
+ ["2026-09-01T06:51:23.000Z","0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033",["eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"]]
values.$pastUpgrades.7:
+ ["2026-09-01T06:51:23.000Z","0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033",["eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0"]]
values.$upgradeCount:
- 5
+ 8
values.version:
- "2.11.0"
+ "2.11.1"
implementationNames.eth:0xb686F13AfF1e427a1f993F29ab0F2E7383729FE0:
- "L1CrossDomainMessenger"
implementationNames.eth:0x59D497530b00062f40950ba8EaB88868bf7F86f0:
+ "L1CrossDomainMessenger"
}
contract OptimismPortal2 (eth:0x250D30c523104bf0a06825e7eAdE4Dc46EdfE40E) [katana/OptimismPortal2] {
+++ description: Stores the configuration of the OP stack components and proof system. Specifies which game type is used for state validation, which currently is the PermissionedDisputeGame. This contract is modified to disable asset bridging, but it allows forced transactions.
sourceHashes.1:
- "0xfcecb325a86c39482f8e9d29272f25089eec0b5fbefe21444fd1ea690c911f0c"
+ "0xcdca45f93efdef12515a42464aa744c87143d83208163ef6a97317da454c7eac"
values.$implementation:
- "eth:0x5dEcbEEEFeCc5353355CD79A8fECC4c03F61ce8a"
+ "eth:0x3160738db14B27EAe2D0d1b622259010308f4C38"
values.$pastUpgrades.9:
+ ["2026-09-01T06:51:23.000Z","0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033",["eth:0x97cEbbf8959e2A5476fbe9B98A21806Ec234609B"]]
values.$pastUpgrades.10:
+ ["2026-09-01T06:51:23.000Z","0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033",["eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"]]
values.$pastUpgrades.11:
+ ["2026-09-01T06:51:23.000Z","0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033",["eth:0xe89F13c5ee4033B2D3cD76C9d6958eFBfe26D3C2"]]
values.$pastUpgrades.12:
+ ["2026-09-01T06:51:23.000Z","0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033",["eth:0x3160738db14B27EAe2D0d1b622259010308f4C38"]]
values.$upgradeCount:
- 9
+ 13
values.version:
- "agg3.15.0"
+ "5.6.1-agglayer"
implementationNames.eth:0x5dEcbEEEFeCc5353355CD79A8fECC4c03F61ce8a:
- "OptimismPortal2"
implementationNames.eth:0x3160738db14B27EAe2D0d1b622259010308f4C38:
+ "OptimismPortal2"
}
contract SuperchainConfig (eth:0x2F439B95fa789C5d3a5C99cc70EB3ee83D08a811) [opstack/SuperchainConfigFake_expiry] {
+++ description: This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.
template:
- "opstack/SuperchainConfigNoGuard"
+ "opstack/SuperchainConfigFake_expiry"
sourceHashes.1:
- "0x5fb525d1572fb90d060d122143b915059cbff39e0298b345857fd4267d7f6b28"
+ "0x2cd597b7305a446a1df355e6909cbd75fe38aa045faf4876a8e5496eebc1734f"
description:
- "This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages the `PAUSED_SLOT`, a boolean value indicating whether the local chain is paused, and `GUARDIAN_SLOT`, the address of the guardian which can pause and unpause the system. Since the OptimismPortal is not used for state root management in this setup, the guardian role and pausing may be inconsequential."
+ "This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched."
values.$implementation:
- "eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957"
+ "eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"
values.$pastUpgrades.6:
+ ["2026-09-01T06:51:23.000Z","0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033",["eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"]]
values.$pastUpgrades.7:
+ ["2026-09-01T06:51:23.000Z","0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033",["eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550"]]
values.$upgradeCount:
- 6
+ 8
values.version:
- "2.4.0"
+ "2.4.2"
values.pauseExpiryFmt:
+ "3mo 1d"
implementationNames.eth:0xb08Cc720F511062537ca78BdB0AE691F04F5a957:
- "SuperchainConfig"
implementationNames.eth:0xE4F9779ab53070a55db24dFAeFf9AF147c6ED550:
+ "SuperchainConfig"
category.name:
- "Spam"
+ "Shared Infrastructure"
category.priority:
- -1
+ 4
fieldMeta:
+ {"paused":{"severity":"HIGH"}}
}
- Status: DELETED
contract MIPS (eth:0x6463dEE3828677F6270d83d45408044fc5eDB908) [opstack/MIPS]
+++ description: The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.
contract L1StandardBridge (eth:0x98906C3f90A06B5484DD67bf32938815d2993dBC) [opstack/L1StandardBridge] {
+++ description: The main entry point to deposit ERC20 tokens from host chain to this chain.
sourceHashes.1:
- "0xcacd38e7b52353ad3463da40b7e7a29b028f95500a82590d2b8f8ffd26b83f6d"
+ "0x6469155800e1489607c8fa062550a362dfa8978885df4714ca4653e5f3d25b0c"
values.$implementation:
- "eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A"
+ "eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891"
values.version:
- "2.8.0"
+ "2.8.2"
implementationNames.eth:0x61525EaaCDdB97D9184aFc205827E6A4fd0Bf62A:
- "L1StandardBridge"
implementationNames.eth:0xB37a11AadF167B2F0b8dD85372De4bC66CD4A891:
+ "L1StandardBridge"
}
- Status: DELETED
contract PermissionedDisputeGame (eth:0xA7A26BbA1191a064637d7B0b23896589F4e4d22D) [opstack/PermissionedDisputeGame]
+++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.
contract OptimismMintableERC20Factory (eth:0xA84C37cD0b9bA1B43276C11976DBE9d1344C7f4E) [opstack/OptimismMintableERC20Factory] {
+++ description: A helper contract that generates OptimismMintableERC20 contracts on the network it's deployed to. OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed to allow the L1StandardBridge contracts to mint and burn tokens. This makes it possible to use an OptimismMintableERC20 as this chain's representation of a token on the host chain, or vice-versa.
sourceHashes.1:
- "0x307d4cb83e682629880fe9bb874a188805e3b93cb11a2cbf80095975f1e5b04e"
+ "0x11b0ed6f15cabf613492a8d54c55304a17cf60f4fd94a655d7e720d4556906d0"
values.$implementation:
- "eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"
+ "eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12"
values.$pastUpgrades.3:
+ ["2026-09-01T06:51:23.000Z","0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033",["eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB"]]
values.$pastUpgrades.4:
+ ["2026-09-01T06:51:23.000Z","0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033",["eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"]]
values.$pastUpgrades.5:
+ ["2026-09-01T06:51:23.000Z","0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033",["eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12"]]
values.$upgradeCount:
- 3
+ 6
values.version:
- "1.10.2"
+ "1.11.0"
values.proxyAdmin:
+ "eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832"
values.proxyAdminOwner:
+ "eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC"
implementationNames.eth:0x8ee6fB13c6c9a7e401531168E196Fbf8b05cEabB:
- "OptimismMintableERC20Factory"
implementationNames.eth:0xaAbEA75Da509fA518Fd8a91Eae4BE5813B829b12:
+ "OptimismMintableERC20Factory"
}
contract AnchorStateRegistry (eth:0xaA8a62563CFe4E36118ED479B5486F503b438376) [opstack/AnchorStateRegistry_post20] {
+++ description: Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.
template:
- "opstack/AnchorStateRegistry_post13"
+ "opstack/AnchorStateRegistry_post20"
sourceHashes.1:
- "0xf808a203af41f7932eb8e39985e56a7c75c940a260fb17d76d1003a3793281b5"
+ "0x10f64124093daab87c84d97148854054f9622bf86e09e98d496f123be3368122"
description:
- "Contains the latest confirmed state root that can be used as a starting point in a dispute game. It specifies which game type can be used for withdrawals, which currently is the PermissionedDisputeGame."
+ "Contains the latest confirmed state root that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation."
values.$implementation:
- "eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E"
+ "eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281"
values.$pastUpgrades.1:
+ ["2026-09-01T06:51:23.000Z","0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033",["eth:0x36398155Cd17cfe804F69b233eDDA800DD4D5aA5"]]
values.$pastUpgrades.2:
+ ["2026-09-01T06:51:23.000Z","0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033",["eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"]]
values.$pastUpgrades.3:
+ ["2026-09-01T06:51:23.000Z","0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033",["eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281"]]
values.$upgradeCount:
- 1
+ 4
values.absolutePrestateFromGame:
- "eth:0x0000000000000000000000000000000000000000"
values.challengePeriodFromOracle:
- "eth:0x0000000000000000000000000000000000000000"
values.oracleFromVm:
- "eth:0x0000000000000000000000000000000000000000"
values.version:
- "3.5.0"
+ "3.9.0"
values.vmFromGame:
- "eth:0x0000000000000000000000000000000000000000"
values.wethFromGame:
- "eth:0x0000000000000000000000000000000000000000"
values.getStartingAnchorRoot:
+ {"root":"0xdead000000000000000000000000000000000000000000000000000000000000","l2SequenceNumber":0}
fieldMeta.retirementTimestamp:
+ {"severity":"HIGH"}
fieldMeta.disputeGameFinalityDelaySeconds:
+ {"severity":"HIGH"}
implementationNames.eth:0xeb69cC681E8D4a557b30DFFBAd85aFfD47a2CF2E:
- "AnchorStateRegistry"
implementationNames.eth:0x8F40Cc98D694AB986F026C5383A181FCc9B6B281:
+ "AnchorStateRegistry"
usedTypes.0.arg.621:
+ "AggregateVerifier"
usedTypes.0.arg.8:
+ "FaultDisputeGame"
}
- Status: DELETED
contract DelayedWETH (eth:0xb41151Bf2B989d3771caBd5BCb5C435949543322) [opstack/DelayedWETH]
+++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.
contract SystemConfig (eth:0xb6e1f8B589A14B79DDD3aD7F0589AB548c70C174) [opstack/SystemConfig] {
+++ description: Contains configuration parameters such as the Sequencer address, gas limit on this chain and the unsafe block signer address.
sourceHashes.1:
- "0xaa1b3bedab4e63198240e9dea4503f0e615e4d18a545961c9f11b72143279fbc"
+ "0x3d8e7cdbbdbf274bba0a11a060b01d5a50e3a478683af9ec079874d1758576d6"
values.$implementation:
- "eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED"
+ "eth:0x42Ad0173051225Ac784100e9acD43349707F4db9"
values.$pastUpgrades.6:
+ ["2026-09-01T06:51:23.000Z","0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033",["eth:0xd392c27B84b1cA776528F2704BC67B82a62132d2"]]
values.$pastUpgrades.7:
+ ["2026-09-01T06:51:23.000Z","0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033",["eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"]]
values.$pastUpgrades.8:
+ ["2026-09-01T06:51:23.000Z","0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033",["eth:0x42Ad0173051225Ac784100e9acD43349707F4db9"]]
values.$upgradeCount:
- 6
+ 9
values.getAddresses.delayedWETH:
+ "eth:0x99e1fe97767683bbba69fF570b4BbEd7C3e0649e"
values.getAddresses.opcm:
+ "eth:0x6FD5B86B93A0405c1eF082ED6Ed3b28e94f022f4"
values.version:
- "3.11.0"
+ "3.14.2"
values.DELAYED_WETH_SLOT:
+ "0x51547f31a231e1007dca33017faa3da20d959b95087c588a7768bfb922fd58ff"
values.delayedWETH:
+ "eth:0x99e1fe97767683bbba69fF570b4BbEd7C3e0649e"
values.isCustomGasToken:
+ false
values.lastUsedOPCM:
+ "eth:0x6FD5B86B93A0405c1eF082ED6Ed3b28e94f022f4"
values.lastUsedOPCMVersion:
+ "7.1.17"
values.OPCM_SLOT:
+ "0x99f45962df4bc30de8d4c3c6d1ffc0f100edce16e80c7a5768b6d55ca463ff42"
implementationNames.eth:0x2fA28989fc559836E9d66dFf3010C7F7f41c65ED:
- "SystemConfig"
implementationNames.eth:0x42Ad0173051225Ac784100e9acD43349707F4db9:
+ "SystemConfig"
}
contract Polygon Multisig 2 (eth:0xd0673F989bc3BA9314d0AAF28BfC84e99B7898CC) [GnosisSafe] {
+++ description: None
receivedPermissions.9:
+ {"permission":"upgrade","from":"eth:0x99e1fe97767683bbba69fF570b4BbEd7C3e0649e","role":"admin","via":[{"address":"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832"}]}
receivedPermissions.11:
- {"permission":"upgrade","from":"eth:0xb41151Bf2B989d3771caBd5BCb5C435949543322","role":"admin","via":[{"address":"eth:0x19DbD16f0a8e706D817B7e3b7bcF72917Ebb8832"}]}
}
contract DisputeGameFactory (eth:0xe06278351d120288eDfCB963F934113Ca3C21AFe) [opstack/DisputeGameFactory_v2] {
+++ description: The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation.
template:
- "opstack/DisputeGameFactory"
+ "opstack/DisputeGameFactory_v2"
sourceHashes.1:
- "0x7daf6049672fd2ab7dc8dd3b6287e1d0a40958346c5e2857c4616a73dcac4da6"
+ "0x8912e655e26f51d4384fc950df847ae65bccf1f5ec5458642402f385c3dadf78"
description:
- "The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them."
+ "The dispute game factory allows the creation of dispute games, used to propose state roots and eventually challenge them. This variant exposes per-type reads only; the legacy array views (gameImpls[], initBonds[]) were removed in the new implementation."
values.$implementation:
- "eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50"
+ "eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b"
values.$pastUpgrades.4:
+ ["2026-09-01T06:51:23.000Z","0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033",["eth:0xc040F392E52Cb6970CA8E110c280fE24E07C5e2c"]]
values.$pastUpgrades.5:
+ ["2026-09-01T06:51:23.000Z","0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033",["eth:0x2476c911E6D4D9411E677D8Faf15a64ac1fDEEe8"]]
values.$pastUpgrades.6:
+ ["2026-09-01T06:51:23.000Z","0xdc33ac095940c214c81adf08eda36e0a14d97f397597f4d8e5d2fbbc4cd20033",["eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b"]]
values.$upgradeCount:
- 4
+ 7
values.challengerFromDGF:
- "UNRESOLVED"
+ "eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746"
values.game2000:
- "eth:0x0000000000000000000000000000000000000000"
values.gameImpls:
- ["eth:0x0000000000000000000000000000000000000000","eth:0xA7A26BbA1191a064637d7B0b23896589F4e4d22D","eth:0x0000000000000000000000000000000000000000","eth:0x0000000000000000000000000000000000000000","eth:0x0000000000000000000000000000000000000000","eth:0x0000000000000000000000000000000000000000","eth:0x0000000000000000000000000000000000000000"]
values.initBonds:
- [0,0,0,0,0]
values.proposerFromDGF:
- "UNRESOLVED"
+ "eth:0x4A6f5889409Bf4Bf3Bff0Fef585D7A29FdA64258"
values.version:
- "1.3.0"
+ "1.6.1"
values.wethFromDGF:
- "UNRESOLVED"
+ "eth:0x99e1fe97767683bbba69fF570b4BbEd7C3e0649e"
+++ severity: HIGH
values.game0:
+ "eth:0x0000000000000000000000000000000000000000"
+++ severity: HIGH
values.game1:
+ "eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e"
+++ severity: HIGH
values.game621:
+ "eth:0x0000000000000000000000000000000000000000"
+++ severity: HIGH
values.game8:
+ "eth:0x0000000000000000000000000000000000000000"
values.game8Args:
+ "0x"
values.game8Vm:
+ "UNRESOLVED"
values.initBondGame0:
+ 0
values.initBondGame1:
+ 0
values.initBondGame621:
+ 0
values.initBondGame8:
+ 0
fieldMeta.gameImpls:
- {"severity":"HIGH"}
fieldMeta.game2000:
- {"severity":"HIGH"}
fieldMeta.game621:
+ {"severity":"HIGH"}
fieldMeta.game0:
+ {"severity":"HIGH"}
fieldMeta.game1:
+ {"severity":"HIGH"}
fieldMeta.game8:
+ {"severity":"HIGH"}
implementationNames.eth:0x74Fac1D45B98bae058F8F566201c9A81B85C7D50:
- "DisputeGameFactory"
implementationNames.eth:0x72B971717E088B59F26d4236BE222ADB6ACD393b:
+ "DisputeGameFactory"
usedTypes.0:
+ {"typeCaster":"SliceAddress","arg":{"offset":32}}
}
contract Safe (eth:0xFA58659F64a393A6E1A548ABc70Ad2CfE1e8f9Cb) [GnosisSafe] {
+++ description: None
values.$members.0:
+ "eth:0x28260fD38F737e98F1599eCd385d4eB13C5A7A1f"
values.multisigThreshold:
- "2 of 10 (20%)"
+ "2 of 11 (18%)"
}
+ Status: CREATED
contract DelayedWETH (eth:0x99e1fe97767683bbba69fF570b4BbEd7C3e0649e) [opstack/DelayedWETH]
+++ description: Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.
+ Status: CREATED
contract PermissionedDisputeGame (eth:0xe1dFFCBE4e22B813F26d2106D943C102e7cAb87e) [opstack/PermissionedDisputeGame]
+++ description: Same as FaultDisputeGame, but only two permissioned addresses are designated as proposer and challenger.
2026 August 25, 08:10 UTC
High severity
6changes

New selected op succinct config.

contract AggchainFEP (eth:0x100d3ca4f97776A40A7D93dB4AbF0FEA34230666) [katana/AggchainFEP_post035] {
+++ description: The main system contract defining the katana Aggchain logic. This contract, based on the OP-Succinct L2OutputOracle, supports validity proofs and OP stack outputRoots (L2 state roots) are saved here.
values.selectedOpSuccinctConfig.aggregationVkey:
- "0x0000000000000000000000000000000000000000000000000000000000000000"
+ "0x00d68eb096f4c731512562f7a06e6bba104dbcb959261edd3eb3ec542c200c89"
values.selectedOpSuccinctConfig.rangeVkeyCommitment:
- "0x0000000000000000000000000000000000000000000000000000000000000000"
+ "0x1f089f9d1cd3f727775788003d3e496037d3625e2e9de6e5005f1e9707ba3b8f"
values.selectedOpSuccinctConfig.rollupConfigHash:
- "0x0000000000000000000000000000000000000000000000000000000000000000"
+ "Katana OP Succinct v3.12.0 rollup config (Kona v1.6.0)"
+++ description: currently enforced OpSuccinctConfig. update the call handler for the full config if this changes.
+++ severity: HIGH
values.selectedOpSuccinctConfigName:
- "0xe3fbe1170998c9f380d29247864dd07f2f17367a23ae5e0fa409ebd371d97d6f"
+ "0x0f30c0b6846b034a146a47c5185fb9a4321df3569376773238ef30c831019190"
}
contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {
+++ description: None
values.$members.0:
+ "eth:0x9402c42dB162d5a0927c032136f40Cc9C71853F2"
values.multisigThreshold:
- "4 of 10 (40%)"
+ "4 of 11 (36%)"
}
2026 July 23, 13:50 UTC
3changes

One Polygon Labs Engineering/Security Multisig signer was rotated and another removed, changing it from 2-of-8 to 2-of-7.

contract Polygon Labs Engineering/Security Multisig (eth:0x9d851f8b8751c5FbC09b9E74E6e68E9950949052) [GnosisSafe] {
+++ description: None
values.$members.1:
- "eth:0xe0e8e6bBDef7bbcf8dF1F5Ac0ab9906BFe991d8B"
+ "eth:0xFB2a738AE435610354b132c4a4ee647558f663eb"
values.$members.6:
- "eth:0xED7cC82235A7757702475c8f77c7830c095FB5a2"
values.multisigThreshold:
- "2 of 8 (25%)"
+ "2 of 7 (29%)"
}
2026 July 21, 08:41 UTC
5changes

4 multisig signers added.

contract Safe (eth:0xFA58659F64a393A6E1A548ABc70Ad2CfE1e8f9Cb) [GnosisSafe] {
+++ description: None
values.$members.0:
+ "eth:0x9f02595fBFD199C4cBC02878fc9B2b2E07b0840C"
values.$members.1:
+ "eth:0x1319279d6d54dB0883F7bAF822191c7184Db0c3d"
values.$members.2:
+ "eth:0x6Ab87a62E250A5EB09a53Fca832B9Bda480c3890"
values.$members.3:
+ "eth:0x573D7a729cfcF20B81D70732d625Ae31549B8b91"
values.multisigThreshold:
- "2 of 6 (33%)"
+ "2 of 10 (20%)"
}

The system has a centralized operator

Only a trusted sequencerA party responsible for ordering and executing transactions on the rollup. The sequencer verifies transactions, compresses the data into a block, and submits the data related to it to enable state reconstruction to Ethereum L1 as a single transaction. The data can be either transaction data or state diffs. is allowed to submit transaction batches. A mechanism for users to submit their own batches is currently disabled. Only a trusted proposerIn the context of L2s, the actor that proposes a claimed state root on L1. The term is also used in the context of Ethereum to refer to the actor that proposes a new block. can propose and prove new state rootsA cryptographic hash succinctly representing a state using a Merkle tree..

  • Funds can be frozen if the permissioned proposer fails to publish state roots to the L1.

  1. batcherHash - Etherscan address

Users can force any transaction

Because the state of the system is based on transactions submitted on the underlying host chain and anyone can submit their transactions there it allows the users to circumvent censorship by interacting with the smart contract on the host chain directly. The self-sequencing delay is configured offchain and the nodeA software client that participates in the network. source and config are unverified.

  1. depositTransaction() in OptimismPortal2 - Etherscan source code

Regular messaging

The user initiates L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups.->L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. messages by submitting a regular transaction on this chain. When the blockAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over. containing that transaction is settled, the message becomes available for processing on L1. ZK proofs are required to settle blocks.

Shared bridge and Pessimistic Proofs

Polygon Agglayer uses a shared bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. escrow for Rollups, Validiums and external chains that opt in to participate in interoperabilityRefers to the capability of different blockchain networks to communicate and share data. It enables the transfer of assets and information between blockchains, facilitating functionality and collaboration between blockchain ecosystems.. Each participating chain needs to provide zk proofs to access any assets in the shared bridge. In addition to the full execution proofs that are used for the state validation of Rollups and Validiums, accounting proofs over the bridges state (Polygon calls them ‘Pessimistic Proofs’) are used by external chains (‘cdk-sovereign’ and aggchains). Using the SP1 zkVMA special type of zk proving system that proves the correctness of state transitions of a virtual machine. Computation is represented by a program in a specific instruction language, it can have private and public inputs and public outputs. Most of zkVMs are STARKs. by Succinct, projects without a full proof systemThe infrastructure that allows projects to verify their state transitions. It is composed by onchain verifiers and offchain provers. The main two flavors are optimistic and ZK proof systems, but they can be combined in a hybrid model. In general though, if a system is able to accept state roots optimistically, even if it has a ZK component, it is considered an optimistic proof system. on Ethereum or custom proof systems are able to share the bridge with the zkEVM Agglayer projects.

  • Funds can be lost if the accounting proof system for the bridge (pessimistic proofs, SP1) is implemented incorrectly.

  1. Pessimistic Proof - Polygon Knowledge Layer
  2. Etherscan: AgglayerManager.sol - verifyPessimisticTrustedAggregator() function
A dashboard to explore contracts and permissions
Go to Disco
Disco UI Banner

Ethereum

Actors:

PolygonAdminMultisig0x242d…3e21

A Multisig with 5/9 threshold.

  • Can upgrade with 3d delay
    • AgglayerGateway
    • AgglayerBridge
    • AgglayerManager
    • AgglayerGER
  • Can interact with AgglayerGateway
    • add new routes from proof selector to verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. / pessimisticVkey for pessimistic proofs with 3d delay
    • add or update default aggchain verification keys (aggchainVkey) for any given selectors
    • change the aggchainSigners and threshold (a multisig used for permissioned state transitions)
    • freeze routes from proof selector to verifier / pessimisticVkey for pessimistic proofs
  • Can interact with AgglayerBridge
    • upgrade the implementation of wrapped tokens deployed by the bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. with 3d delay
  • Can interact with AgglayerManager
    • deploy new projects that use predefined rollupA blockchain that inherits consensus and data availability from another blockchain called L1. Rollups enable trust minimized bridges with the base layer via proof systems, either optimistic or zero-knowledge. A rollup without a bridge, or without considering the bridge, is called a sovereign rollup. types (implementations) and connect them or other Agglayer chains to the PolygonRollupManager
    • manage all access control roles, add new rollup types (which are implementation contracts that can then be upgraded to by connected projects), update any connected projects to new rollup types, migrate to pessimistic proofs and rollback batches, connect existing rollups to the PolygonRollupManager with 3d delay
    • manage parameters like fees for all connected projects, set the trusted aggregator, stop the emergency state, update projects and obsolete rollup types
  • Can interact with Timelock
    • propose, cancel and execute transactions in the timelock, manage all access control roles and change the minimum delay with 6d delay or with 3d delay
Used in:
AgglayerManager0x5132…7aB2

The central shared managing contract for Polygon Agglayer chains. This contract coordinates chain deployments and proof validation. All connected Layer 2s can be globally paused by activating the ‘Emergency State’. This can be done by the PolygonSecurityCouncil or by anyone after 1 week of inactive verifiers.

  • Can upgrade with no delay
    • AggchainFEP
Used in:
Katana Foundation Engineering/Security Multisig0x4e98…C38a

A Multisig with 2/5 threshold.

  • Can interact with SuperchainConfig
    • pause the OptimismPortal and L1CrossDomainMessenger of Katana (pauses expire automatically after the configured pause expiry)
PolygonSecurityCouncil0x37c5…Dcb6

A Multisig with 6/8 threshold.

  • Can interact with AgglayerManager
    • activate the emergency state in the PolygonRollupManager and in the shared bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. immediately, effectively pausing all projects connected to them and making system contracts instantly upgradable
Used in:
PolygonCreateRollupMultisig0xC74e…79dB

A Multisig with 3/5 threshold.

  • Can interact with AgglayerManager
    • deploy new projects that use predefined rollupA blockchain that inherits consensus and data availability from another blockchain called L1. Rollups enable trust minimized bridges with the base layer via proof systems, either optimistic or zero-knowledge. A rollup without a bridge, or without considering the bridge, is called a sovereign rollup. types (implementations) and connect them or other Agglayer chains to the PolygonRollupManager
Used in:
Katana vaultBridge Multisig 10x2De2…40ec

A Multisig with 2/3 threshold.

  • Can upgrade with no delay
    • vbWBTC
    • vbETH
    • vbUSDT
Polygon Labs Engineering/Security Multisig0x9d85…9052

A Multisig with 2/7 threshold. Member of Katana vaultBridge Multisig 1, Katana vaultBridge Multisig 2, Katana vaultBridge Multisig 3.

  • Can upgrade with no delay
    • MigrationManager
Katana vaultBridge Multisig 20xA8C3…C5Ff

A Multisig with 2/3 threshold.

  • Can upgrade with no delay
    • vbUSDS
Katana vaultBridge Multisig 30xf4F2…C04E

A Multisig with 2/3 threshold.

  • Can upgrade with no delay
    • vbUSDC
Yearn Strategist Multisig0x1638…0ff7

A Multisig with 3/8 threshold. Member of Katana vaultBridge Multisig 2.

A Multisig with 1/4 threshold.

A Multisig with 2/4 threshold. Member of Safe.

Katana yieldRecipient Mulsitig0x67C9…3756

A Multisig with 2/6 threshold. Member of Safe.

Katana Steakhouse Financial / Morpho Multisig0x827e…eCdB

A Multisig with 2/7 threshold. Member of Katana vaultBridge Multisig 3.

  • Can interact with SystemConfig
    • Allowed to commit transactions from the current layer to the host chain
  • Can interact with AggchainFEP
    • sign state transitions (replaces state validation for this aggchain)
  • Can interact with AgglayerManager
    • Permissioned to post new state rootsA cryptographic hash succinctly representing a state using a Merkle tree. and global exit roots accompanied by ZK proofs
Used in:
There are impactful changes to the following permissions, and part of the information might be outdated.
Polygon Multisig 20xd067…98CC

A Multisig with 3/5 threshold. Member of Katana vaultBridge Multisig 1, Katana vaultBridge Multisig 2, Katana vaultBridge Multisig 3.

  • Can upgrade with no delay
    • L1ERC721Bridge
    • L1CrossDomainMessenger
    • OptimismPortal2
    • SuperchainConfig
    • L1StandardBridge
    • DelayedWETH
    • OptimismMintableERC20Factory
    • AnchorStateRegistry
    • SystemConfig
    • DisputeGameFactory
  • Can interact with AggchainFEP
    • change verification keys (aggregationVkey, rangeVkeyCommitment, aggchainVkey) and the rollupConfigHash, manage multisig signers for permissioned state transitions and change critical configs for state validation
    • toggle the ‘optimisticMode’
  • Can interact with SystemConfig
    • it can update the preconfer address, the batch submitter (SequencerA party responsible for ordering and executing transactions on the rollup. The sequencer verifies transactions, compresses the data into a block, and submits the data related to it to enable state reconstruction to Ethereum L1 as a single transaction. The data can be either transaction data or state diffs.) address and the gasA virtual fuel used to execute smart contracts on a rollup. The EVM (or other VM within the rollup) uses an accounting mechanism to correspond the consumption of gas to the consumption of computing resources, and to limit the consumption of computing resources. configuration of the system
  • Can interact with DisputeGameFactory
    • set the dispute game implementation and initial bond for any game type
  • Can interact with AddressManager
    • set and change address mappings

Katana

Actors:

GnosisSafeL20x4e98…C38a

A Multisig with 2/5 threshold.

  • Can upgrade with 12h delay
    • AgglayerBridgeL2
    • GlobalExitRootManagerL2SovereignChain
  • Can interact with AgglayerBridgeL2
    • manage token mappings and deployments
    • own and upgrade default L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups. token contracts deployed by the bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge.
    • pause the bridge
    • unpause the bridge
  • Can interact with GlobalExitRootManagerL2SovereignChain
    • manage ‘claimed’ status of global deposit indexes (can freeze bridge transactions), remove global exit roots (used for L2 deposits)
    • roll back or insert leaves into the local exit tree (LET) that enables withdrawals from the L2. (can steal)
  • Can interact with L2Timelock
    • propose, cancel and execute transactions in the timelock, manage all access control roles and change the minimum delay with 12h delay

A Multisig with 3/6 threshold.

  • Can interact with SequencerFeeVault
    • receive fees
  • Can interact with BaseFeeVault
    • receive fees
  • Can interact with L1FeeVault
    • receive fees
  • Can interact with GlobalExitRootManagerL2SovereignChain
    • update the global exit root (GER) that is used for L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups. deposits
There are impactful changes to the following permissions, and part of the information might be outdated.

A Multisig with 3/5 threshold.

  • Can upgrade with no delay
    • DeployerWhitelist
    • L2CrossDomainMessenger
    • GasPriceOracle
    • L2StandardBridge
    • SequencerFeeVault
    • OptimismMintableERC20Factory
    • L1BlockNumber
    • L2ERC721Bridge
    • L1Block
    • L2ToL1MessagePasser
    • OptimismMintableERC721Factory
    • ProxyAdmin
    • BaseFeeVault
    • L1FeeVault
    • OperatorFeeVault
    • SchemaRegistry
    • EAS
  • Can upgrade with 12h delay
    • AgglayerBridgeL2
    • GlobalExitRootManagerL2SovereignChain
  • Can interact with L2Timelock
    • propose, cancel and execute transactions in the timelock, manage all access control roles and change the minimum delay with 12h delay
BaseFeeVault0x4200…0019

Collects EIP-1559 base fees

  • Can interact with OperatorFeeVault
    • receive fees
A dashboard to explore contracts and permissions
Go to Disco
Disco UI Banner
Note: Contracts presented in this section had their implementations updated since the last time our team looked at this project. The information presented may be inaccurate.
A diagram of the smart contract architecture
A diagram of the smart contract architecture

Ethereum

Stores the configuration of the OP stack components and proof systemThe infrastructure that allows projects to verify their state transitions. It is composed by onchain verifiers and offchain provers. The main two flavors are optimistic and ZK proof systems, but they can be combined in a hybrid model. In general though, if a system is able to accept state roots optimistically, even if it has a ZK component, it is considered an optimistic proof system.. Specifies which game type is used for state validation, which currently is the PermissionedDisputeGame. This contract is modified to disable asset bridging, but it allows forced transactions.

  • Roles:
    • admin: ProxyAdmin; ultimately Polygon Multisig 2

Contains configuration parameters such as the SequencerA party responsible for ordering and executing transactions on the rollup. The sequencer verifies transactions, compresses the data into a block, and submits the data related to it to enable state reconstruction to Ethereum L1 as a single transaction. The data can be either transaction data or state diffs. address, gas limitThe maximum amount of gas a transaction or block may consume. on this chain and the unsafe blockAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over. signer address.

  • Roles:
    • admin: ProxyAdmin; ultimately Polygon Multisig 2
    • batcherHash: EOA 1
    • owner: Polygon Multisig 2
Implementation used in:

This is NOT the shared SuperchainConfig contract of the OP stack Superchain but rather a local fork. It manages pause states for each chain connected to it, as well as a global pause state for all chains. The guardian role can pause either separately, but each pause expires after 3mo 1d if left untouched.

  • Roles:
    • admin: ProxyAdmin; ultimately Polygon Multisig 2
    • guardian: Katana Foundation Engineering/Security Multisig
Implementation used in:

A verifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. gateway for pessimistic proofs. Manages a map of chains and their verifier keys and is used to route proofs based on the first 4 bytes of proofBytes data in a proof submission. The SP1 verifier is used for all proofs.

  • Roles:
    • addPpRoute: Timelock; ultimately PolygonAdminMultisig
    • admin: SharedProxyAdmin; ultimately PolygonAdminMultisig
    • aggchainDefaultVKey: PolygonAdminMultisig
    • alMultisig: PolygonAdminMultisig
    • freezePpRoute: PolygonAdminMultisig
Proxy used in:

The shared bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. contract, escrowing user funds sent to Agglayer chains. It is usually mirrored on each chain and can be used to transfer both ERC20 assets and arbitrary messages.

  • Roles:
    • admin: SharedProxyAdmin; ultimately PolygonAdminMultisig
    • proxiedTokensManager: Timelock; ultimately PolygonAdminMultisig

All supported tokens in this escrow are included in the value secured calculation.

Proxy used in:

A merkle treeA hash-based data structure in which each leaf node is a hash of a block of data, and each non-leaf node is a hash of its children. The root of the tree is a cryptographic fingerprint of the entire data structure. Merkle trees (Merkle Patricia Tries) are used in Ethereum to efficiently store key-value pairs. storage contract aggregating state rootsA cryptographic hash succinctly representing a state using a Merkle tree. of each participating Layer 2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups., thus creating a single global merkle root representing the global state of the Agglayer, the ‘global exit root’. The global exit root is synchronized to all connected Layer 2s to help with their interoperabilityRefers to the capability of different blockchain networks to communicate and share data. It enables the transfer of assets and information between blockchains, facilitating functionality and collaboration between blockchain ecosystems..

  • Roles:
    • admin: SharedProxyAdmin; ultimately PolygonAdminMultisig
Proxy used in:

A timelock with access control. In the case of an activated emergency state in the AgglayerManager, all transactions through this timelock are immediately executable. The current minimum delay is 3d.

  • Roles:
    • timelockAdmin: PolygonAdminMultisig (no delay if in emergency state), Timelock (no delay if in emergency state); ultimately PolygonAdminMultisig (no delay if in emergency state)
Implementation used in:

This token contract uses a standard ‘vault bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. token’ implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge WBTC) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbWBTC-IOU but is sent to Safe.

  • Roles:
    • admin: ProxyAdmin; ultimately Katana vaultBridge Multisig 1

This token contract uses a standard ‘vault bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. token’ implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge ETH) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbETH-IOU but is sent to Safe.

  • Roles:
    • admin: ProxyAdmin; ultimately Katana vaultBridge Multisig 1

This token contract uses a standard ‘vault bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. token’ implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge USDS) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbUSDS-IOU but is sent to Safe.

  • Roles:
    • admin: ProxyAdmin; ultimately Katana vaultBridge Multisig 2

Helper contract for the vaultBridge tokens on Layer 2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups.. If any vbTokens are minted ‘natively’ on Layer 2, this contract can receive the underlying assets and lock them in the Layer 1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. vaults.

  • Roles:
    • admin: ProxyAdmin; ultimately Polygon Labs Engineering/Security Multisig

This token contract uses a standard ‘vault bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. token’ implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge USDC) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbUSDC-IOU but is sent to Safe.

  • Roles:
    • admin: ProxyAdmin; ultimately Katana vaultBridge Multisig 3

This token contract uses a standard ‘vault bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. token’ implementation created by Agglayer CDK. It keeps deposited assets in a vault and issues an IOU token (Vault Bridge USDT) which can be deposited to Agglayer. The underlying asset is generating yield, which does not accrue to the vbUSDT-IOU but is sent to Safe.

  • Roles:
    • admin: ProxyAdmin; ultimately Katana vaultBridge Multisig 1
  • Roles:
    • owner: Katana vaultBridge Multisig 1
ProxyAdmin
2 instances
0x19Db…88320x6d0f…9a52
  • Roles:
    • owner: Polygon Multisig 2
PreimageOracle0x1E1d…b1E0

The PreimageOracle contract is used to load the required data from L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. for a dispute game.

Implementation used in:
ProxyAdmin0x263b…ED56
  • Roles:
    • owner: Polygon Labs Engineering/Security Multisig
ProxyAdmin0x8970…FE30
  • Roles:
    • owner: Katana vaultBridge Multisig 3

Contract designed to hold the bonded ETH for each game. It is designed as a wrapper around WETH to allow an owner to function as a backstop if a game would incorrectly distribute funds.

  • Roles:
    • admin: ProxyAdmin; ultimately Polygon Multisig 2
Implementation used in:

Contains the latest confirmed state rootA cryptographic hash succinctly representing a state using a Merkle tree. that can be used as a starting point in a dispute game. This variant stores respectedGameType, retirementTimestamp, and disputeGameFinalityDelaySeconds locally and drops the legacy *FromGame fields, since the AggregateVerifier model does not expose vm()/weth()/absolutePrestate() on its game implementation.

  • Roles:
    • admin: ProxyAdmin; ultimately Polygon Multisig 2
Implementation used in:

The MIPS contract is used to execute the final step of the dispute game which objectively determines the winner of the dispute.

Implementation used in:
ProxyAdmin0xD1e3…a832
  • Roles:
    • owner: Katana vaultBridge Multisig 2
PermissionedDisputeGame0xe1dF…b87e

Same as FaultDisputeGame, but only two permissioned addresses are designated as proposerIn the context of L2s, the actor that proposes a claimed state root on L1. The term is also used in the context of Ethereum to refer to the actor that proposes a new block. and challenger.

Implementation used in:
SP1Verifier0x0459…C459

VerifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. contract for SP1 proofs (v5.0.0).

Implementation used in:
SharedProxyAdmin0x0F99…CC4A
  • Roles:
    • owner: Timelock
Implementation used in:
BridgeLib0x3622…8aB3

Extension contract of the AgglayerBridge for asset metadata…

Implementation used in:
SP1Verifier0xc3c6…AF2A

VerifierAn entity in a ZK-Rollup, often a smart contract, that verifies zero-knowledge proofs submitted by a prover. contract for SP1 proofs (v6.1.0).

Implementation used in:
There are impactful changes to the following contracts, and part of the information might be outdated.

The main system contract defining the katana Aggchain logic. This contract, based on the OP-Succinct L2OutputOracle, supports validity proofs and OP stack outputRoots (L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups. state rootsA cryptographic hash succinctly representing a state using a Merkle tree.) are saved here.

  • Roles:
    • admin: AgglayerManager
    • aggchainManager: Polygon Multisig 2
    • aggchainSigners: EOA 2 optimisticMode is enabled by the optimisticModeManager
    • optimisticModeManager: Polygon Multisig 2

Katana

Agglayer bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. contract. Supports interop with Ethereum and blockchains connected to Agglayer. Escrows all preminted ETH because it cannot mint on the L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups.. The globalExitRootManager is used as an oracle to validate bridge messages against.

  • Roles:
    • admin: ProxyAdmin; ultimately GnosisSafeL2, SafeL2
    • bridgeManager: GnosisSafeL2
    • emergencyBridgePauser: GnosisSafeL2
    • emergencyBridgeUnpauser: GnosisSafeL2
    • getProxiedTokensManager: GnosisSafeL2
GlobalExitRootManagerL2SovereignChain0xa40D…B8fAImplementation (Upgradable)Admin

Manages Layer 2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups. and global merkle roots (exit roots). It stores exit roots written during bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. deposits, accepts imported global exit roots from a permissioned address, and manages historical roots.

  • Roles:
    • admin: ProxyAdmin; ultimately GnosisSafeL2, SafeL2
    • globalExitRootRemover: GnosisSafeL2, GnosisSafeL2 if the bridge is paused
    • globalExitRootUpdater: EOA 3
L2Timelock0xBBa0…6d13

A timelock with access control. The current minimum delay is 12h.

  • Roles:
    • timelockAdmin: GnosisSafeL2 (no delay if in emergency state), SafeL2 (no delay if in emergency state)
ProxyAdmin0x0F99…CC4A
  • Roles:
    • owner: L2Timelock
  • Roles:
    • admin: ProxyAdmin; ultimately SafeL2
Can be upgraded by:

The L2CrossDomainMessenger (L2xDM) contract sends messages from L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups. to L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development., and relays messages from L1 onto L2 with a system tx. In the event that a message sent from L2 to L1 is rejected for exceeding the L1 gas limitThe maximum amount of gas a transaction or block may consume., it can be resubmitted via this contract’s replay function.

  • Roles:
    • admin: ProxyAdmin; ultimately SafeL2
Can be upgraded by:

Simple contract that returns the latest L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. blockAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over. number.

  • Roles:
    • admin: ProxyAdmin; ultimately SafeL2
Can be upgraded by:
BridgeLib0xb30C…E124

Utility library contract for the AgglayerBridgeL2.

TokenWrappedBridgeUpgradeable0xF077…1a2c

An ERC-20 implementation designed for cross-chain assets on the L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups.. It restricts token minting or burning strictly to the primary bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. contract. The bridge address is set on each token proxy during initialization.

There are impactful changes to the following contracts, and part of the information might be outdated.

Provides the current gas pricePrice of one unit of gas specified in a transaction. The token used to pay for gas is usually Ether, but rollups can use other custom tokens. for L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups. transactions.

  • Roles:
    • admin: ProxyAdmin; ultimately SafeL2
Can be upgraded by:

Collects the sequencerA party responsible for ordering and executing transactions on the rollup. The sequencer verifies transactions, compresses the data into a block, and submits the data related to it to enable state reconstruction to Ethereum L1 as a single transaction. The data can be either transaction data or state diffs. fees.

  • Roles:
    • admin: ProxyAdmin; ultimately SafeL2
    • recipient: SafeL2
Can be upgraded by:

Simple contract that returns information about the latest L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. blockAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over., which is derived permissionlessly from the L1 chain.

  • Roles:
    • admin: ProxyAdmin; ultimately SafeL2
Can be upgraded by:

Contract used internally by the L2CrossDomainMessenger to send messages to L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development.. It can also be used directly as a low-level interface.

  • Roles:
    • admin: ProxyAdmin; ultimately SafeL2
Can be upgraded by:
  • Roles:
    • admin: ProxyAdmin; ultimately SafeL2
    • owner: SafeL2
Can be upgraded by:

Collects the L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development. portion of the L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups. transaction fees.

  • Roles:
    • admin: ProxyAdmin; ultimately SafeL2
    • recipient: SafeL2
Can be upgraded by:

Collects the operatorAn operator is the entity charged with managing a rollup and progressing its state. A rollup operator can be a centralized sequencer, proposer, prover, challenger, pauser of admin that is able to perform upgrades. fees.

  • Roles:
    • admin: ProxyAdmin; ultimately SafeL2
    • recipient: BaseFeeVault
Can be upgraded by:

Contracts to register schemas for the Ethereum Attestation Service (EAS).

  • Roles:
    • admin: ProxyAdmin; ultimately SafeL2
Can be upgraded by:

Contract containing the main logic for the Ethereum Attestation Service (EAS).

  • Roles:
    • admin: ProxyAdmin; ultimately SafeL2
Can be upgraded by:

The current deployment carries some associated risks:

  • Funds can be stolen if the contracts or their dependencies (e.g. AggLayerGateway) receive a malicious code upgrade. There is no delay on upgrades.

Program Hashes

Name
Hash
Repository
Verification
Used in
0x00d6...0c89
Katana logo
0x1f08...3b8f
Katana logo
0x713f...fa1f
Katana logo
0x374e...dac6
Katana logo
0x6e38...1b53
Katana logo
0x7767...6f70
Katana logo
0x679b...7915
Katana logo
0x00ef...cc30
X Layer logoKatana logoLumia Prism logoHaust Network logoPolygon zkEVM logo

Projects used in

Search for projects used in

0x0000...b639
X Layer logoKatana logoLumia Prism logoHaust Network logoPolygon zkEVM logo

Projects used in

Search for projects used in

0x00d1...578e
X Layer logoKatana logoLumia Prism logoHaust Network logoPolygon zkEVM logo

Projects used in

Search for projects used in