Part of the complete guide: Provably fair: the complete guide
What you need
- The draw result on the Draws page: ticket count, fingerprint, drand round, random value and the 14 winners.
- The published ticket list for that draw (loaded by the verify button).
- A browser, or any JavaScript runtime such as Node.
The one-click check
- 1Open the Draws page and find the draw you care about.
- 2Press "Verify this draw yourself". Your browser downloads the ticket list.
- 3Your browser sorts the list, hashes it, builds the seed and repeats the winner calculation.
- 4You see a green confirmation if the fingerprint and all 14 winners match what was published.
- 5Open "Every calculation, step by step" to see each hash, each position and each skipped duplicate.
The independent check
The one-click check runs code from our site. To remove even that trust, do it with your own tools.
- 1Copy the ticket list from the Draws page or the public API and confirm it has the stated number of tickets.
- 2Sort the tickets alphabetically and join them with a newline between each.
- 3Compute SHA-256 of that text and compare it with the published fingerprint.
- 4Fetch the drand value yourself from api.drand.sh using the round number shown, and compare it with the published value.
- 5Compute the seed: SHA-256 of the random value, a colon and the fingerprint.
- 6For k = 0, 1, 2 and so on: hash seed:k, read the first 8 bytes as a number, take it modulo the ticket count, and pick the ticket at that position. Skip it if it was already picked. Stop at 14.
- 7Compare your 14 tickets, in order, with the published winners. The first is the grand prize, the next three are runner-ups, the last ten are lucky draws.
Why the order and the skipping matter
The calculation is deterministic. Position k is derived only from the seed and k, so everyone gets the same sequence. Skipping duplicates ensures that 14 different tickets win. Because the winner order follows pick order, the grand prize is the first distinct pick.
What a mismatch would mean
If your fingerprint differs, the ticket list you have is not the one we drew from. If your winners differ with a matching fingerprint and random value, the winner calculation was applied incorrectly. Either way, send us a message through the contact page with the draw date and what you found. Results are stored permanently and cannot be edited, so a genuine mismatch would be on the record.
What verification cannot cover
- Whether every paid ticket was included. You can check your own tickets on the Track page and confirm they are in the list.
- Whether prizes are paid. We pay manually and winners are emailed.
- Whether the operator is licensed in your country. Check local law.
A tiny example you can follow
Suppose a draw had only five tickets: A, B, C, D and E, sorted in that order. The fingerprint is the hash of the five lines. Suppose the seed derived from the random value and fingerprint produces, for k = 0, a number whose remainder when divided by 5 is 3. Position 3 is ticket D, so D wins first prize. For k = 1, the remainder might be 3 again, so D is skipped as a duplicate. For k = 2, the remainder is 0, so ticket A is the next pick.
A real draw has at least 50 tickets and picks 14 winners, but the steps are identical. The table of calculations under each result shows every k, the hash value, the position and any skipped duplicates.
Common questions about the table
- "already picked, skipped" means the position pointed to a ticket that was selected earlier, so it is ignored.
- The positions are numbered from 1 in the table for readability.
- The tier label is assigned in order: the first pick is the grand prize, the next three are runner-ups and the next ten are lucky draws.
- The fingerprint and seed let you recompute everything with any SHA-256 tool.
Tell us what you find
If you build your own verifier, we would like to hear about it. Independent verifiers are exactly what makes a published draw meaningful. Use the contact page to share a tool or a discrepancy, and we will respond.
Ready?
A weekly draw you can check yourself.
$5 tickets, a public random value, and every result published with the data to recompute it.
Frequently asked questions
Do I need to be technical to verify a draw?
No. The one-click button does it in your browser. The manual route is for people who want to rely on nothing of ours.
Where do I find my ticket in the list?
Your ticket number is in your confirmation email. Search for it in the published list.
Can the result be changed later?
No. Published results are stored permanently and cannot be edited, and the database refuses changes.
What if drand's website is down?
The same values are available from several public endpoints, and the signed values are archived.