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

clientSeed: 0x4236db6c28e07c85961f5934343d1e820174b49458c27b886a8e87c52cfc5944

serverSeedHash (commitment): 0xa0f9597f9d5392028420829f2f4dcdf6685fea127d272dca1bf3e938d4952d4a

clientSeed: 0xd793000e75ff4ae191042db33ea124e3ee97f4b647109a693ca870f4e8026803

serverSeedHash (commitment): 0x0cd3a12cf486e400751dfdb438e1cd2d633d0dddfad0ffd1f02cb449d6f483fc

clientSeed: 0xcc092f5e88b9f3fc9c505dfb423055302acb82a91891b4caaf65dd1438f76e34

serverSeedHash (commitment): n/a

clientSeed: 0xc7232ae2d71047eab03ff5d11ac53807851945f1f3754091bbb5f13cee458411

Rapid Firecancelled

serverSeedHash: 0x1420b70dfe0ea2c786b0fe4c36db2456e4e8e9d2b7904edbebf7f22ee9493028

clientSeed: 0x683d7ad45f81d66678853a42cd4688d367666cb1dea71fa623d6cbe00f6bcd7b

serverSeed (revealed): 0x9c22a1e33717982a0a012e6aab10c95730a409a97ba3befd99b19e7ff2e2f654

Rapid Firecancelled

serverSeedHash: 0x2c3fefa7e79c576ea5865646682ae39a380854fbcd4cbdef1fe8e768891c6577

clientSeed: 0x9f4f1c246a282ddef633b0f9b5a0743976505d68683a2fd5770fb0545dd44096

serverSeed (revealed): 0x047dc966d0394c0d7ea7c3a8f3a39bd9459284fd570c8d5b6b146e85dc7817c9

Rapid Firecancelled

serverSeedHash: 0x1a75a4650e2775fb87677df2d8ef46688f6491e71a5a8412f9bf2dd51f6450d4

clientSeed: 0xdbb135c40c4a2cfbf9c237839d5f555af5668419ac94b6f18228593fb98c2337

serverSeed (revealed): 0x95d75f0ae5f13804308a9616c47cee023da44758216b7d98cef65a566e97798a

Rapid Firecancelled

serverSeedHash: 0xbacfc285b6f875c4b1a58da23061b7f48f2bf8cc6dd177ac8e38f712e385edb2

clientSeed: 0xf81426913ea6dc6716906bf94e424c213e73730fcd893e393dc3185b4c54b258

serverSeed (revealed): 0xf038352a17ce33e5a9a3e38b9adfece0be704af252a6c476cbc4d79cb51b0ea2

Rapid Firecancelled

serverSeedHash: 0x345f2e780bdc59adda458106b8182c602e08cf55a11b4a0b16677ddbac40633d

clientSeed: 0x0cd0445647b70fe8cdde915c5262553a7b163d0b29bcde009d4c328091761360

serverSeed (revealed): 0x192a33f6fa1c3172e23de176ec77817752c6e7d81645a423a386afb66fa63846

Rapid Firecancelled

serverSeedHash: 0x7deda85f55d583862270ec3a5acdf555c575e94bd8f363af91314d6e7bccd8cf

clientSeed: 0x6444fe0b08c7b943ec8b4fdbe9ac7f89432e98a498c81eb53080c19cd53ecc9f

serverSeed (revealed): 0x73bd51fe456f69f7820385f210f970bc4c3e695d55662751d40920127914fb51

Rapid Firecancelled

serverSeedHash: 0xdf359ed90d61d3ce5c99d2dc837becbd5c5c2627077094f962737c1ed3a16133

clientSeed: 0x0740ecc785ca3e615dc9fc6cc3beafd0fc461dbed8f7bc658d77be3578ebab08

serverSeed (revealed): 0x69c6527c5d11849e5b9ed30a14bdd5da568594ca8c1a7711283d6067bcf144e9

Rapid Firecancelled

serverSeedHash: 0xee823d3343c01294281b3d1f21581f804790b415cd9381dd651f91296e6b987b

clientSeed: 0x752a75ceae9119c9ea43d26f95310960f135b4053cf8812bb2ce64940990582f

serverSeed (revealed): 0x534d6b85be1db0f1f030fc1f419bbd986b59c17be9044a1d90be6c3d05618f68

serverSeedHash: 0x49275a667e4a9b12db03ae98225784ca2b8a29200b19517caf7299fb9034d7ce

clientSeed: 0x5c0c02494ec9db33b491a309fd257a53bf60582e2d79c8fe27d5d89f7ff7c6a8

serverSeed (revealed): 0x533c484a925017c0b325dee6b0ecdba63425ea8189b89a850879cf80081d9044

Rapid Firecancelled

serverSeedHash: 0x91ac485974af0bbcb223f5cc86a3d1ab306c1b6da17513f1f37856dd42150d2a

clientSeed: 0x1f38e1f7f6da565c6e52d9ba7e3934368b4efaff3ffeb1a82c07a766b9087a61

serverSeed (revealed): 0xda2071dccf7594b7ddbcdf11715d7945d422f308c47f8c3f014a7688b0cbf6a3

Rapid Firecancelled

serverSeedHash: 0xfa1f227900c07abfe8833b1154e7e4e5d7e4cffec98d916857de4118978102e8

clientSeed: 0xf7087808283349c2d6e3c4c33b05bf12ba3be4bf4524ffe312283ca79d9b4159

serverSeed (revealed): 0x419fb58ddc113b7a6b106089ba06d2c886808adb8d16f34fffeb75a4447c2f79

Rapid Firecancelled

serverSeedHash: 0xb25be0c0d99c499d98f80e9c08df18be669c5648a788b94a5de11f5d7a393b51

clientSeed: 0x55d9cb0c11331c0657d2c776e84e733053c41590d2c4dd09883889a71ed1c896

serverSeed (revealed): 0xfff911367e8fb0e1904c4e433106ca521a0b64ac37c53f4e327ecc79203a3cf1

Verifier