Loading…

The draw

The winning ticket

Check it yourself

You do not have to take our word for any of this. Everything needed to reproduce the result is here.

Entries
Entry fingerprint
Randomness
Beacon round
Random value
Winning slot
  1. The round above was fixed when this draw was announced. Its value is published by drand, a public randomness beacon run by an independent group of organisations. Fetch it at and confirm it matches.
  2. Take the sealed entry list, sort the ticket numbers ascending, join them with newlines, and take the sha256. It must equal the fingerprint above.
  3. Derive the winning slot. The exact recipe, so your result matches ours byte for byte:
    • The HMAC key is the 32 raw bytes you get by hex-decoding the random value above — not the hex text itself.
    • The message is the ASCII string <fingerprint>:<counter>, with the counter starting at 0.
    • Let N be the entry count and k = the smallest number of bits that can represent N. Split the 32-byte digest into consecutive B-byte chunks, where B = ceil(k/8).
    • Read each chunk big-endian and shift it right by (8Bk). Accept the first value below N; discard the rest.
    • Only when a digest is exhausted does the counter advance by one.
  4. That slot in the sorted list is the winning ticket.

Because the random value did not exist when the list was sealed, nobody — us included — could have chosen who wins.