Provably fair

Verify Every Draw

Don't trust — verify. Every drawing publishes two files anyone can audit. Pair them with the pre-committed hash and the public drand beacon and the math is end-to-end checkable.

snapshot.json

Who was eligible

Top of file
winner · randomWord · randomIndex · totalTickets · snapshotBlock · snapshotHash · vrfRequestId
Body
Every eligible holder + their ticket count, sorted by wallet address.
Hash
SHA-256 of the sorted [address, tickets] pairs — locks the participant set.

tickets.json

Which ticket belongs to whom

Top of file
winner · randomIndex (cross-check with snapshot.json)
Body
Array of { owner, from, to } — each holder owns contiguous ticket ranges.
Order
Exact on-chain sortition-tree walk order — walking the ranges reproduces the contract's pick step for step.

How to verify a drawing

01

Open the draw you want to audit and download both files — snapshot.json and tickets.json.

02

Check both files declare the same winner address and the same randomIndex.

03

Walk the ticket ranges in tickets.json until you reach randomIndex — the owner of that range must equal the winner.

04

Hash the sorted [address, tickets] pairs from snapshot.json with SHA-256 — it must equal snapshotHash.

05

Confirm the beacon: randomIndex must equal the drand round’s randomness mod totalTickets, the beacon signature must verify against the quicknet public key, and the snapshot commitment must be anchored on-chain before the round’s emission time.

…or open any draw below — the checks run automatically in your browser.

Why this is fair

drand randomness

The winning index comes from a pre-declared drand beacon (League of Entropy) — unpredictable before the draw, verifiable by anyone after.

Frozen participant set

The holder snapshot is committed by SHA-256 hash at the award block. Anyone re-indexing the chain sees the same set.

Equal odds per ticket

Every ticket has exactly 1 / totalTickets chance. More BALL means more tickets — never better ones.

Independent re-runs

Pull the same files, run the same modulo, walk the same ranges. The result reproduces on any machine.

Verification archive

Every drawing, since day one.