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

clientSeed: 0x6444fe0b08c7b943ec8b4fdbe9ac7f89432e98a498c81eb53080c19cd53ecc9f

serverSeedHash (commitment): 0xa0f9597f9d5392028420829f2f4dcdf6685fea127d272dca1bf3e938d4952d4a

clientSeed: 0xd793000e75ff4ae191042db33ea124e3ee97f4b647109a693ca870f4e8026803

serverSeedHash (commitment): 0x0cd3a12cf486e400751dfdb438e1cd2d633d0dddfad0ffd1f02cb449d6f483fc

clientSeed: 0xcc092f5e88b9f3fc9c505dfb423055302acb82a91891b4caaf65dd1438f76e34

serverSeedHash (commitment): n/a

clientSeed: 0xc7232ae2d71047eab03ff5d11ac53807851945f1f3754091bbb5f13cee458411

Rapid Firecancelled

serverSeedHash: 0xdf359ed90d61d3ce5c99d2dc837becbd5c5c2627077094f962737c1ed3a16133

clientSeed: 0x0740ecc785ca3e615dc9fc6cc3beafd0fc461dbed8f7bc658d77be3578ebab08

serverSeed (revealed): 0x69c6527c5d11849e5b9ed30a14bdd5da568594ca8c1a7711283d6067bcf144e9

serverSeedHash: 0x49275a667e4a9b12db03ae98225784ca2b8a29200b19517caf7299fb9034d7ce

clientSeed: 0x5c0c02494ec9db33b491a309fd257a53bf60582e2d79c8fe27d5d89f7ff7c6a8

serverSeed (revealed): 0x533c484a925017c0b325dee6b0ecdba63425ea8189b89a850879cf80081d9044

Rapid Firecancelled

serverSeedHash: 0xee823d3343c01294281b3d1f21581f804790b415cd9381dd651f91296e6b987b

clientSeed: 0x752a75ceae9119c9ea43d26f95310960f135b4053cf8812bb2ce64940990582f

serverSeed (revealed): 0x534d6b85be1db0f1f030fc1f419bbd986b59c17be9044a1d90be6c3d05618f68

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

Rapid Firecancelled

serverSeedHash: 0x9bb5f221cfdbcf344e20cb9a27fd06223913f6574caa7ebac2357e36de384655

clientSeed: 0x518ff8ce49d33fb72b7fc1f93acd8aa3a561d6dbd44a99e5e33765485d0dfe72

serverSeed (revealed): 0x298f65fb9597649fbe5cf303542dd62a36788171ae53eafe03a9ae73d3bf252f

Rapid Firecancelled

serverSeedHash: 0xbbf14129715a55f806a6d2d85cdedd1574eca62106e7d64bac7e2be146c61613

clientSeed: 0xa9a022c00a47ec88145f4058b306c6e66dcb6840c8162bb916fa26f90b431ebf

serverSeed (revealed): 0xcacb3f017e3436d38640e03d699b117544748a9ea84c18edcf2e9484d3fd6928

Rapid Firecancelled

serverSeedHash: 0x3cd6ef6d8597a3c7d1d678bd0985ccc6815e0507171b3fc1a2b68b4bc23003e7

clientSeed: 0x4c4932192fd740d3d0e2e30d0a29ed7106102a9c204d6ccb45108d22ed206038

serverSeed (revealed): 0x411803ad430e08009fe72a93effc0bd0946d8364b90272edecb112a4e4a9acb0

Rapid Firecancelled

serverSeedHash: 0x91a5f7da454a452ba080f27c8b033e0a79eaa96b570932028ef6974c04a0894b

clientSeed: 0x8e44e5044b52394a3526926a8890e41106e64bfcf6de051486c78f9e05e276b7

serverSeed (revealed): 0x8e66e15978d33a813feadd8e5a7708c226d4adeba5fadbccb6d4060c270f39fc

Rapid Firecancelled

serverSeedHash: 0x46c2b0452a75fedbdc116e033c925c272fb46b8252d97cd86d3e85dc17d4ee60

clientSeed: 0x821e3071e8414897ab685cde60ececeba50738f0caa28d570b27d438b8468d8a

serverSeed (revealed): 0xbea2f620f02ad3e8ad608452d3bb87f47fb32446a6f01c081ce7a734e450d1f1

Rapid Firecancelled

serverSeedHash: 0x5d2df0866d961e5858e9087d38a5baf9ce0f722f850c2fc2badfa587dd619ee9

clientSeed: 0x75e9c2a4513bc033ceae9982da0d05c1662440d54aedaebd1f8a6ac64bf3dfa7

serverSeed (revealed): 0x5c861ea6e6ea5148cda7fe4557f313df9fbb19d894e73b4ec66af5c1e4f7eb8d

Verifier