Quickstart
Prepare keys, generate proof.np, and verify it locally using the noir-examples/basic circuit.
ProveKit turns a Noir circuit into a verifiable WHIR proof, then lets you verify that proof wherever you need it, locally, in a Rust service, in the browser, on iOS or Android, or on-chain through a Groth16 recursive verifier.
From a fresh checkout of the ProveKit repository:
cd noir-examples/basiccargo run --release --bin provekit-cli -- prepare # compile circuit → .pkp + .pkvcargo run --release --bin provekit-cli -- prove # .pkp + Prover.toml → proof.npcargo run --release --bin provekit-cli -- verify # .pkv + proof.np → exit 0That’s the whole proving pipeline. Every other integration, Rust, WASM, mobile, is the same flow against the same artifacts. Walk through it step by step →
Quickstart
Prepare keys, generate proof.np, and verify it locally using the noir-examples/basic circuit.
What is ProveKit?
A developer-friendly introduction to zero-knowledge proofs and the problems this toolkit solves.
Pick an integration
Choose where ProveKit runs in your system, CLI, Rust, WASM, mobile, or recursive.
Deployment checklist
The provenance, evidence, and operational controls required before accepting proofs in production.
ProveKit runs the same proof artifacts across server, browser, and mobile. For the full menu, including CLI, HTTP verifier, and recursive paths, see Integrations overview.
prepare, consumed by prove.prepare, consumed by verify and recursive export.prove, consumed by every verification path..pkv and proof.Every artifact is bound to a specific circuit, commit, and hash choice. Treat them as versioned deployment objects. See Artifact lifecycle for the full pairing rules.