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): 0x510eb4212d3c8a0f61abf3e7cd46f9624bac78ba4f004ac3455ff2a3e79b3766

clientSeed: 0xd816b88c583fdd7cfec0e557b6f02ed4ccbd5eb7b58c5a3c21d8bbfddb955c72

serverSeedHash (commitment): 0x35bf5f113d48a302f61ddf987ab470315504a3b097492b66c14c5d06264b4c85

clientSeed: 0xb5e8cada720d398feb87f7604412a96d812b15fbbcf8fbb7048af042bd93f8b9

serverSeedHash (commitment): 0x0cd3a12cf486e400751dfdb438e1cd2d633d0dddfad0ffd1f02cb449d6f483fc

clientSeed: 0xcc092f5e88b9f3fc9c505dfb423055302acb82a91891b4caaf65dd1438f76e34

serverSeedHash (commitment): n/a

clientSeed: 0xc7232ae2d71047eab03ff5d11ac53807851945f1f3754091bbb5f13cee458411

Rapid Firecancelled

serverSeedHash: 0xbdcc5f2461534a55e12ee7be65dd71c352cc5392dac7a108fbbf8771f4eb33ac

clientSeed: 0x9384280f65f8e564df88062024fd62d378bbfdb9f955881d137b5bbd073b6261

serverSeed (revealed): 0x280d817349f5c6cc927181cd3c53f48357ccdecd592830b8d84291f4fc6fa82b

Rapid Firecancelled

serverSeedHash: 0xdb86c1477afbb8ea98275760b094a5eea854ea68fac2534034f82b432e28c173

clientSeed: 0x2b971bdcd37aae5f499d569213e42cf26f37217fcfdfd88d9a6687db87e4529a

serverSeed (revealed): 0x69d31eb6257d51f884c085ab675664e18f8336061b43df2ceefd0b6b405d89cf

Rapid Firecancelled

serverSeedHash: 0xc471db2195e441b5ed72b32d6cea15787f9e92a914c3730d14d1b9138999f059

clientSeed: 0x5b01b2252fc8ac006a3a3a008156ef105647d58ddff229fa7ffe17a887565341

serverSeed (revealed): 0xeb317eeac23641d34929f96f0a70256f76042238e7f2eea3ba32b82a81ee8b4e

Rapid Firecancelled

serverSeedHash: 0x201f6ad9e9a1b138da6de2355a114628f823afa4ea17e2df83c5a3e086752f96

clientSeed: 0x7d237b0487faf48ae38f78d644451998daa3d20c9654f9c02cefe37d9c06436e

serverSeed (revealed): 0xcc0627ee0196110d7083a43c3a70ce687be1f28dd3fdda12c56a77ce745a8cee

Rapid Firecancelled

serverSeedHash: 0x12e9d2010c637236c31b7c9019cfe0a4a10ffee4168f49128832379bde66b8c4

clientSeed: 0x9f7dea7d001ee5aa47127eb3f67b2b9b6ec39352af8c79512a9ada1588dede36

serverSeed (revealed): 0x8fac0cbd695dac4385ab8e9bb545575f0714a82930c9f5d6bda41b94094f17f5

Rapid Firecancelled

serverSeedHash: 0xd07cd1c8665c7861e93a00f5854b4ff899354367dee0114aa034637f1ca16e1b

clientSeed: 0x92395665e5be8c742f99d4ae6cc59e186b18de2771c6cf293fdec8f0c53fd73c

serverSeed (revealed): 0x616d224e990a297f208cbf2a25f3ba43225c744e3b206963646bb400fa5af49d

serverSeedHash: 0x37ab55ecf180265c7a932043d90a30ad516a323e96d6d1d656c50446d312104e

clientSeed: 0xd6fbc03e14430e8e119add4fe2800ac9627de4cfcd849fc1ba452085304dcd52

serverSeed (revealed): 0x5aa59bc1680d2d52d5213d777d3e28c10db8a19b89178b8a08096f5650b62e59

Rapid Firecancelled

serverSeedHash: 0xe4527f3e37e9984acf7fd1475585ebd2391e0feb2d309f087c578bada1b82751

clientSeed: 0x1a61af83793ee4b6af5fd1aec71365021610a05907f2efcf79116136e7184373

serverSeed (revealed): 0xcd10e57781e43924a5b787b0bd99a134f4140910e499461d91a80601e7fa578e

Rapid Firecancelled

serverSeedHash: 0xb65b7c451891876b2494432466581c3d614227628cf6bbea4bb296b8c7230b46

clientSeed: 0xc020dd3539a96cb9e2fce857751ac74e340d6cc10fd7c0ff8ed9cc787c830ae2

serverSeed (revealed): 0xb9ddf1850e577143de4ec3e850dd21b9fac3634f278842c1ff1aa75fd5161cd4

Rapid Firecancelled

serverSeedHash: 0x74e836821297f967df994fbbad6af8de40e18282f19744246efec128312108c4

clientSeed: 0xf24f66eba4006fb44bcfc189960b0a633c826b7cf5fa5011243bf3809284fd31

serverSeed (revealed): 0x5e766ea7ab97519e4e648162451ad07c53cb646a79ac265edf54c09260de09d5

Rapid Firecancelled

serverSeedHash: 0x4e888b68f7fc399c91083775d7c86ac5c974e19d82e53e05af5e70166cba4905

clientSeed: 0x764a4ad232c50a974ebb5a73eab4a670a59697cc4fcfd112345f3c2dd7bd6129

serverSeed (revealed): 0x60e4cade350d932bdb8466f17e7743e0ef1d588e31070b2071f1b063ecafa79b

Rapid Firecancelled

serverSeedHash: 0x3b6e3141d94196d964b5b2e91a0a6d87be559d1b993d7e0f85227c7d8f850e97

clientSeed: 0xc21bbd5c617d7e2e634027950d92ec4442155af902428d30751a81420e9bc986

serverSeed (revealed): 0x04aa78754259cc28425839b820138921c65d91cfe4d60be02d375216d1832abf

Verifier