When someone loses a raffle, the first thing they wonder is whether it was fixed. "Our draws are random" doesn't answer that, because it asks people to take your word for it. A fair online draw is one where nobody, the operator included, can choose or predict the result, and anyone can check it afterwards. This guide explains how RaffKing and PrizeX's Verified draws do that, what a player can check for themselves, what happens when something goes wrong, and the rest of what makes a draw fair beyond the maths.

What "fair" has to mean

How a verified draw works

Verified draws are switched on under Plugins › Lottery. They're on for a new store, and off for a store that already had draws until you switch them on.

  1. The draw is committed when it's made. A secret 32-byte seed is generated, and only its SHA-256 fingerprint, the commitment, is shown on the draw's page. The seed can't be changed later without the fingerprint giving it away.
  2. The draw closes, and its ticket list is fixed. The numbers of every eligible ticket are put in order and fingerprinted too.
  3. Public randomness arrives. The result also uses the first round of randomness published by drand after the draw closes. drand is a public randomness service run by the League of Entropy, a group of independent organisations, and it publishes a new value every 3 seconds. Nobody, the store included, can know that value before the close.
  4. The result is calculated. The seed, the ticket list's fingerprint and the drand value together decide the result, through a fixed calculation in which every outcome is equally likely.
    • For a raffle: the winners are the first tickets of a shuffle of the ticket list, one for each prize place, first place first.
    • For a number lottery: the winning numbers are the first numbers of a shuffle of 1 to 49.
  5. Everything is published. Once the draw is made, its page shows the seed, the drand round and value, the ticket list and its fingerprint, and the result.

Because the seed is fixed before the close, and the drand value is unknown until after it, the store can't steer the result. Because every input is published, anyone can check it.

What a player can check

Every verified draw has a public Verify page, linked from the draw. Before the draw, it shows the commitment and the drand round that will decide it. Afterwards, Check this draw runs these checks in the player's own browser:

The page says plainly what it doesn't check: drand's own signature on the round. Someone who wants to go that far can verify the round with drand's tools.

Who is in the draw

What's switched off, and why

While Verified draws are on:

Switching Verified draws off later doesn't undo draws already committed: they're still drawn and checked the verified way.

A single open draw can still be changed before it closes. The store can convert it to an unverified draw: its Verified badge and commitment are removed, and its page and Verify page say "Not verified", so nobody mistakes it for a checkable draw. The admin is warned that the UK code above asks operators not to move a draw's end. Or the store can cancel it with full refunds: every ticket goes back to the buyer's wallet at what it cost. Neither is possible once the draw has closed.

When public randomness doesn't arrive

Fairness beyond the maths

Common questions

How can players check an online raffle draw is fair?

With Verified draws on, each draw has a public Verify page. It checks in the player's browser that the seed matches the commitment shown before the draw, that the ticket list is unchanged, that the public drand randomness is genuine, and that recalculating gives the published winners.

Can the operator choose the winner?

Not with Verified draws on. The seed is fixed when the draw is made, the result also depends on public randomness published only after the close, and manual draws and editing winning numbers are switched off.

What happens if the public randomness isn't available?

The draw waits and keeps trying, and is never drawn another way. After the hours you set, the dashboard alerts you, and the only option is to void the draw and refund every ticket at what it cost.

Are free entries in the same draw as paid ones?

Yes. Free postal entries made through the Prize competitions add-on are normal tickets in the same ticket list, with the same chance of winning.

RaffKing — self-hosted raffle and lottery script Verified draws on a new store: a committed seed, public randomness and a Verify page for every draw. One-time licence.