Skip to content

Installation and setup

There are two ways to get provekit-cli on a machine. Use cargo install when you just need the CLI and have your own circuit. Use a source checkout when you want the bundled Noir examples, the WASM/FFI/server crates, or you’re contributing to ProveKit.

RequirementWhy it matters
Rust via rustupCargo installs and builds the CLI. Source builds use the toolchain pinned in rust-toolchain.toml.
Git (source path only)Clones the repository and records exact commits for artifact provenance.
Go toolchain (optional)Required only for recursive-verifier development.
Terminal window
cargo install provekit-cli
provekit-cli --help

This builds and installs the latest published release into ~/.cargo/bin/. Use this when you have your own Noir package and don’t need the bundled examples or extra tooling.

Pin a specific version for reproducible CI:

Terminal window
cargo install provekit-cli --version 1.0.0 --locked

If you installed via cargo install, point the CLI at your own Noir package. To run the canonical example, you need a copy of noir-examples/basic/ from the repository:

Terminal window
cd noir-examples/basic
cargo run --release --bin provekit-cli -- prepare
cargo run --release --bin provekit-cli -- prove
cargo run --release --bin provekit-cli -- verify

If verify returns exit code 0, your setup is healthy.

TargetAdditional tooling
Browser / Node.jsBuild the WASM package in tooling/provekit-wasm/ and load .pkp / .pkv artifacts as bytes.
iOSBuild or consume the Swift SDK package mode used by your app, then link the required native artifacts. macOS is not supported.
AndroidPackage the JNI libraries required by the Kotlin/Android host and test on target ABIs.
Verifier serverBuild the Rust HTTP server in tooling/verifier-server/ and configure the Go verifier binary path.
Recursive verifierUse the Go module in recursive-verifier/ with the params_for_recursive_verifier and r1cs.json exported by the CLI.

All of these require a source checkout.

A healthy setup satisfies all of these checks:

  • provekit-cli --help (or cargo run --release --bin provekit-cli -- --help for source builds) prints the CLI help text.
  • The Quickstart completes with verify returning exit code 0.