Open to a second look

How every draw works

The entries are sealed. The draw uses public randomness. And you can check the result yourself.

Check a draw
How it comes together

Three 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.

COMMITMENT (SHA-256)9311c3…1865ce

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.

SEALED LIST ROOTfed527…6e1d03

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.

DRAND ROUND Nº 32,542,2215f113f…bfba5e
What is drand?

Values shown are from the latest published draw.

See the calculation
winner = HMAC(secret, dice_roll : sealed_list) mod entries

In 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.

Verify it yourself

Check a real draw

Enter a draw number to load its public evidence, then re-run the result in your browser.

The boundaries

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.

A little more detail

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.