Prove you are on a gate's allowlist without saying which entry is yours. One claim per member per gate, enforced by a nullifier.
Prove What Matters. Reveal Less.
Privacy by Proof. Trust by Design.
Prove you are on an allowlist without saying which entry, or that an attested number clears a bar without showing it. Groth16 proofs, built in your browser, checked on Elysium.
Single-contributor setup: not for anything of value. A proof hides which member you are or your exact value; your address, the gate, the time and the nullifier or commitment stay public.
Prove it with Zksium
Five tools around one contract on Elysium. Each card says what it does today; the planned list is separate.
Prove that a value an attester committed to is at least a threshold. The value stays in your browser; only the yes travels.
Check any Zksium proof three ways: in your browser, with the verifier run on Elysium's own precompiles, and against the gate's rules.
The same TypeScript package this site runs on: identities, member trees, commitments, Groth16 proofs, bundles and the contract ABI.
import { createIdentity, leafOf, MemberTree,
proveEligibility, toBundle } from "@zksium/sdk";
const me = createIdentity(); // secret stays local
const tree = new MemberTree(leaves); // from MemberAdded logs
const p = await proveEligibility(snarkjs, files,
me, tree.path(i), scope, recipient);
const bundle = toBundle(p, 99901, gate, gateId);Create proofs, check them, and track each one from generated to recorded on chain. Gates and claims are read live from Elysium.
Before you trust a proof
What stays public
Your address, the gate, the time, the root, and the nullifier or commitment a claim used. A proof hides which member you are, or your exact value.
Secrets never leave
Proofs are built in a Web Worker in your browser. The secret, the value and the salt are never sent to our server or the chain.
Honest trusted setup
Phase 1 from a public Powers of Tau file, checksum verified. Phase 2 had one contributor: fine to try, not safe for value.
One claim per member
Each member gets one nullifier per gate, so a second claim by the same member is refused. Nullifiers differ between gates, so they do not link one member across gates.
Bound to the recipient
The recipient address is part of the proof, so a proof copied from the mempool cannot be redirected to someone else.
Open circuits and verifiers
Circom source, the setup record, the generated Solidity verifiers and 24 Foundry tests with real proofs are in the repository.
BUILT WITH
Planned, not built
Proof Generation Credits · Developer API · Privacy Tools · Integration Services · Multi-party setup. $ZKSIUM would pay for these once they exist; today every proof is free.
See the plan