Practical overview
When it fits
Use it when starting or structuring an o1js-based Mina zkApp project, adding standard source and test files, or preparing deployment settings for a Mina network.
Who it is for
- Mina Protocol zkApp developers
- TypeScript developers working with zero-knowledge smart contracts
- Learners following Mina's zkApp tutorials and examples
- Teams wanting a Git-based project template with testing and CI setup
Documented uses
- Generate a Mina zkApp project from a standard template
- Create source files together with test files
- Build and test an o1js project locally
- Create example projects from the Mina zkApps examples
- Prepare network-specific deployment configuration
Requirements & limits
The CLI is installed globally with npm and is distributed from a public GitHub repository under the Apache-2.0 license. The documented environment requires Node.js 18 or later, npm 10 or later and Git 2 or later.
- It is specialized for Mina Protocol zkApps rather than general-purpose blockchain application scaffolding.
- o1js is automatically included in projects created by the CLI.
- Generated projects include Git initialization, a GitHub Actions CI workflow, Prettier formatting and ESLint checks with Git pre-commit hooks.
- Deployment configuration requires a Mina GraphQL API URL, a transaction fee, a zkApp key pair and a fee-payer account.
- The tool is command-line based and intended for a self-managed development environment.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Create a Mina zkApp project
Set up a local project template for Mina zkApp development.
Before you start
- Node.js v18 or later
- npm v10 or later
- Git v2 or later
Steps
Install the CLI globally with npm install -g zkapp-cli.
Confirm the installation with zk --version.
Create a project with zk project my-proj, or provide another project path.
Enter the project directory and use the generated README for the available build and test commands.
Expected outcome
A new project directory is created with o1js, npm setup, a Git repository, a standard template and development configuration.
Guide limitations
- This recipe covers project creation and local setup; it does not document a completed deployment.
- The command requires the listed Node.js, npm and Git versions.
Prepare a deployment configuration
Create or update a deployment alias for a Mina zkApp.
Before you start
- A generated zkApp project
- A Mina GraphQL API URL for the target network
- A transaction fee in MINA
- A zkApp key pair
- A fee-payer account and key pair
Steps
Run zk config in the project.
Respond to the interactive prompts to create or update a deploy alias.
Provide the network's Mina GraphQL API URL and transaction fee.
Select or recover a fee-payer account when prompted.
Expected outcome
The project's config.json contains deployment-related settings for the selected alias, including network, fee and account information.
Guide limitations
- A fee-payer account is required for updates and deployments.
- The documented configuration stage does not by itself establish that a deployment transaction was broadcast or confirmed.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 3 October 2026
- Original website title
- o1-labs/zkapp-cli · Official homepage title · retained in its source language

