Frequently Asked Questions
This section addresses common questions about ZKsync Gateway, its usage, and its implications for ZK chains.
Can chain operators move in and out of ZKsync Gateway?
Yes. Migration to ZKsync Gateway as a settlement layer is optional and can be reversed if needed. Chains can configure their settlement layer to switch between Ethereum and ZKsync Gateway.
Is there any impact on application developers building on a ZK chain that migrates to ZKsync Gateway?
In most cases, no. Application developers continue to deploy their contracts on the ZK chain itself. Migration to ZKsync Gateway does not affect application-layer interactions. Bridging behavior and finality guarantees may differ slightly depending on the settlement layer used.
How does ZKsync Gateway affect finality?
ZKsync Gateway introduces an additional aggregation step before proofs are submitted to Ethereum for final verification. As a result, finality may take slightly longer compared to direct settlement on Ethereum. However, for interactions between chains that settle on Gateway, interoperability finality may be faster as only Gateway settling is required.
Are ZKsync Gateway-settling chains still Layer 2s?
Yes. Chains that settle on ZKsync Gateway remain Layer 2s. ZKsync Gateway acts as a settlement aggregation layer, but Ethereum remains the final verifier for all proofs. Assets remain locked in Ethereum-based contracts, and L1–L2 interactions such as deposits originate from Ethereum, not from Gateway.
Additionally, chains must initially launch with Ethereum as their settlement layer. Migration to Gateway is only possible after the chain has been registered and operating on Ethereum.
How are deposits and withdrawals from Ethereum to chains on ZKsync Gateway handled?
Deposits and withdrawals function the same way as for chains settling directly on Ethereum. ZKsync Gateway does not replace
Ethereum as the origin for L1–L2 messaging or asset custody.
APIs and helper methods for deposit
and withdraw
in the ZKsync SDKs are fully compatible with Gateway-settling chains.
How can I check if a chain is settling on Ethereum or ZKsync Gateway?
You can call the settlementLayer(chainId)
method on the
BridgeHub contract.
This method returns the settlement layer chain ID used by the specified chain:
1
for Ethereum Mainnet9075
for ZKsync Gateway
What fees are required to submit proofs to ZKsync Gateway?
Chains settling on ZKsync Gateway must pay settlement fees in $ZK tokens. These fees cover the cost of proof submission and aggregation. Operators should plan for $ZK token availability based on their expected settlement frequency.
Can chains use custom data availability solutions with ZKsync Gateway?
Yes. Chains using custom data availability mechanisms must ensure that their validation logic is compatible with Gateway and can be deployed on the settlement layer. ZKsync Gateway performs settlement-layer validation, so the data availability strategy must be enforceable within that context.
Where can I find more information about migrating a chain to ZKsync Gateway?
Detailed instructions are available in the ZK Stack migration guide.