Package Exports
- zksync-cli/lib
Readme
‣ zkSync CLI

This CLI tool simplifies the process of developing applications and interacting with zkSync.
🛠 Prerequisites
- Node.js v18 or higher
- Git
- Docker (for
zksync-cli devcommands) - Yarn (for
zksync-cli createcommands)
📥 Usage
You can run commands without installation: npx zksync-cli. For example: npx zksync-cli dev start.
💻 Commands
Local development commands
npx zksync-cli dev - Manage local zkSync development environment. It allows to easily start zkSync stack locally, for example: local Ethereum and zkSync nodes, Block Explorer, Wallet and Bridge.
General:
npx zksync-cli dev start- start local development environment (will ask to configure if starting for the first time)npx zksync-cli dev clean- clean data for configured modulesnpx zksync-cli dev config- select modules to run in local development environment
Modules:
In addition to default modules, you can install custom modules from NPM.
npx zksync-cli dev install [module-name]- install module with NPM (e.g.npx zksync-cli dev i zkcli-dummy-module)npx zksync-cli dev modules- displays list of installed modules
Run npx zksync-cli dev to see the full list of commands.
Bridge commands
npx zksync-cli bridge deposit: deposits funds from Ethereum (L1) to zkSync (L2)npx zksync-cli bridge withdraw: withdraws funds from zkSync (L2) to Ethereum (L1)npx zksync-cli bridge withdraw-finalize: finalizes withdrawal of funds from zkSync (L2) to Ethereum (L1)
Create Project commands
npx zksync-cli create: Create a project using updated templates.- Frontend: Rapid UI development with templates for Vue, React, Next.js, Nuxt, Vite, etc. Options include viem, ethers, web3modal, rainbowkit. More Info
- Contracts: Quick contract deployment and testing with Hardhat + Solidity or Hardhat + Vyper. Solidity Template, Vyper Template
- Scripting: Automated interactions and advanced zkSync operations using Node.js, with examples of wallet or contract interactions using viem or ethers. Scripting Templates
Other commands
npx zksync-cli help: Provides information about all supported commandsnpx zksync-cli help <command>: Provides detailed information about how to use a specific command. Replacewith the name of the command you want help with (e.g., create,dev config,bridge withdraw-finalize)npx zksync-cli --version: Returns the current version
🔗 Supported bridge chains
By default zkSync CLI bridge commands support Era Testnet and Era Mainnet. You can also use other networks by overwriting L1 and L2 RPC URLs. For example: npx zksync-cli deposit --l2-rpc=http://... --l1-rpc=http://...
If you're using local setup (dockerized testing node) with default L1 and L2 RPC URLs, you can select Local Dockerized node option in the CLI or provide option --chain local-dockerized.
👩💻 Developing new features
Run in development mode
- Install all dependencies with
npm i. - To use CLI in development mode run
npm run dev -- [command] [options](eg.npm run dev -- bridge deposit --chain=era-testnet).
Building for production
- Install all dependencies with
npm i. - This project was build with Typescript. Run
npm run buildto compile the code into/bin. - You can run your local build with
node ./bin
Testing
At the moment, we don't have any tests, but we are working on it. In the meantime, you can test the code manually by running the code in development mode.
🌍 Official Links
📜 License
This project is licensed under MIT.