Fairness
Provably Fair
The hash of the secret number is published BEFORE each draw, the number itself — AFTER. Your browser recomputes everything below. You don't have to trust us.
Latest draw — checked live
Loading…
How it works
Commit-reveal in three steps

1 · We lock in the number. Before every draw we publish the hash of a secret number. A hash is a one-way “fingerprint”: the number itself can’t be recovered from it. hash = SHA-256(seed)

2 · We compute the winner. Once ticket sales close, we derive the winner with a fixed, public formula.

3 · We reveal the number. After the draw, the secret number itself is published. Anyone can re-hash it and confirm the number was never changed.

Winner formula
winner_index = SHA-256(seed || drand || draw_id || ticket_count) mod ticket_count

seed — the secret number locked behind a hash before the draw; drand — a value from the public drand randomness beacon (drand.love), so the operator can't pick a seed after tickets are sold; draw_id — keeps one seed from being reused; mod gives an index in 0…N-1.

FAQ

Why should I trust you?
You don’t have to — you can verify. The hash of the number is published before the draw. Afterwards we reveal the number itself, and you compute the hash yourself in your browser. If it matches, the number was never changed.

What if you swap the seed?
You can’t. SHA-256 is built so that finding a different number with the same hash is a task beyond all the computers in the world. If we tried, your own check would show a mismatch.

Can I verify offline?
Yes. Save the seed, hash and draw_id from the draw page, open any offline SHA-256 calculator and recompute the values yourself.

What is SHA-256?
A cryptographic hash function. It takes any data and returns a 64-character fingerprint. The original data can’t be recovered from the fingerprint. It’s used in Bitcoin, TLS and across the internet.

Every LotoFriend draw under the commit-reveal scheme can be verified on this page.