Reference implementation, already live.
The live prover on this site is the working end-to-end example — a Lovable build that compiles a Noir circuit in the browser, generates a witness, proves it with UltraHonk, verifies it locally and fails a deliberately tampered proof. Every mega-prompt in the index is a smaller slice of this exact shape.
Vol. 01 · No. 01 · Live · /proverThe browser prover — the working reference build.
A TanStack Start app that loads noir_wasm and bb.js client-side: compiles Noir source at runtime, proves a private age predicate bound to a Pedersen commitment, verifies it, and shows per-phase timings plus a tamper check — no server, no secrets, nothing leaves the page.
Prove a range without the value
Private inputs stay private: assert(dob_year <= threshold_year) proves the claim while only the threshold and the return value are public.
Which secret, without the secret
Return pedersen_hash over two 128-bit limbs of a SHA-256 binding. A verifier can link two proofs to the same source without ever seeing it.
One of many, anonymously
Walk a Merkle path in-circuit against a public root. Membership is proven; which leaf you hold is not.
Verify inside the circuit
Check an issuer signature in-circuit, or aggregate many proofs into one. Show the predicate only — never copy the holder's data into your database.
noir-lang/noir ↗
The Noir language, compiler and standard library — plus the ACIR format that Barretenberg proves against.
Docs · noir-lang.orgDeveloper documentation ↗
Language reference, proving backends, browser and Node.js integration guides, and the standard library of hashes and signature checks.
More showcases land here as builders ship them.
Pick any entry from the index, choose a build mode, paste its mega-prompt into Lovable, and your build will join the showcase.