ZKcandy Documentation
Developer Guide
Updated 5 June 2025
The ZKcandy Mainnet has successfully implemented the ZKsync V27 upgrade, enabling EVM Equivalence. You can now use most tooling that works on Ethereum to deploy to and interact with the ZKcandy Mainnet.
Welcome to the Developer Guide for the ZKcandy. This document contains guides and examples on how to deploy and interact with contracts on the blockchain.
Contents
- Building on ZKcandy - Understanding ZKcandy’s stack
- IDEs - Integrated Development Environments that work with ZKcandy
- Deploying Contracts (ZKEVM) - Complete contract deployment walkthrough
- Interacting with Contracts - How to use and/or interact with your smart contracts deployed on ZKcandy
Before you begin
Before starting your journey on ZKcandy, please be mindful of the following:
- ZKcandy is a Type-4 Zero Knowledge Ethereum Virtual Machine (ZKEVM) Rollup.
- Prior to June 2025, ZKcandy was a high-level language-equivalent to the Ethereum Virtual Machine (EVM). Today, with the ZKsync V27 upgrade, ZKcandy has EVM Equivalence that makes it compatible with most tooling that works with Ethereum and EVM blockchains.
- ZKcandy is built using the Elastic Chain which is made popular by ZKsync. The semantics of this statement may seem to imply that ZKcandy is a Layer-3 blockchain. This is, however, NOT the case. ZKcandy is a Layer-2 which uses the Ethereum Mainnet for finality.
- The ZKcandy Sepolia Testnet, as the name implies, is a Layer-2 Testnet that uses the Ethereum Sepolia Testnet as its Layer-1.
- For all intents and purposes of this document, it is assumed that all deployments are performed using Externally Owned Accounts (EOA). If you are using a Contract Wallet, please refer to the documentation from your wallet provider.