Introduction

Welcome to the ZKsync Docs.

ZKsync 101

If you're new to Web3, get started with a set of curated tutorials

Environment

If you're familiar with Web3 and L2s, jump straight to the environment links

The ZKsync Network is a system of interconnected chains (rollups or validiums), also known as the Elastic Network. ZKsync chains use cryptographic validity proofs to provide scalable and low-cost transactions on Ethereum. The first chain in this network is ZKsync Era, a Layer 2 ZK rollup.

See the full list of chains here.

In chains of the Elastic Network, computation is performed off-chain and most data is stored off-chain as well. Transactions are bundled into batches before generating a validity proof. As all validity proofs are proven on Ethereum, users enjoy the same security warranties as in the L1.

ZKsync chains are designed to look and feel like Ethereum, but with a higher throughput and lower fees. Just like on Ethereum, smart contracts are written in Solidity/Vyper and can be called using the same clients as in other EVM-compatible chains.

You don't need to register a separate private key before using it; the ZKsync Network supports existing Ethereum wallets out of the box.

Main features

Security inherited from Ethereum, with zero reliance on 3rd parties.

Permissionless EVM-compatible smart contracts.

Preserving key EVM features, such as smart contract composability.

Standard Web3 API.

State updates via transaction outputs (also known as state diffs) which provides significant cost savings over transaction inputs.

Native account abstraction with improvements over EIP4337 (implemented in Ethereum and other rollups).

You can find more information about ZKsync Era in L2BEAT.

Developer experience

ZKsync chains are built to provide a similar developer experience as Ethereum.

Smart contracts can be written in Solidity or Vyper.

Use standard solc and vyper compilers for EVM bytecode execution via the EVM Interpreter.

Use custom compilers zksolc and zkvyper to compile contracts to native EraVM bytecode for more efficient execution.

Most contracts work out of the box so migrating projects is seamless.

Use existing frameworks like Hardhat and Foundry, libraries like Ethers, Viem, or web3.js, and tools like theGraph, Thirdweb, or Chainlink.

Web3 API compatibility enables support of most developer tools.

Different tools for testing and debugging locally.

User experience

Interacting with applications built on the ZKsync Network is seamless, cheap and fast. On ZKsync chains:

  • Transactions have instant confirmations and fast finality on L1.
  • Transaction fees are extremely low (average transaction costs).
  • Transaction fees can be conveniently paid with ERC20 tokens (e.g. USDC) thanks to native account abstraction and paymasters.
  • Support for existing Ethereum-based wallets like Metamask, TrustWallet, Zerion, Rabby, etc.
To add ZKsync Era to your wallet, see Connect to ZKsync Era.

Made with ❤️ by the ZKsync Community