Search

Search for projects by name or address

ZKsync Era logo
ZKsync Era

About

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


Last 24h volume
$244.95 K
Last 24h transfer count
46
Last 24h top path
zksync2ethereum$244.95 K

Last 24h avg. transfer time
17h 1m
Last 24 avg. transfer value
$5.32 K
Tokens by volume
USDCETHUSDT
+2

Protocol transfer size
Under $100
$100-$1K
$1K-$10K
$10K-$100K
Over $100K

Transfer type distribution
Lock & Mint

About

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

Top token

Volume
$128.14 K
Transaction count
4
Symbol
Last 24h Volume
Last 24h transfer count
Last 24h avg. transfer time
Last 24h avg. transfer value
From
To
Timestamp
Tokens
Value
Transfer time
Chains
2026 May 04, 08:28 UTC
High severity
16changes

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
}
2026 April 27, 13:21 UTC
22changes

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

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.
2026 April 20, 10:40 UTC
High severity
13changes

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"
}
2026 March 04, 14:38 UTC
2changes

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
}
2026 February 09, 12:10 UTC
High severity
15changes

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.