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.
To install Provekit run this simple install script
Discover Provekit. Check out the comprehensive guide for a seamless introduction and installation.
Core features
Mobile friendly
Light weight
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.