FAQs

Answers to frequently asked questions about ZKsync OS.

What are the main benefits of ZKsync OS?

The main benefits of ZKsync OS over the previous system include faster performance, higher TPS, the ability to support multiple execution environments, and the decoupling of the prover from execution to enable faster upgrades.

What changes to development workflows will be required to use ZKsync OS?

Developers will be able to use standard EVM tooling and compilers for contract deployment and interaction instead of ZKsync-specific tooling and compilers like zksolc and zkvyper.

For app developers, are there any differences from the Ethereum EVM?

ZKsync OS is fully EVM equivalent. Like with other EVM equivalent L2 solutions, there are a few distinctions that app developers should take note of:

  • ZKsync OS will initially target Cancun for the first version. Support for Pectra will be added soon after.
  • ZKsync OS provides some additional L2-specific functionality like sending messages to the L1 and interoperability via ZKsync Gateway.
  • ZKsync OS can charge additional gas at the end of a transaction to cover pubdata and some additional costs. This doesn’t affect the behavior of contracts, but can require higher gas limits / gas price. See the Double Resource Accounting doc for more information.
  • A different state model is used. For app developers this only affects storage proofs. More details about the storage model can be found in the zksync-os repository.
  • Blake2f (0x09) and KZG point evaluation (0x0a) precompiles are not yet supported.

Is ZKsync OS replacing EraVM? Will existing chains upgrade to it?

Yes, ZKsync OS will replace EraVM for ZKsync chains. Eventually chains that use EraVM with the legacy system will be deprecated.

If there are multiple execution environments, why can’t ZKsync OS run EraVM?

It is feasibly possible to run EraVM with ZKsync OS in the future. However, to enable chains to use ZKsync OS earlier, EVM was prioritized as the first and only execution environment for the initial version.

What will it mean for projects that use native account abstraction on EraVM?

ZKsync OS will use EVM. EraVM and native EraVM account abstraction will not be supported. Any projects that currently rely on native account abstraction on EraVM that wish to switch to ZKsync OS must be migrated.

ERC-4337 will be supported with ZKsync OS. ZKsync SSO contracts will be upgraded for ERC-4337, so projects that rely of ZKsync SSO will be able to continue using it.

EIP-7702 will not be supported in the initial version of ZKsync OS, but will be in a later version.

How can builders leverage any new features or capabilities?

In the initial version of ZKsync OS, capabilities will be similar to those of other EVM L2 chains. However, in the future support for multiple execution environments will enable builders to use alternative programming languages to write smart contracts.

Will chains that use ZKsync OS be able to use interop and Gateway?

Yes, chains that use ZKsync OS will also be able to use ZKsync Gateway and interop.

Does ZKsync OS change what stage ZKsync chains are at?

No, on its own chains that use ZKsync OS will not affect their stage level. However, it may make it easier to move to stages 1 and 2 because improvements to the prover can be deployed more efficiently.

Is there a public testnet and mainnet?

A public devnet is live and ready for testing. You can find the more information in this section of the docs for the network details and getting started with development. Currently there is no public mainnet.

How can I run it locally?

Running a ZKsync OS chain is not yet supported using zkstack. A full guide for running a ZKsync OS chain will be available soon.


Made with ❤️ by the ZKsync Community