Public audit record · campaign #2
Draw audit — Sky, 1954
Every campaign freezes its complete entry list (purchases and mail-in entries, one pool) as a Merkle root committed on-chain before randomness is requested. The winner index derives from Chainlink VRF output by a published deterministic rule: entryIndex = randomWord mod totalEntries, alternates from the further words in drawn order. Nothing in this process is operator-adjustable after lock.
| Campaign | #2 · state: locked |
| Official Rules hash | 0xaf7ca10b7ff4da8f4adac81ac3aa3b8719c32fd6d7e46fd5d7034e10cdaf4134 |
| Rules document | https://harlequin-electronic-nightingale-173.mypinata.cloud/ipfs/bafkreialutw34v6kja6zp3fvjzpxfbhhbyayr4hjdpljoucocvcdolrpk4 |
| Snapshot root | 0xf34e0f8ec25f83252957826799a8ece9118d2f9bf38d89a24c79d5db0665a5ce |
| Total entries | 4 |
| VRF request id | — (draw not yet run) |
| VRF random words | — (draw not yet run) |
| Winning entry index | — |
| Alternate order | — |
| Resolved | — |
Verify independently: the snapshot root, VRF words, and winner are recorded on the CampaignRegistry contract (read it on Etherscan — getCampaign / randomWordsOf). Recompute words[k] mod totalEntries yourself — the results must match this page.