How every draw works
The entries are sealed. The draw uses public randomness. And you can check the result yourself.
Check a drawThree inputs. A repeatable result.
The app’s secret
Locked in before anyone enters. Revealed when the draw runs.
How it works
A random secret we generate and immediately fingerprint with SHA-256. The fingerprint is published before entries open; the secret itself is revealed at draw time, so you can confirm we never swapped it.
The sealed list
An exact record of the entries at the deadline.
How it works
At the deadline every entry is sorted and hashed into one root. Nothing can be added, removed, or reordered afterwards without changing that root - so the list you see is the list we drew from.
The world’s dice roll
A future random value from an independent public network.
How it works
A drand round: public randomness a league of independent parties produces on a fixed schedule. No one - not even us - can predict or bias it. We commit to the round number before entries open.
Values shown are from the latest published draw.
See the calculation
winner = HMAC(secret, dice_roll : sealed_list) mod entriesIn plain terms: mix the revealed secret with the public dice roll and the sealed list, turn the result into a number, and count that far down the list. Same three inputs, same winner, every time - on our servers or in your browser.
Check a real draw
Enter a draw number to load its public evidence, then re-run the result in your browser.
What stays fixed
We can’t change the list after sealing. The root is published at the deadline; any edit makes it stop matching.
We can’t re-roll.One drand round is committed in advance. If we didn’t like the result, there is no second draw to reach for.
We can’t verify likes.X keeps them private, so a like never decides a draw. If we can’t check a condition, it doesn’t affect your odds.
Questions worth asking
Can you see who's going to win before the deadline?
No. The winning number comes from a drand round whose randomness does not exist until after entries close. We commit to that round's number before entries open, so we can't shop for a friendly one either.
Could you swap the secret after seeing the entries?
No. We publish a SHA-256 fingerprint of the secret before entries open. At draw time we reveal the secret itself; anyone can check it still hashes to the fingerprint we committed to. A swapped secret fails that check.
What stops you adding or removing entries after the fact?
At the deadline the full entrant list is sorted, hashed, and its root published. Change one entry - add, remove, or reorder - and the root no longer matches. The verifier catches it.
What is drand, exactly?
A public randomness beacon run by a league of independent organisations. Every few seconds it publishes a new random value with a signature that proves the whole network produced it - no single party, including us, can bias or predict it.
Why isn't 'like the post' a winning condition?
Our current X integration cannot verify likes reliably, so a like never decides a draw. Likes are honour-system only and marked as such.
Do I have to trust your server to believe a result?
No. The verifier on every certificate runs in your browser against the published values and produces the same deterministic ordering from the same inputs.