Blog
Problems

You cannot answer "that was rigged" with "no it wasn’t"

Parth5 min read


How do you prove a giveaway was not rigged?

Commit to a random seed before entries close, publish it afterwards, and publish the list of entrants alongside it. Anyone can then recompute the pick and see it matches. That proves the winner was determined before the draw and not changed after — which is the accusation people actually make.

It arrives eventually, usually from someone who has entered four times and won nothing, and usually as a joke that is not entirely a joke. "Rigged." And the problem is not that you cannot answer it — it is that every answer available to you is your own word, and your own word is exactly what is in question.

Reading the name out again does not help. Showing chat the wheel does not help, because you controlled the wheel. Nothing you can say from inside the stream settles it, which is why the accusation is annoying out of all proportion to how seriously anyone means it.

The specific thing people are accusing you of

Worth being precise, because it changes what evidence would help. Almost nobody thinks you hacked a random number generator. What they suspect is one of three much more human things: that you picked a friend, that you re-rolled until you liked the answer, or that someone was added to the pool who should not have been there.

All three share a shape — they are about changing something after seeing the outcome. So the evidence that answers them is evidence that the outcome was fixed before anyone could see it.

Commit–reveal, without the cryptography lecture

The mechanism is old and simple. Before entries close, the system generates a random seed and publishes a fingerprint of it — a short string derived from the seed that reveals nothing about it, but which could only have come from that exact seed. That is the commitment: it is now on record, before anyone knows who entered or who will win.

When the draw finishes, the seed itself is published. Anyone can check that it matches the fingerprint from earlier, and then recompute the winner from the seed and the entrant list. If the answer matches the person who won, the draw could not have been altered — because changing the winner would require a different seed, and a different seed would not match a fingerprint that was published before the draw.

This is the same idea as writing a prediction on a card, sealing it, and letting someone else hold the envelope. The clever part is not the maths; it is the ordering.

Giveaway
Y82JCF
kloot.gg/join
Steam key · Elden Ring
142entries
🏆
Winner
Priya
wins Steam key · Elden Ring
142 entered
Draw #a1b2 · 142 entered · verified ✓
kloot.gg/join/Y82JCF/results
kloot.gg/join/Y82JCF/results

Fairness receipt

Steam key · Elden Ring

Seed committed
before entries closed
Entrants
142 fingerprints
Draw
#a1b2

Verified ✓

The overlay footer during the draw, and the public results page it points at afterwards.

The entrant list has to be frozen too

A committed seed alone is not enough, because the second accusation — someone was added — is about the pool rather than the pick. So the list of entrants is frozen at the moment entries close and published with the receipt.

Publishing a list of your viewers’ names would be its own problem, so the entrants appear as fingerprints rather than names: an entrant can confirm their own entry is in the list, and nobody can read the list to find out who else entered. That is deliberate, and it is the reason the results page is safe to make public at all.

How a viewer actually checks it

Worth knowing, because a mechanism nobody can operate is a mechanism nobody believes. The results page for a finished draw shows the committed fingerprint, the revealed seed, the entrant pool and the winner, with a button that recomputes the pick in the viewer’s own browser and turns green if it matches. No maths, no tooling, no trust in us to do the checking.

In practice almost nobody presses it. That is fine and slightly the point: the value is that it exists and could be pressed, in the same way a receipt in a shop is mostly unread. What matters is that the answer to "prove it" is a link rather than a protest.

When the odds are not equal

One wrinkle worth knowing, because it changes what the receipt has to show. A draw can be weighted: some tools, Kloot included, let a streamer give viewers who keep turning up better odds — up to twice the shares of a first-timer, earned by attendance and never by paying for anything.

A weighted draw is still checkable, and it has to be, or the weighting would be indistinguishable from favouritism. The receipt publishes the shares alongside the fingerprints, so the arithmetic a viewer recomputes is the same arithmetic the server ran — including who had how many. A streamer cannot quietly hand a friend extra shares afterwards, because the shares were committed with everything else.

Two consequences follow. The entry page has to tell every viewer their own multiplier, not only the ones who benefit — a weighting nobody can see is exactly the thing a sceptic is accusing you of. And receipts published before weighting existed are unaffected: an unweighted draw hashes its pool the way it always did, so nothing that verified last month stops verifying today.

What this does not prove

Here is the limit, stated plainly because a page about honesty that oversells its own mechanism deserves to be disbelieved. The server generates the seed. A determined and malicious operator could, in principle, generate many seeds before committing and pick one whose outcome they liked. Nothing in this scheme prevents that.

So it is not a lottery-grade guarantee and should not be described as one. What it does prove is the thing actually being alleged: that the winner was fixed before the spin, and not changed afterwards. It rules out re-rolling until you liked the result, adding a friend at the last second, and quietly swapping the name — which is the entire realistic accusation set.

Why the old advice does not work

The standard suggestions are recording the draw, using a third-party wheel site, or showing your screen. Each is better than nothing and none of them survives a determined sceptic, because all three depend on the honesty of the person operating them. A recording shows the draw you chose to record. A third-party wheel shows a list you chose to paste in. Screen-sharing shows what happened after you decided what to do.

The difference with a commitment is the ordering: the evidence is created before you know the outcome, so it cannot be selected after the fact. That is the whole distinction, and it is why "I streamed the whole thing" feels like it should be enough and somehow is not.

Two things that help before anyone accuses you

First, publish the rules before entries open. A surprising share of "that was rigged" is really "I did not know that rule existed", and stating eligibility and the draw method up front converts an accusation into a disagreement about something written down.

Second, if it matters, require sign-in so one identity enters once. That does not make the draw fairer, but it makes the entrant list mean something, which matters when you are defending it. It costs entries — noticeably — so it is worth it for a large prize and usually not for a game key.

And the ordinary version: run the draw on screen. A wheel that everyone watches land removes the entire category of suspicion that comes from a name simply appearing.

ShareXFacebookWhatsAppRedditLinkedIn

Questions people ask

How can I prove my giveaway was not rigged?
Publish a commitment to the random seed before entries close, then publish the seed and the frozen entrant list afterwards. Anyone can recompute the winner and see it matches, which proves the pick was fixed in advance and unchanged after.
What is a provably fair giveaway?
One where the outcome can be independently verified rather than taken on trust. In practice that means commit–reveal: a fingerprint of the seed published before the draw, the seed itself published after, and the entrant pool recorded so nobody can be added later.
Does a fairness receipt prove the tool itself is honest?
No, and be wary of anyone who says otherwise. The server generates the seed, so a malicious operator could in principle grind seeds before committing. What it proves is that the winner was fixed before the spin and not changed afterwards — which is the accusation people actually make.
Are entrants’ names published?
No. Entrants appear as fingerprints, so someone can confirm their own entry was in the pool but nobody can read the list to see who else entered. Publishing a list of your viewers would trade one problem for a worse one.
What if I need to reroll because the winner never claimed?
That is a normal outcome and it is recorded rather than hidden — the receipt shows what happened, including rerolls, so an honest reroll looks different from a quiet one. That distinction is the point of writing it down.

90 seconds from now,
confetti hits your stream.

Sign in → paste one URL → press a button. That’s it. Your viewers will notice the difference tonight.

Free forever · Creator $99/yr or $15/mo · Pro $149/yr or $25/mo · Event Pass $9 for 3 days