Skip to content

Proving flow

The CLI wraps ProveKit’s lifecycle in three primary commands (prepare, prove, and verify) plus generate-gnark-inputs when you need to wrap a proof in Groth16 for on-chain verification.

Noir circuit.nr sourceACIRNoir IRR1CSconstraintspreparecompile + emit.pkpprover key.pkvverifier keyProver.tomlwitness inputsprove→ proof.npverifyvalid / invalidgnarkwrapGroth16

prove reads the .pkp plus a per-instance witness (Prover.toml, an input object, or an SDK witness map) and produces proof.np. verify reads the .pkv plus that proof and returns valid or invalid. The optional gnark wrap takes the same .pkv and proof and emits a Groth16 outer proof for EVM consumption.