Both the hourly card draw and the weekly SOL lottery use one commit-reveal scheme we can't game and you can fully reproduce. Here's the exact flow, a live in-browser verifier, and the honest limits.
01
Commit
Before the window opens we publish only the SHA-256 hash of a secret 256-bit server seed on-chain. We are locked in.
02
Snapshot
At close we read every eligible token account at the finalized slot, convert balances to tickets, and publish a Merkle root over the entries.
03
Reveal
We publish the original seed. Anyone checks SHA-256(seed) equals the committed hash.
04
Roll
We HMAC the seed with the Solana slot hash (unknown at commit) and draw id, then map it across the ticket-weighted holders.
Live verifier
verifying…
This runs the real roll function in your browser against a published test vector (draw #242). If our math is honest, the output matches the published roll exactly.