Client-side zero-knowledge,
built for the real world
Turn a Noir circuit into a proof your users generate on their own device. Verify it anywhere
you need to, from a server to a browser tab to a smart contract.
Proving, verification, and compilation are separate, swappable pieces. Use the parts you need, drop the ones you don't, and keep the same proof artifacts working everywhere.
2
Mobile friendly
Proofs are generated right on the user's device, whether a phone, a browser tab, or a laptop. Private data never has to leave it, and no heavy backend is required.
3
Light weight
Built in Rust with optimized field arithmetic, Provekit keeps resource usage minimal so it runs efficiently even on constrained hardware.
BENCHMARKS
Real-world proofs,
right on the client
ProveKit v1 turns structured input into a serialized proof in seconds on everyday
devices—including witness generation. No trusted setup, no server round trip.
Comprehensive list of
answers to all your questions
What exactly is Provekit?
Provekit is a modular, client-side zero-knowledge toolkit built in Rust with WebAssembly bindings. It bundles a prover, verifier, and circuit compiler into a single lightweight package designed to generate proofs directly on a user's device — no trusted setup, no server round-trip required.
Does it work in the browser?
Yes. The prover ships as a ~340 KB WASM module with a TypeScript wrapper around it, and runs in any modern browser that supports SharedArrayBuffer. A typical Groth16-style proof completes in under 2 seconds on a mid-range laptop, and under 6 seconds on a 2022-era phone.
Is TypeScript supported?
First-class. Every public API is shipped with hand-written .d.ts files, and circuit inputs are fully typed against the Noir source — rename a witness in your circuit and the TypeScript compiler will flag every caller. ESM and CommonJS builds are both available.
Can I use it for runtime validation in production?
Provekit is used in production by World, Atheon, and a handful of other partners listed above. The proving and verification pipelines are deterministic across versions, the WASM module is reproducibly built from source on every release, and we publish signed checksums alongside each npm publish.