Search for projects by name or address
The canonical or trust-minimized bridge: ZK stack uses canonical bridges to and from Ethereum, based on the security of validity proofs. Native interop within the stack is not enabled
The canonical or trust-minimized bridge: ZK stack uses canonical bridges to and from Ethereum, based on the security of validity proofs. Native interop within the stack is not enabled
Symbol | Last 24h
Volume | Last 24h
transfer count | Last 24h avg.
transfer time | Last 24h avg.
transfer value | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Timestamp | Tokens | Value | Transfer time | Chains | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Era multisig validator now has 3 (out of 8) threshold, instead of 0. This effectively enables the multisig operation. This contract allows registered validators stop block execution. This multisig is also made the only entity that can precommit, commit, revert, prove and execute blocks, earlier there were also two EOAs with these permissions.
Era multisig validator now has 3 (out of 8) threshold, instead of 0. This effectively enables the multisig operation. This contract allows registered validators stop block execution.
This multisig is also made the only entity that can precommit, commit, revert, prove and execute blocks, earlier there were also two EOAs with these permissions.
| contract ValidatorTimelock (eth:0x2e5110cF18678Ec99818bFAa849B8C881744b776) { | |
| +++ description: Intermediary contract between the *Validators* and the central diamond contract that delays block execution (ie withdrawals and other L2 --> L1 messages) by 3h. | |
| values.validatorVTL.PRECOMMITTER_ROLE.members.0: | |
| - | "eth:0x882A6C2ecbAbfFc40686D599a9375ad3b35427Fd" |
| values.validatorVTL.PRECOMMITTER_ROLE.members.1: | |
| - | "eth:0xc75cDcBEef3aE3365ABF0217815748586F9047F1" |
| values.validatorVTL.COMMITTER_ROLE.members.0: | |
| - | "eth:0x882A6C2ecbAbfFc40686D599a9375ad3b35427Fd" |
| values.validatorVTL.COMMITTER_ROLE.members.1: | |
| - | "eth:0xc75cDcBEef3aE3365ABF0217815748586F9047F1" |
| values.validatorVTL.REVERTER_ROLE.members.0: | |
| - | "eth:0x882A6C2ecbAbfFc40686D599a9375ad3b35427Fd" |
| values.validatorVTL.REVERTER_ROLE.members.1: | |
| - | "eth:0xc75cDcBEef3aE3365ABF0217815748586F9047F1" |
| values.validatorVTL.PROVER_ROLE.members.0: | |
| - | "eth:0x882A6C2ecbAbfFc40686D599a9375ad3b35427Fd" |
| values.validatorVTL.PROVER_ROLE.members.1: | |
| - | "eth:0xc75cDcBEef3aE3365ABF0217815748586F9047F1" |
| values.validatorVTL.EXECUTOR_ROLE.members.0: | |
| - | "eth:0x882A6C2ecbAbfFc40686D599a9375ad3b35427Fd" |
| values.validatorVTL.EXECUTOR_ROLE.members.1: | |
| - | "eth:0xc75cDcBEef3aE3365ABF0217815748586F9047F1" |
| } |
| EOA (eth:0x882A6C2ecbAbfFc40686D599a9375ad3b35427Fd) { | |
| +++ description: None | |
| receivedPermissions.1: | |
| - | {"permission":"validateZkStack","from":"eth:0x2e5110cF18678Ec99818bFAa849B8C881744b776","role":".validatorVTL"} |
| } |
| EOA (eth:0xc75cDcBEef3aE3365ABF0217815748586F9047F1) { | |
| +++ description: None | |
| receivedPermissions.1: | |
| - | {"permission":"validateZkStack","from":"eth:0x2e5110cF18678Ec99818bFAa849B8C881744b776","role":".validatorVTL"} |
| } |
| contract EraMultisigValidator (eth:0xdC26B08F0335b68721F64001C38b05D0BC9B539d) { | |
| +++ description: A multisig wrapper around `ValidatorTimelock` that requires a threshold of approvals before batch execution can proceed, provides additional security through 2FA. | |
| values.$threshold: | |
| - | 0 |
| + | 3 |
| +++ severity: HIGH | |
| values.threshold: | |
| - | 0 |
| + | 3 |
| } |
Upgraded ExecutionMultisigValidator: https://disco.l2beat.com/diff/eth:0xE222D6354b49eaF8a7099fC4E7F9C0B4FE72d1E7/eth:0xc954B4D51031870624f3e779Ead14C57249C111D (although diff is not very readable). This is a intermediary contract that lets validators stop block execution. The main changes are: - It is made EIP1967 upgradeable - Multisig rotation now emits events, which allows tracking the members in disco - Added EIP-712 structured data hashing - General refactor
Upgraded ExecutionMultisigValidator: https://disco.l2beat.com/diff/eth:0xE222D6354b49eaF8a7099fC4E7F9C0B4FE72d1E7/eth:0xc954B4D51031870624f3e779Ead14C57249C111D (although diff is not very readable). This is a intermediary contract that lets validators stop block execution. The main changes are:
| contract ValidatorTimelock (eth:0x2e5110cF18678Ec99818bFAa849B8C881744b776) { | |
| +++ description: Intermediary contract between the *Validators* and the central diamond contract that delays block execution (ie withdrawals and other L2 --> L1 messages) by 3h. | |
| values.validatorVTL.PRECOMMITTER_ROLE.members.0: | |
| - | "eth:0xE222D6354b49eaF8a7099fC4E7F9C0B4FE72d1E7" |
| values.validatorVTL.PRECOMMITTER_ROLE.members.2: | |
| + | "eth:0xdC26B08F0335b68721F64001C38b05D0BC9B539d" |
| values.validatorVTL.COMMITTER_ROLE.members.0: | |
| - | "eth:0xE222D6354b49eaF8a7099fC4E7F9C0B4FE72d1E7" |
| values.validatorVTL.COMMITTER_ROLE.members.2: | |
| + | "eth:0xdC26B08F0335b68721F64001C38b05D0BC9B539d" |
| values.validatorVTL.REVERTER_ROLE.members.0: | |
| - | "eth:0xE222D6354b49eaF8a7099fC4E7F9C0B4FE72d1E7" |
| values.validatorVTL.REVERTER_ROLE.members.2: | |
| + | "eth:0xdC26B08F0335b68721F64001C38b05D0BC9B539d" |
| values.validatorVTL.PROVER_ROLE.members.0: | |
| - | "eth:0xE222D6354b49eaF8a7099fC4E7F9C0B4FE72d1E7" |
| values.validatorVTL.PROVER_ROLE.members.2: | |
| + | "eth:0xdC26B08F0335b68721F64001C38b05D0BC9B539d" |
| values.validatorVTL.EXECUTOR_ROLE.members.0: | |
| - | "eth:0xE222D6354b49eaF8a7099fC4E7F9C0B4FE72d1E7" |
| values.validatorVTL.EXECUTOR_ROLE.members.2: | |
| + | "eth:0xdC26B08F0335b68721F64001C38b05D0BC9B539d" |
| } |
| - | Status: DELETED |
| reference (eth:0x3068415e0F857A5eEd03302A1F7E44f67468d2Bc) | |
| +++ description: None |
| - | Status: DELETED |
| reference (eth:0x3F0009D00cc78979d00Eb635490F23E8d6aCc481) | |
| +++ description: None |
| - | Status: DELETED |
| reference (eth:0x4A333c167Ce76C46149c6B0197977ae02aaeC929) | |
| +++ description: None |
| - | Status: DELETED |
| reference (eth:0x5C7E59Dba6557C7dAB3B69ccd3E309d1965Cf1B1) | |
| +++ description: None |
| - | Status: DELETED |
| reference (eth:0x7408A268e5E6e8F08917c5b71015F4B9044970C7) | |
| +++ description: None |
| - | Status: DELETED |
| reference (eth:0xAf0B2B58289857e9A6Cf91Fd30410dDcad9D9B28) | |
| +++ description: None |
| - | Status: DELETED |
| contract Safe (eth:0xd972d03C8A45eF3c7937a279d998E4AeCCc2b63D) | |
| +++ description: None |
| - | Status: DELETED |
| contract ExecutionMultisigValidator (eth:0xE222D6354b49eaF8a7099fC4E7F9C0B4FE72d1E7) | |
| +++ description: Intermediary contract between the *Validators* and the central diamond contract that delays block execution (ie withdrawals and other L2 --> L1 messages) by 3h. NOTE: This is a modified version of validatorTimelock, where a sufficient number of execution multisig members must approve a batch before execution. Multisig members are kept in a mapping and updates emit no events, so the only way to track them is to manually analyze all trxs from the owner. |
| - | Status: DELETED |
| reference (eth:0xFAdb20191Ab38362C50f52909817B74214CA79AE) | |
| +++ description: None |
| + | Status: CREATED |
| contract ProxyAdmin (eth:0x0D8d1be440f997bDB9CA44C0140fD12551f99BBB) | |
| +++ description: None |
| + | Status: CREATED |
| reference Matter Labs Multisig (eth:0x4e4943346848c4867F81dFb37c4cA9C5715A7828) | |
| +++ description: None |
| + | Status: CREATED |
| contract EraMultisigValidator (eth:0xdC26B08F0335b68721F64001C38b05D0BC9B539d) | |
| +++ description: Intermediary contract between the *Validators* and the central diamond contract that delays block execution (ie withdrawals and other L2 --> L1 messages) by 3h. NOTE: This is a modified version of validatorTimelock, where a sufficient number of execution multisig members must approve a batch before execution. Multisig members are kept in a mapping. |
wstETH bridge resumed after being paused because of a potential vulnerability. Its implementation was upgraded adding one small check: https://disco.l2beat.com/diff/eth:0x9a810469F4a451Ebb7ef53672142053b4971587c/eth:0x43a66B32c9AdcA1A59b273E69b61Da5197c21cCd.
wstETH bridge resumed after being paused because of a potential vulnerability. Its implementation was upgraded adding one small check: https://disco.l2beat.com/diff/eth:0x9a810469F4a451Ebb7ef53672142053b4971587c/eth:0x43a66B32c9AdcA1A59b273E69b61Da5197c21cCd.
| contract L1ERC20Bridge_wstETH (eth:0x41527B2d03844dB6b0945f25702cB958b6d55989) { | |
| +++ description: Bridge for depositing wrapped stETH (Lido) to ZKsync Era. These deposits and withdrawals do not go through the shared Bridge. | |
| sourceHashes.1: | |
| - | "0x8d6377528b46831d215e352a53f276acbd18ec4bc66c04894dd72dad36288c4d" |
| + | "0x887b9d27b8b5ffb156d6a159bc56c0b8bb6e24d70f3568550066b1f247acf4fe" |
| values.$implementation: | |
| - | "eth:0x9a810469F4a451Ebb7ef53672142053b4971587c" |
| + | "eth:0x43a66B32c9AdcA1A59b273E69b61Da5197c21cCd" |
| values.$pastUpgrades.1: | |
| + | ["2026-04-17T16:42:11.000Z","0xf43f6fe63edc60ae6eb0bc919b3c682ac0c068df7eb1cb44aa514302539f19cb",["eth:0x43a66B32c9AdcA1A59b273E69b61Da5197c21cCd"]] |
| values.$upgradeCount: | |
| - | 1 |
| + | 2 |
| values.isDepositsEnabled: | |
| - | false |
| + | true |
| values.proxy__getImplementation: | |
| - | "eth:0x9a810469F4a451Ebb7ef53672142053b4971587c" |
| + | "eth:0x43a66B32c9AdcA1A59b273E69b61Da5197c21cCd" |
| implementationNames.eth:0x9a810469F4a451Ebb7ef53672142053b4971587c: | |
| - | "L1ERC20Bridge" |
| implementationNames.eth:0x43a66B32c9AdcA1A59b273E69b61Da5197c21cCd: | |
| + | "L1ERC20Bridge" |
| } |
wstETH bridge paused deposits due to a potential vulnerability: https://x.com/lidofinance/status/2028803376306336068?s=46&t=q4Q232TdEyWIiMZPfDpI4A.
wstETH bridge paused deposits due to a potential vulnerability: https://x.com/lidofinance/status/2028803376306336068?s=46&t=q4Q232TdEyWIiMZPfDpI4A.
| contract L1ERC20Bridge_wstETH (eth:0x41527B2d03844dB6b0945f25702cB958b6d55989) { | |
| +++ description: Bridge for depositing wrapped stETH (Lido) to ZKsync Era. These deposits and withdrawals do not go through the shared Bridge. | |
| values.isDepositsEnabled: | |
| - | true |
| + | false |
| } |
Upgraded verifiers to the next version.
Upgraded verifiers to the next version.
| contract Diamond (eth:0x32400084C286CF3E17e7B677ea9583e60a000324) { | |
| +++ description: The main contract defining the Layer 2. Operator actions like commiting blocks, providing ZK proofs and executing batches ultimately target this contract which then processes transactions. During batch execution it processes L1 --> L2 and L2 --> L1 transactions. isPermanentRollup was set to true in this contract which prevents changing the DA mode to Validium in the future. | |
| values.$pastUpgrades.25: | |
| + | ["2026-02-06T15:23:35.000Z","0x96d827f588ce0b3868ebdf99ca1099d1128a8112ddbb140416d9ffdcfd72e9af",["eth:0x37CefD5b44c131FEf27e9Bc542e5B77A177A7253","eth:0x1666124221622eb6154306Ea9BA87043e8be88B2","eth:0x1e34aB39a9682149165ddeCc0583d238A5448B45","eth:0x0597CaA8A823A699d7CD9E62B5E5d4153FF82691"]] |
| values.$upgradeCount: | |
| - | 25 |
| + | 26 |
| +++ description: Protocol version, increments with each protocol upgrade. | |
| +++ severity: HIGH | |
| values.getProtocolVersion: | |
| - | 124554051587 |
| + | 124554051588 |
| values.getSemverProtocolVersion.2: | |
| - | 3 |
| + | 4 |
| values.getVerifier: | |
| - | "eth:0x4f06ef57618b16959879fC86E65eda0bd629A12B" |
| + | "eth:0xCD279BD537c8e1A1acC46aC2205bebD8902F7A45" |
| } |
| - | Status: DELETED |
| contract DualVerifier (eth:0x4f06ef57618b16959879fC86E65eda0bd629A12B) | |
| +++ description: A router contract for verifiers. Routes verification requests to eth:0xE3743181a4b0A0C1260826105c6BBA4b6e18D79d or eth:0xB3f4396C2040e502d0556Cbb16C0B22fE777A026 depending on the supplied proof type. |
| - | Status: DELETED |
| contract L1VerifierPlonk (eth:0xB3f4396C2040e502d0556Cbb16C0B22fE777A026) | |
| +++ description: Verifies a zk-SNARK proof using an implementation of the PlonK proof system. |
| - | Status: DELETED |
| contract L1VerifierFflonk (eth:0xE3743181a4b0A0C1260826105c6BBA4b6e18D79d) | |
| +++ description: Verifies a zk-SNARK proof using an implementation of the fflonk proof system. |
| + | Status: CREATED |
| contract L1VerifierPlonk (eth:0x7f33D100f482093182111d69a4a457289e99f4ec) | |
| +++ description: Verifies a zk-SNARK proof using an implementation of the PlonK proof system. |
| + | Status: CREATED |
| contract L1VerifierFflonk (eth:0xa38a0Df579F9eCA29fbA560b9885B1113b1Df442) | |
| +++ description: Verifies a zk-SNARK proof using an implementation of the fflonk proof system. |
| + | Status: CREATED |
| contract DualVerifier (eth:0xCD279BD537c8e1A1acC46aC2205bebD8902F7A45) | |
| +++ description: A router contract for verifiers. Routes verification requests to eth:0xa38a0Df579F9eCA29fbA560b9885B1113b1Df442 or eth:0x7f33D100f482093182111d69a4a457289e99f4ec depending on the supplied proof type. |