Provably fair
Don't trust us. Check.
We lock in a secret before entries open, freeze the entry list when they close, and mix in a Bitcoin block nobody can predict. Change any one of them and the winner changes — so none of them can be gamed after the fact.
Current draw loading
- Giveaway
- —
- Entries close
- —
- Seed commitment
- —
- Bitcoin block hash
- Picked after entries close
- Revealed seed
- Revealed after the draw
How it works
- Commit. Before entries open we generate a random 64-character server seed and publish only its SHA-256 hash (above). The hash proves we can't swap the seed later.
- Freeze. When entries close, the full entry list (X handle + entry ID, nothing private) is published and hashed. It can't change after that.
- Unpredictable input. We use the hash of the first Bitcoin block mined after entries close. Nobody — including us — knows it in advance. Look it up on any block explorer, e.g. mempool.space.
- Draw. For pick #0, #1, #2… we compute HMAC-SHA256(serverSeed, blockHash:entriesHash:pick), take the first 52 bits, and land on a ticket. Each entrant holds 1 ticket plus 1 per friend referred (capped). Repeat picks are skipped.
- Rank. First picks are winners; the next are alternates, used in order only if a winner fails verification (doesn't follow, hasn't liked and reposted the post, wrong Stake username, under 18, no reply in 72h, misses the skill-testing question).
- Reveal. We publish the server seed. Paste it below — your browser re-runs the exact same code.
Verify a draw
Runs entirely in your browser. Source: draw-core.js.
- Seed matches commitment
- Entries / tickets
- Entry list hash
| # | X handle | Tickets | Pick | Role |
|---|
NGF Studios