Verifiable raffle
PLA+ Marble – spring batch
Drawn on May 16, 2026 8:00 pm from 26 entries. Anyone can re-run the draw below – no personal data is published, only entry numbers.
Published record
- Algorithm
fld-draw-v1- Commitment (SHA-256 of the seed, published before entries opened)
0527ccd176897fcefc55f371ac82f8e0129de86079c96a4219b25488d7b98186- Seed (revealed after the draw)
21cd2aa5a75451ed74c28cc56a8c204c487e6c8a8eae10549d2758b53e07b28e- Entry list fingerprint (SHA-256 of the sorted numbers joined by commas)
66f396c11f7d352910573cbc62ff9d62516c36d9103520f74c56e287f6d5dc27
How the draw works
- Before entries opened we generated a secret 32-byte seed and published its SHA-256 fingerprint (the commitment). Nobody can change the seed afterwards without the fingerprint changing.
- When entries closed, the list of entry numbers was frozen and sorted ascending.
- A random stream is produced with HMAC-SHA256: key = the seed bytes, message = "fld-draw-v1:" followed by a counter 0, 1, 2, … Each 32-byte block gives eight unsigned 32-bit big-endian numbers.
- Numbers in a range 0…n−1 are taken by rejection sampling (values at or above the largest multiple of n below 2³² are skipped), so there is no bias.
- The entry list is shuffled with Fisher–Yates from the last position down to the second: for each position i a random j between 0 and i is drawn and the two entries are swapped.
- Winners are taken in the resulting order until the allocation is used up; each entry receives at most the quantity it asked for.
Draw order
- #0024 drawn – did not buy in time
- #0021 drawn – bought
- #0018 drawn – did not buy in time
- #0012 drawn – bought
- #0002 drawn – bought
- #0014 drawn – bought
- #0025 drawn – bought
- #0023 drawn – bought
- #0001 drawn – bought
- #0005 drawn – bought
- #0019 drawn – bought
- #0026 drawn – bought
- #0011 drawn – bought
- #0004 drawn – bought
- #0017 drawn – did not buy in time
- #0015 drawn – bought
- #0006 drawn – bought
- #0020 drawn – bought
- #0008 drawn – bought
- #0009 drawn – bought
- #0003 drawn – bought
- #0022 drawn – bought
- #0010 drawn – bought
- #0016 drawn – bought
- #0007 drawn – bought
- #0013 drawn – bought
Verify the draw
This check runs entirely in your browser with an independent JavaScript implementation of the algorithm. You can also change a value to see that any manipulation is detected.
Machine-readable record: GET /wp-json/filalab-drops/v1/drops/1/draw