Trusted setup: one contributor. Try it; do not guard value with it yet.

Read the setup record

Selective Disclosure

Above the bar. The number stays private.

An attester commits to a value about you and hands you the opening privately. You prove the value is at least a gate's threshold; the gate learns yes and nothing more about the number. The attester still knows it, and the commitment is public.

1 · Your identity (holder)

stays in this browser

An identity is one secret number. Its leaf (a Poseidon hash of the secret) is what you share: a gate admin adds it to an allowlist, an attester binds a commitment to it. The secret never leaves this page. Anyone holding the secret can claim in your place, so back it up and keep it private. The same identity works on both the Eligibility and the Disclosure pages.

2 · Attester: commit a value

value stays off chain

You know a number about someone (a score, a count, an age in days). Ask them for their identity leaf. You publish only the commitment, a Poseidon hash of the value, a random salt and their leaf, and give them the value and salt privately. Because the commitment is bound to their leaf, only they can prove with it, not you. You still know the value and whom you gave it to: the holder trusts you for that.

3 · Holder: prove value ≥ threshold

gate live

The proof says “the value inside this attested commitment is at least the threshold”. The value never leaves this browser. The commitment is public, so two claims with the same commitment can be linked to each other.

A proof hides which member you are (or your exact value). It does not hide your address, the gate, the time, or the nullifier or commitment it uses: those are public on Elysium.

  1. Read the gate's threshold and attester
  2. Check the commitment is attested and not revoked
  3. Build the proof in this browser (value stays here)
  4. Verify it in this browser
  5. Verify it on Elysium's precompiles
  6. Ask the gate whether it would record it
  7. Send the claim (optional)