Provably Fair

The winning seed is committed (its hash published) when the round is created, before any tickets are on sale, and revealed once the draw settles. The operator cannot pick a seed after seeing who entered.

How it works

  1. While entries are open, tickets are sold sequentially and each wallet is capped: max 100 tickets per round.
  2. Before entries open the server generates a secret serverSeed and immediately publishes keccak256(serverSeed) as its commitment, alongside the public clientSeed. The seed is fixed before anyone buys, so the operator cannot grind it against the final entry set.
  3. When the round closes, one winning ticket number is derived by this formula, and the wallet holding that ticket takes the entire pot:
target(tier, attempt) = uint256(keccak256(serverSeed || clientSeed || drawId || tier || attempt)) mod totalTickets; winner(tier) = first entrant whose cumulative ticket count exceeds target; the single tier-1 winner takes the whole pot (legacy rounds paid up to 4 tiers; collisions with an earlier tier re-derive with attempt+1)
  1. At settlement the serverSeed, its hash and the winning ticket are revealed. Anyone can re-run the math in the verifier below and confirm the same winner. Legacy rounds paid up to 4 tiers, so verify those with winners=4.

Seed commitments

serverSeedHash (commitment): 0xfdafb15fa24894f9bbb4a4fbda2f647d94371c89f6d6d77f6df59e88efc3044c

clientSeed: 0x8c4337a11ca03d8490629517d12343d3dce353cd24e8d00221c8c19b596746bb

serverSeedHash (commitment): 0x7caaacf02bc6b74a2411a4dc23e6001b171fde5194c3a02675a677dfac4fb4d4

clientSeed: 0x070530e3efcb5bbc989dc4eef133517b29d08eebd3cee4ff57410f8db531e013

serverSeedHash (commitment): 0x0cd3a12cf486e400751dfdb438e1cd2d633d0dddfad0ffd1f02cb449d6f483fc

clientSeed: 0xcc092f5e88b9f3fc9c505dfb423055302acb82a91891b4caaf65dd1438f76e34

serverSeedHash (commitment): n/a

clientSeed: 0xc7232ae2d71047eab03ff5d11ac53807851945f1f3754091bbb5f13cee458411

Rapid Firecancelled

serverSeedHash: 0x91f8c699a9825b07a80c4e9aa4eec930b011bb793014e619156b0baac7c1e5fb

clientSeed: 0xe67c9b14efde018b958c184b389d486b4125418d493c5d8c9d8d9d4af831750a

serverSeed (revealed): 0xd1d002d588efc5c1c5d6b8c9c16e985a078812b7839bfb3507dd06dda80449cc

Rapid Firecancelled

serverSeedHash: 0x258b1bb40dd2b8ee1cfc95d2fa4b7af1819ac3ade3c718f2a764391df72ae98e

clientSeed: 0xd34074e60ee0a344df380d7f9c810d021337c8410ab10bbb7c9ba660ae09743b

serverSeed (revealed): 0x9fcd40258fcc6048c3f5cae764c9f854a26fe016438150bd718a741d361c4564

serverSeedHash: 0xe10b123b30dd32699c1109388a302507a06f9702a7a258b1edbf2c88b0d03e9a

clientSeed: 0xc19fda6d0127e1245aa3de65249c1d7df3f0eeb8550634ee925cb70a1c675c46

serverSeed (revealed): 0x43880ca81347bc9e0b6c1bbd5e3b04b201d32b3fc6a1f6179cb4266436e52912

Rapid Firecancelled

serverSeedHash: 0x419366bf29d32542859f73dd603ca1a8eb57aea9416f25315a8b1fee04ed215b

clientSeed: 0x5b2f719883eae4fe6b7e49b520367687cbe0b21c5fc63324ed7cc12c664d867f

serverSeed (revealed): 0x222ddf737dd8b4b12730be11bc4484c4897cc2faa6e43ea606dc047b38cbf1e9

Rapid Firecancelled

serverSeedHash: 0xd26a430edabab783cf5b298074221ae10041fb5a128e21079d1ca369213e4717

clientSeed: 0x73ad6ea64f808e83e727fd9f32ded047e97b22259d4fdb04e796eab7184f7a64

serverSeed (revealed): 0xa5c333a8dfbae303c6c2de01cd9804ee2199e15a696003674946b044b48fd7bd

Rapid Firecancelled

serverSeedHash: 0x5b2afb30b1370144fb7ecaf1bc5eb9cfbd7a4e6547885d080d5aeff4c0f9eb3f

clientSeed: 0x7e51da13eb9b36ea6fdf324a6daed7702f47988624b9be78d36d6a175c8616cd

serverSeed (revealed): 0xdfc1ff5a465d67033874ca785778e3c74ad7e6db0b86bfd883ccf207c08776ac

Rapid Firecancelled

serverSeedHash: 0x495a22c90afe90f9b83700b95cd56f3c2117a39f127073fb152657953330528a

clientSeed: 0x2985d46f83f1914cfb2c2afdd531a583ae41f7b5b740b72150c0b79bedc5ba6d

serverSeed (revealed): 0xe8cd26c965d7119d880ddd33ab0fa4dfbe77a04bef5183baf2723ea0652c7210

Rapid Firecancelled

serverSeedHash: 0xde7f6fcc1308131314a84f60b9a5b390919dc168349fd774071ce60d1f3001e7

clientSeed: 0x3674cc6eb3be3c95dcb4671bf157be44684e71b90426fbcd73b45eadd841fa88

serverSeed (revealed): 0x3579d3932e0ba654e4fde89a235de185e51dcb9c95da19277a2616cf3d3a1715

Rapid Firecancelled

serverSeedHash: 0x565e948b036bcb85d4baf4614a06542f51765874ec623f0a77403dc6af2dedc8

clientSeed: 0xa2cc60fea727a78647760c8067872f0662ecfe48a89d1508b7a6d66b750fe8e2

serverSeed (revealed): 0xe653b548b9749e622dc20b0179f3463bffd4e3f763b2dcd50f0e7c3cf209819d

Rapid Firecancelled

serverSeedHash: 0x41ba196d8782443293c17ce9514305b1d9c7061836f2cc80154a74fbeb95a422

clientSeed: 0x81368659d9e98e2cd47eca08a05d0cf49629db42d923bbe245312927afb3ace1

serverSeed (revealed): 0xf56eac6fe0d923926c7bcdd6ad07198dd0c01c3ff05a9eaf4bd575c751142607

Rapid Firecancelled

serverSeedHash: 0xd0118a5d578b86bacc51adfd9d563ff46144dbaa6e12c4d679887bbab56e5f9c

clientSeed: 0xba8d4a0f05103a49563197959bffb754f431d11501d33bd0d43c8fcd022eb051

serverSeed (revealed): 0x3701ab112cf89169d4ed739b42420b755dec746a2c11f9f3e2dcfd0986ee7fb6

Rapid Firecancelled

serverSeedHash: 0x4d9fb6c6bc86fd65eeec301f29845c2c4d86ae7e0440f6b00de71633ad693ab6

clientSeed: 0x37487694052eec34742ba5e5a4196ea9defde921474898e5322c54bf079289a0

serverSeed (revealed): 0x0ccf75014164c0110eb6d13edc3539d3bddb387262560c084d185e766f27670b

Verifier