Search projects, tokens and protocols by name or address
Polygon zkEVM is an EVM-compatible L2 built by Polygon Labs.
Polygon zkEVM is an EVM-compatible L2 built by Polygon Labs.
Consequence: projects without a data availability bridge fully rely on single entities (the sequencer) to honestly rely available data roots on Ethereum. A malicious sequencer can collude with the proposer to finalize an unavailable state, which can cause loss of funds.
Consequence: projects without a proper proof system fully rely on single entities to safely update the state. A malicious proposer can finalize an invalid state, which can cause loss of funds.
Learn more about the recategorisation here.
The section shows the operating costs that L2s pay to Ethereum.
Migration to Pessimistic Proofs
3 Dec 2025
Polygon zkEVM stops validating the full 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 and moves to 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. accounting proofs.
Polygon zkEVM Etrog upgrade
13 Feb 2024
Polygon zkEVM is upgraded to the Polygon Etrog version.
There is no mechanism to have transactions be included if 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. is down or censoring. Although the functionality exists in the code, it is currently disabled.
Currently the system permits invalid state rootsA cryptographic hash succinctly representing a state using a Merkle tree.. ‘Pessimistic’ proofs only validate 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. accounting.
Proof construction and state derivation rely fully on data that is NOT published onchain.
There is no window for users to exit in case of an unwanted upgrade since contracts are instantly upgradable.
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.
Transaction data is kept off-chain. 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. accounting is protected by pessimistic proofs while 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 transitions are not proven on Ethereum.

The regular upgrade process for shared system contracts 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 validiumAn off-chain solution that uses validity proofs for settlement and publishes the data offchain, therefore requiring an additional trust assumption. contracts starts at the Polygon
The Polygon
Furthermore, the Polygon
The metrics include upgrades on the currently used proxy contracts. Historical proxy contracts and changes of such are not included.
removal of the rollup proof system, leaving only the pessimistic proofs for the agglayer shared bridge.
removal of the rollup proof system, leaving only the pessimistic proofs for the agglayer shared bridge.
| contract AggchainECDSAMultisig (eth:0x519E42c24163192Dca44CD3fBDCEBF6be9130987) { | |
| +++ description: System contract defining the polygon zkEVM Aggchain logic. It only enforces bridge accounting (pessimistic) proofs to protect the shared bridge while the Aggchain state transitions are not proven. They must instead be signed by 1 aggchainSigner(s). | |
| name: | |
| - | "PolygonZkEVM" |
| + | "AggchainECDSAMultisig" |
| template: | |
| - | "polygon-cdk/PolygonZkEVM" |
| + | "polygon-cdk/AggchainECDSAMultisig" |
| sourceHashes.1: | |
| - | "0x5912938b92e53d8eb670cbaff45effa91dca7caafcb389b57bf161cdd7585fa3" |
| + | "0xa58b59f574674919f2c3fb755a6e3e369c0d5f734d8fcca6fe2664629ad8b25e" |
| description: | |
| - | "The main system contract defining the polygon zkEVM Layer 2 logic. Entry point for sequencing batches." |
| + | "System contract defining the polygon zkEVM Aggchain logic. It only enforces bridge accounting (pessimistic) proofs to protect the shared bridge while the Aggchain state transitions are not proven. They must instead be signed by 1 aggchainSigner(s)." |
| values.$implementation: | |
| - | "eth:0x7253F329302b1b5E774Ac641EA3743E9E3244f2E" |
| + | "eth:0x0D49fD0d79723e4D24AaC83f604ED2D3d5fC0f21" |
| values.$pastUpgrades.5: | |
| + | ["2025-12-03T09:13:23.000Z","0xd8eb9f7bf7594d047e0c8b254b3893eb05daf692b1688adaacd21af144efe2a5",["eth:0x0D49fD0d79723e4D24AaC83f604ED2D3d5fC0f21"]] |
| values.$upgradeCount: | |
| - | 5 |
| + | 6 |
| values.calculatePolPerForceBatch: | |
| - | 0 |
| values.GLOBAL_EXIT_ROOT_MANAGER_L2: | |
| - | "eth:0xa40D5f56745a118D0906a34E69aeC8C0Db1cB8fA" |
| values.INITIALIZE_TX_BRIDGE_LIST_LEN_LEN: | |
| - | 249 |
| values.INITIALIZE_TX_BRIDGE_PARAMS: | |
| - | "0x80808401c9c38094" |
| values.INITIALIZE_TX_BRIDGE_PARAMS_AFTER_BRIDGE_ADDRESS: | |
| - | "0x80b9" |
| values.INITIALIZE_TX_BRIDGE_PARAMS_AFTER_BRIDGE_ADDRESS_EMPTY_METADATA: | |
| - | "0x80b8" |
| values.INITIALIZE_TX_CONSTANT_BYTES: | |
| - | 32 |
| values.INITIALIZE_TX_CONSTANT_BYTES_EMPTY_METADATA: | |
| - | 31 |
| values.INITIALIZE_TX_DATA_LEN_EMPTY_METADATA: | |
| - | 228 |
| values.INITIALIZE_TX_EFFECTIVE_PERCENTAGE: | |
| - | "0xff" |
| values.SIGNATURE_INITIALIZE_TX_R: | |
| - | "0x00000000000000000000000000000000000000000000000000000005ca1ab1e0" |
| values.SIGNATURE_INITIALIZE_TX_S: | |
| - | "0x000000000000000000000000000000000000000000000000000000005ca1ab1e" |
| values.SIGNATURE_INITIALIZE_TX_V: | |
| - | 27 |
| values.TIMESTAMP_RANGE: | |
| - | 36 |
| values._legacypendingVKeyManager: | |
| + | "eth:0x0000000000000000000000000000000000000000" |
| values._legacyvKeyManager: | |
| + | "eth:0x0000000000000000000000000000000000000000" |
| values.AGGCHAIN_ECDSA_MULTISIG_VERSION: | |
| + | "v1.0.0" |
| values.AGGCHAIN_TYPE: | |
| + | "0x0000" |
| values.aggchainManager: | |
| + | "eth:0x242daE44F5d8fb54B198D03a94dA45B5a4413e21" |
| values.aggchainMetadataManager: | |
| + | "eth:0x0000000000000000000000000000000000000000" |
| +++ severity: HIGH | |
| values.aggchainMultisigHash: | |
| + | "0xc0dac73cba4ff88501dbcab20fea961458322f918942474c014269419567e2c3" |
| values.aggchainSigners: | |
| + | ["eth:0xD6f0FEEaAB8EAc205b182D51AE05B588a132Be5A"] |
| values.aggLayerGateway: | |
| + | "eth:0x046Bb8bb98Db4ceCbB2929542686B74b516274b3" |
| +++ description: 0 - ECDSA sig verification, 1 - aggchainVkey verification (read by the pessimistic program) | |
| +++ severity: HIGH | |
| values.CONSENSUS_TYPE: | |
| + | 1 |
| values.getAggchainMultisigHash: | |
| + | "0xc0dac73cba4ff88501dbcab20fea961458322f918942474c014269419567e2c3" |
| values.getAggchainSignerInfos: | |
| + | [{"addr":"eth:0xD6f0FEEaAB8EAc205b182D51AE05B588a132Be5A","url":"https://zkevm-rpc.com/"}] |
| values.getAggchainSigners: | |
| + | ["eth:0xD6f0FEEaAB8EAc205b182D51AE05B588a132Be5A"] |
| values.getAggchainSignersCount: | |
| + | 1 |
| values.getThreshold: | |
| + | 1 |
| values.MAX_AGGCHAIN_SIGNERS: | |
| + | 255 |
| values.pendingAggchainManager: | |
| + | "eth:0x0000000000000000000000000000000000000000" |
| values.threshold: | |
| + | 1 |
| +++ severity: HIGH | |
| values.useDefaultSigners: | |
| + | false |
| +++ severity: HIGH | |
| values.useDefaultVkeys: | |
| + | false |
| values.version: | |
| + | "v1.0.0" |
| fieldMeta.CONSENSUS_TYPE: | |
| + | {"severity":"HIGH","description":"0 - ECDSA sig verification, 1 - aggchainVkey verification (read by the pessimistic program)"} |
| fieldMeta.aggchainMultisigHash: | |
| + | {"severity":"HIGH"} |
| fieldMeta.useDefaultSigners: | |
| + | {"severity":"HIGH"} |
| fieldMeta.useDefaultVkeys: | |
| + | {"severity":"HIGH"} |
| implementationNames.eth:0x7253F329302b1b5E774Ac641EA3743E9E3244f2E: | |
| - | "PolygonZkEVMEtrog" |
| implementationNames.eth:0x0D49fD0d79723e4D24AaC83f604ED2D3d5fC0f21: | |
| + | "AggchainECDSAMultisig" |
| } | |
| EOA (eth:0xD6f0FEEaAB8EAc205b182D51AE05B588a132Be5A) { | |
| +++ description: None | |
| receivedPermissions.0.description: | |
| + | "sign state transitions (replaces state validation for this aggchain)." |
| receivedPermissions.0.role: | |
| - | ".trustedSequencer" |
| + | ".aggchainSigners" |
| receivedPermissions.0.permission: | |
| - | "sequence" |
| + | "interact" |
| } | |
| + | Status: CREATED |
| reference AgglayerGateway (eth:0x046Bb8bb98Db4ceCbB2929542686B74b516274b3) | |
| +++ description: None | |
Rotated trusted sequencer.
Rotated trusted sequencer.
| contract PolygonZkEVM (eth:0x519E42c24163192Dca44CD3fBDCEBF6be9130987) { | |
| +++ description: The main system contract defining the polygon zkEVM Layer 2 logic. Entry point for sequencing batches. | |
| values.trustedSequencer: | |
| - | "eth:0x148Ee7dAF16574cD020aFa34CC658f8F3fbd2800" |
| + | "eth:0xD6f0FEEaAB8EAc205b182D51AE05B588a132Be5A" |
| } | |
Updated Fflonk verifier in the initial addresses to the correct one.
Updated Fflonk verifier in the initial addresses to the correct one.
| + | Status: CREATED |
| contract Verifier (0x9B9671dB83CfcB4508bF361942488C5cA2b1286D) | |
| +++ description: Verifies ZK proofs for state roots of this Layer 2 via the PolygonRollupManager. | |
Discovery rerun on the same block number with only config-related changes.
Discovery rerun on the same block number with only config-related changes.
| + | Status: CREATED |
| contract daiBridge (0x4A27aC91c5cD3768F140ECabDe3FC2B2d92eDb98) | |
| +++ description: Custom Bridge escrow for DAI bridged to PolygonZkEVM allowing for a custom L2 tokens contract. | |
| + | Status: CREATED |
| contract PolygonZkEVM (0x519E42c24163192Dca44CD3fBDCEBF6be9130987) | |
| +++ description: The main system contract defining the polygon zkEVM Layer 2 logic. Entry point for sequencing batches. | |
| + | Status: CREATED |
| contract usdcBridge (0x70E70e58ed7B1Cec0D8ef7464072ED8A52d755eB) | |
| +++ description: Custom Bridge escrow for USDC bridged to PolygonZkEVM allowing for a custom L2 tokens contract. | |
| + | Status: CREATED |
| contract Verifier (0xc521580cd8586Cc688A7430F9DcE0f6A803F2883) | |
| +++ description: Verifies ZK proofs for state roots of this Layer 2 via the PolygonRollupManager. | |
| + | Status: CREATED |
| contract wstETHBridge (0xf0CDE1E7F0FAD79771cd526b1Eb0A12F69582C01) | |
| +++ description: Custom Bridge escrow for wstETH bridged to PolygonZkEVM allowing for a custom L2 tokens contract. | |
| + | Status: CREATED |
| contract Polygon zkEVM Multisig (0xf694C9e3a34f5Fa48b6f3a0Ff186C1c6c4FcE904) | |
| +++ description: None | |
Polygon zkEVM upgraded to rollupTypeID 6 (prev 5), this is called the servicing update, and was deployed onchain in oct 2024. It adds minor changes like rollbackBatches() for batches that are not yet verified and allows local chain admins to upgrade to already-deployed new versions for their chain.
Polygon zkEVM upgraded to rollupTypeID 6 (prev 5), this is called the servicing update, and was deployed onchain in oct 2024. It adds minor changes like rollbackBatches() for batches that are not yet verified and allows local chain admins to upgrade to already-deployed new versions for their chain.
| contract PolygonZkEVMEtrog (0x519E42c24163192Dca44CD3fBDCEBF6be9130987) { | |
| +++ description: None | |
| sourceHashes.1: | |
| - | "0xf303702e52579ed796873f92868d2ebedd55360bf53043519e6061b19df3eb4b" |
| + | "0x5912938b92e53d8eb670cbaff45effa91dca7caafcb389b57bf161cdd7585fa3" |
| values.$implementation: | |
| - | "0x2650a9a4fC64f63F573EF0F405064EF54BC46f71" |
| + | "0x7253F329302b1b5E774Ac641EA3743E9E3244f2E" |
| values.$pastUpgrades.4: | |
| + | ["2025-01-15T12:16:11.000Z","0x9328cfd3d2833dca2d0ea16fbb34f8fc096c26ca8334476c5bf7107f32436029",["0x7253F329302b1b5E774Ac641EA3743E9E3244f2E"]] |
| values.$upgradeCount: | |
| - | 4 |
| + | 5 |
| } | |
There is no general mechanism to force 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. to include the transaction.
Users can be censored if the operator refuses to include their transactions.
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.
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-erigon-sovereign and cdk-opgeth-sovereign variants). 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, even 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 are able to share the bridge with any other Aggchain without adding additional trust assumptions.
Funds can be lost if the accounting proof system for the bridge (pessimistic proofs, SP1) is implemented incorrectly.
Funds can be stolen if the operator manipulates the L2 state, which is not validated on Ethereum (CRITICAL).

A Multisig with 5/9 threshold.
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 Polygon
A Multisig with 6/8 threshold.
A Multisig with 3/5 threshold.
A Multisig with 5/10 threshold.


System contract defining the polygon zkEVM Aggchain logic. It only enforces 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. accounting (pessimistic) proofs to protect the shared bridge while the Aggchain state transitions are not proven. They must instead be signed by 1 aggchainSigner(s).
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.
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.
All supported tokens in this escrow are included in the value secured calculation.
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..
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.
Custom 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 DAI bridged to PolygonZkEVM allowing for a custom 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. tokens contract.


Custom 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 USDC bridged to PolygonZkEVM allowing for a custom 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. tokens contract.

Custom 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 wstETH bridged to PolygonZkEVM allowing for a custom 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. tokens contract.

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).
Extension contract of the AgglayerBridge for asset metadata…
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).
The current deployment carries some associated risks:
Funds can be stolen if a contract receives a malicious code upgrade. There is no delay on code upgrades (CRITICAL).