Proof centre
What's proven,
and what's checked.
Circuit · snarkpad.eligibility v1.0.0 · depth 16 · Groth16/BN254
Statement
"I know a secret whose credential commitment is a leaf under root. This nullifier is derived from that secret for this launch, this policy and this action. The recipient, cap and expiry are the ones bound here."
| root | Credential Merkle root. The program accepts only the root pinned in the launch policy. |
| launchId | Launch identifier (domain separation) |
| policyHash | Policy sha256, top 253 bits |
| actionTag | 1 = opening-round commitment, 2 = completion-record claim |
| recipient | Recipient public key, bound so the proof can't be redirected |
| capAtomic | Max quote atomic units (u64, range-checked) |
| expiry | Unix seconds (u64). The program rejects expired proofs. |
| nullifier | Poseidon(domain, secret, launch, policy, action). One use only. |
Private inputs (identity secret, salt, Merkle path) stay on your device inside a Web Worker and are never logged or sent anywhere.
Verification key provenance
- Production key
- None. No ceremony has been run.
- Local-test key
- …
Unavailable
Production proofs need a ceremony-backed proving key and the deployed proof-authorization program. Neither exists yet.Local test environment · not a production proof
Run a genuine test proof
This builds a fresh local credential tree, generates a real Groth16 proof in your browser, and verifies it. The keys come from a deterministic single-party setup, so anyone could forge with them. The result proves the circuit works. It doesn't make you eligible for anything.
Privacy boundaries
- — Hidden: which credential (leaf) you hold, and your identity secret.
- — Public: your wallet, escrow amount, lock tier, the nullifier and the transaction itself.
- — A nullifier stops one credential from being used twice per launch and action. It says nothing about how many people are behind it.
- — Whoever issues credentials decides who gets one. The proof only shows that a credential is in the root, not why.
- — Coming later, not live: completion-record credentials that you can prove privately at another launch.
- — Coming later, not live: an aggregate private release-envelope proof. Public schedule checks work without it today.