+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.
+
+
+## See it in three commands
+
+From a fresh checkout of the [ProveKit repository](https://github.com/worldfnd/provekit):
+
+```sh
+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 whole proving pipeline. Every other integration, Rust, WASM, mobile, is the same flow against the same artifacts. [Walk through it step by step →](/getting-started/quickstart/)
+
+## Get started
+
+
+
.pkpProver key, produced by `prepare`, consumed by `prove`.
+
.pkvVerifier key, produced by `prepare`, consumed by `verify` and recursive export.
+
proof.npWHIR proof, produced by `prove`, consumed by every verification path.
+
r1cs.jsonRecursive-verifier R1CS, exported from a matching `.pkv` and proof.
+
+
+Every artifact is bound to a specific circuit, commit, and hash choice. Treat them as versioned deployment objects. See [Artifact lifecycle](/concepts/artifact-lifecycle/) for the full pairing rules.
+
+