Draw Verification
Night Lords Terror Cell
Draw Result
- Winner
- Harper
- Winning ticket
- #33
- Entries in pool
- 26 (all entrants)
- Winner index
- 5 (0-based)
- Draw executed
- 11 Aug 2026, 7:30 PM
- Entropy source
- secrets.SystemRandom (instant-win positions at setup)
- Fairness mechanism
- SHA-256 commit-reveal — selection by sha256(draw_secret:pool_hash:counter) with rejection sampling
How This Result Was Produced
4 steps, each one checkable against the values published below. Nothing here depends on trusting us — every input is shown.
Verify commitment was published before the draw
This sha256 hash was published when the competition was created. It proves the draw_secret could not have been changed after tickets were sold.
02ba55e89d534c78ed96a5b1890a2eba3dd7408e4b73eda0497392c22ba09fd1
Verify draw_secret matches commitment_hash
The draw_secret is revealed below. sha256(draw_secret) is shown — it must equal the commitment_hash in step 1.
draw_secret (input)
278ac55a87e31cb628f8c33767a05b75108f020a6def84b7987a6c92b796d666
sha256(draw_secret) must equal step 1
02ba55e89d534c78ed96a5b1890a2eba3dd7408e4b73eda0497392c22ba09fd1
Verify the entry pool hash
sha256 of every ticket number in the draw pool, in ascending numeric order, joined with commas and no spaces.
15c6b9cf4547e6ac32357a846d21817f1830bf7d1d345bcf02031815ff56f8cb
Reproduce the winner selection (rejection sampling)
Starting at counter=0, compute sha256(draw_secret:pool_hash:counter) as a 256-bit integer. Let limit be the largest multiple of N below 2^256. If the value is >= limit, increment counter and retry. Otherwise winner_index = value mod N.
counter=0, winner_index=5
Check It Yourself
Run every check in your own browser. It recomputes the hashes and the winner selection locally from the values published on this page — nothing is sent to our servers, so a pass cannot depend on trusting us.
- Confirm sha256(draw_secret) equals the commitment hash in step 1.
-
Confirm the sha256 of the entry pool below equals the pool hash in step 3. Hash the text
exactly as shown — ticket numbers in ascending numeric order, separated by commas, with no
spaces and no trailing newline.
Entry pool — ticket numbers in ascending numeric order
2,4,5,26,28,33,38,50,52,60,61,65,74,78,79,83,86,89,96,101,109,118,123,139,141,143 -
Run the pre-filled command below to reproduce the rejection-sampling winner index
(counter=?, expected
winner_index=5).
python3 - <<'PY' import hashlib draw_secret = '278ac55a87e31cb628f8c33767a05b75108f020a6def84b7987a6c92b796d666' pool_hash = '15c6b9cf4547e6ac32357a846d21817f1830bf7d1d345bcf02031815ff56f8cb' total_entries = 26 counter = 0 limit = (1 << 256) - ((1 << 256) % total_entries) while True: seed = hashlib.sha256(f'{draw_secret}:{pool_hash}:{counter}'.encode()).digest() candidate = int.from_bytes(seed[:32], 'big') if candidate < limit: print(f'counter={counter} winner_index={candidate % total_entries}') break counter += 1 PY
Full Entry List
All sold tickets with entry method and optional-question answer status (no personal names). Download it to cross-reference ticket numbers against the draw pool; the "In Main Draw" column marks which rows formed it.
Download entry list CSVIndependent Timestamp Proof
Each commitment hash is anchored to the Bitcoin blockchain via
OpenTimestamps. A confirmed
proof establishes the hash existed before the Bitcoin block that attests it —
checkable without trusting our records. Save the commitment hash to a file and check the proof
with the free ots tool:
printf '%s' 'COMMITMENT_HASH' > commitment.txt && ots verify -f commitment.txt proof.ots
Draw commitment — anchored in Bitcoin 5 Aug 2026 02:05 UTC
02ba55e89d534c78ed96a5b1890a2eba3dd7408e4b73eda0497392c22ba09fd1
Download OTS proof
Instant win commitment — anchored in Bitcoin 5 Aug 2026 02:05 UTC
8a893ba544be16c5801d4fb45e857048ac313228818fec5e756acbc9e460c0e3
Download OTS proof