Skip to main content

Verify this draw

Win a Jellycat Plushie Of Your Choice #2 was drawn on 5 Jul 2026. The winner was Jadine C. from Northampton with ticket #66.

Method

Verified auto-draw

Tickets in the draw

160

Winning ticket

#66

Winner's odds

1 in 15

In plain English

Before entries closed, we locked in a secret number and published a short code (its “fingerprint”) that proves we couldn’t change it later. After entries closed, that number picked the winning ticket. So the result couldn’t be set up in advance. The steps further down let you re-run it and land on the same ticket yourself.

How this draw is provable

Before entries closed we published a commitment: a one-way fingerprint (SHA-256) of a secret random seed. After the draw we revealed the seed. Because the commitment was public before entries closed, the seed could not have been changed afterwards to draw a particular ticket.

Commitment (published before entries closed)
d6f12bf877e02b7904e553a59206eaaa6e4702c52439b67207e27b2046fb4a1e
Revealed seed (published after the draw)
7ce0d0402499f4b2b3cfd34663ebc814c01b8eba722b19cce622220500b52d93

Check it yourself

1. The seed matches the commitment

Run SHA-256 on the revealed seed - it equals the commitment above. For example, in a terminal:

printf '%s' '7ce0d0402499f4b2b3cfd34663ebc814c01b8eba722b19cce622220500b52d93' | sha256sum

2. The seed draws the winning ticket number

Every one of the 160 tickets (numbered 1 to 160) went into this draw. The seed picks one - and because it comes from the locked-in seed, it couldn't be steered once entries were seen. Recompute it and you'll get ticket #66:

$seed  = '7ce0d0402499f4b2b3cfd34663ebc814c01b8eba722b19cce622220500b52d93';
$total = 160;                       // tickets in the draw (numbers 1..160)
$msg   = 'draw:019f2707-b542-7289-887f-33ad22cc202b:'.$total;
$span  = 1 << 60;                          // 60-bit space
$limit = intdiv($span, $total) * $total;   // reject above this to remove bias
$i = 0;
do {
    $n = (int) hexdec(substr(hash_hmac('sha256', $msg.':'.$i, $seed), 0, 15));
    $i++;
} while ($n >= $limit);
echo ($n % $total) + 1;                     // => winning ticket #66

3. Ticket #66 belongs to the winner

That ticket number is held by exactly one entry - Jadine C. from Northampton. We publish a fingerprint of every ticket number in the draw, so the set of numbers can't be altered after the fact, and we hold the full list in our tamper-evident audit trail, available to the Advertising Standards Authority on request.

Ticket-numbers fingerprint
dff2b11d40eb925a2793da0d0facf6e8f3959145da7f52ee01d396291e1d7acf

How ticket numbers are assigned

This competition has a fixed set of 160 tickets, and on this draw you choose your own ticket number when you enter, from the numbers still available. They aren’t handed out one after another in entry order. Your number is fixed the instant you buy, timestamped, and independently verifiable there and then.

Whichever number you pick doesn’t decide anything on its own. The winner is picked at the draw (shown above), from a secret value committed before entries closed and a public randomness beacon that didn’t exist until after they closed, so the number you chose can’t affect who wins. Every number that’s taken appears in the competition’s entrants list, so the numbers in play are public and can’t be quietly changed later.

See how all our draws work on our fairness & security page, or back to all winners.

?