Skip to content

ProveKit Documentation

A client-side zero-knowledge proof toolkit for shipping Noir circuits to production, across native, browser, mobile, server, and on-chain verification.

ProveKit turns a Noir circuit into a verifiable WHIR proof. These v1.0.2 guides show the tested CLI and Rust flows, plus the compatibility status of other integration paths.

From a checkout of the v1.0.2 release:

Terminal window
cd noir-examples/basic
cargo run --release --bin provekit-cli -- prepare # compile circuit → .pkp + .pkv
cargo run --release --bin provekit-cli -- prove # .pkp + Prover.toml → proof.np
cargo run --release --bin provekit-cli -- verify # .pkv + proof.np → exit 0

That’s the CLI proving pipeline. The Rust integration was also verified with v1.0.2 artifacts; check each platform guide before using those artifacts in another runtime. Walk through it step by step →

Quickstart

Prepare keys, generate proof.np, and verify it locally using the noir-examples/basic circuit.

Run the quickstart →

What is ProveKit?

A developer-friendly introduction to zero-knowledge proofs and the problems this toolkit solves.

Read the overview →

Pick an integration

Choose where ProveKit runs in your system, CLI, Rust, WASM, mobile, or recursive.

Integrations overview →

Deployment checklist

The provenance, evidence, and operational controls required before accepting proofs in production.

Review the checklist →

For the full integration menu, including CLI, HTTP verifier, and recursive paths, see Integrations overview.

.pkpProver key, produced by prepare, consumed by prove and recursive export.
.pkvVerifier key, produced by prepare, consumed by verify.
proof.npWHIR proof, produced by prove, consumed by every verification path.
r1cs.jsonRecursive-verifier R1CS, exported from a matching .pkp and proof.

Every artifact is bound to a specific circuit and release. Treat them as versioned deployment objects. See Artifact lifecycle for the full pairing rules.