Skip to content

End-to-end overview

A complete ProveKit run starts with one Noir package and ends with a verified proof. The v1.0.2 CLI and Rust flows below use matching .pkp, .pkv, and proof.np artifacts. Other host integrations need their own compatibility checks.

By default, the CLI resolves the enclosing Noir package from the current directory:

  • prepare compiles . when no package path is provided.
  • prove looks for <package>.pkp and ./Prover.toml.
  • verify looks for <package>.pkv and ./proof.np.

For noir-examples/basic, the defaults are basic.pkp, basic.pkv, Prover.toml, and proof.np.

FileOwnerRegenerate when
<package>.pkpProver-side runtimeCircuit, release/commit, or proving configuration changes.
<package>.pkvVerifier-side runtimeThe prover key is regenerated, or verifier configuration changes.
proof.npProof transport / storage layerInputs change, the prover key changes, or a fresh proof is required.
params_for_recursive_verifier + r1cs.jsonRecursive-verifier integrationThe verifier key or proof changes.

For the actual command flow, use Quickstart for the default paths or Generate artifacts for explicit output paths and recursive export.

Generate CI artifacts

Deterministic paths, pinned release, and recursive-verifier export.

Generate artifacts →

Use Rust directly

Load .pkp / .pkv, prove from TOML, persist proof.np, and verify through the ProveKit crates.

Rust guide →

Check JavaScript compatibility

Review the v1.0.2 WASM and SDK compatibility boundary before using browser or Node.js code.

JS / TypeScript guide →

Check Swift or Kotlin compatibility

Review native FFI and SDK compatibility before using v1.0.2 artifacts on mobile.

Swift → · Kotlin →