Skip to content

Verify a giveaway result

Paste the list of entries, add the seed from the proof link and see whether the winners and the code are the same.

The draw to check

Open the proof link the host shared and these fields fill in by themselves. Or type them.

32 characters, shown in the proof link after “seed=”.

For example GT-0F9AE-0A8B0.

The list of entries

Nothing you paste leaves this device.

You do not need the host’s account. The check runs on your device and nothing is sent anywhere.

How do you verify a giveaway winner?

Open the proof link the host shared, paste the list of entries the host published and press “Check the result”. The page repeats the draw with the same seed and tells you whether it gives the same winners and the same verification code.

If you are the host, you get the link, the code and the entry list after each draw on the giveaway winner picker: use “Copy proof link” and “Save entry list”.

What a matching code proves, and what it does not

A check is worth as much as the list behind it.

What the verification covers
QuestionDoes the code answer it?Why
Was a winner swapped after the draw?YesThe names drawn are part of the code. Another name gives another code.
Was the list changed after the draw?YesThe fingerprint of the list is part of the code. One line added, removed or edited changes it.
Did every entry have the same chance?YesThe method is public and removes the bias a simple “random number modulo N” would have.
Is the list complete?NoOnly the post itself shows that. Compare the published list with the comments.
Did the host draw only once?NoEach draw has a new seed. Ask hosts to announce the code right after drawing.

The method, step by step

Published so that anyone can rebuild it without this site.

  1. Each entry of the final list becomes one line: the user in lower case, then a tab and the comment when there is one.
  2. The lines are sorted by character code, so the order of the paste does not matter.
  3. The fingerprint of the list is the SHA-256 hash of the lines joined by a line break.
  4. The seed is 16 random bytes from the browser’s cryptographic generator (crypto.getRandomValues), written as 32 hexadecimal digits.
  5. Random numbers come from SHA-256 of “seed:fingerprint:counter”, with the counter going 0, 1, 2 and so on. Each hash gives eight 32-bit numbers.
  6. To choose among N entries, a number is used only if it is below the largest multiple of N that fits in 32 bits. The others are discarded, which keeps the chances exactly equal.
  7. A Fisher–Yates shuffle with those numbers picks the winners first and the backups next. An entry cannot be picked twice.
  8. The code is “GT-” plus the first 10 hexadecimal digits of SHA-256 of “fingerprint|seed|winners|backups|picked lines”.
Example to try: 8 lines, 1 winner

List: Ava, Ben, Ben, Cleo, Dev, Eli, Ava, Fay (one per line, duplicates kept).

Sorted lines: ava, ava, ben, ben, cleo, dev, eli, fay.

Fingerprint: 71c15d760c34f6edf86166e23d05537b8ab780a2996b060e4769b008f58f381d

Seed: 1234567890abcdef1234567890abcdef

Press “Load an example” in the tool above and then “Check the result”.

Winner: Dev · Code GT-A9B50-5E7B7

If the result does not match

Most mismatches are a different list, not a rigged draw.

  • Use the saved entry list. It is the exact text that went into the draw. Comments copied again from the post can differ: someone commented later, deleted a comment or edited it.
  • Check the number of entries. The proof link says how many took part. If your list has another number, the page tells you both.
  • Check the code you typed. It has the form GT-XXXXX-XXXXX, with digits and the letters A to F only.
  • Ask the host. A host who followed the steps in how to run a fair giveaway has the list, the link and the code at hand.

Pick a giveaway winner

Frequently asked questions

How do I verify a giveaway result?

Open the proof link the host shared, paste the list of entries the host published and press Check. The page repeats the draw and tells you whether the winners and the verification code are the same.

What does “the result matches” prove?

That this exact list, with this seed and these settings, produces exactly these winners. It shows the host did not swap a name after the draw or change the list without changing the code.

What does it not prove?

It does not prove that the list is complete or that the host drew only once. Ask the host to publish the list of entries and to announce the code as soon as the draw is made.

Why does my check say the list is different?

Because at least one line is not the same as in the original draw: a comment was added or deleted, or the text was copied in another format. Ask the host for the saved entry list, which is the exact text used.

Do I need the host’s account or password?

No. You need only the proof link and the list of entries. The check runs in your browser and nothing is sent anywhere.

Can I repeat the draw without this site?

Yes. The method is published on this page: sorted lines, SHA-256, a seed, rejection sampling and a Fisher–Yates shuffle. Any programmer can rebuild it in a few lines and get the same names.

What is the seed?

A random number of 128 bits created by the host’s browser at the moment of the draw. Together with the list, it decides the result. The same seed with the same list always gives the same winners.

Is my check stored?

No. Nothing you paste on this page leaves your device, and the page keeps nothing after you close it.