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

clientSeed: 0x973405f1aeef496a3158210823af9e58bc10d0ab06368bc7d8b993bc464daf1f

serverSeedHash (commitment): 0xebccc41e998169fa1388544f780410ca562a749662326d072db20551d5616bcf

clientSeed: 0x79a56fb0f36816f59fc005f324323f88084fac3a1c560253fbb9a531216584cd

serverSeedHash (commitment): 0x0cd3a12cf486e400751dfdb438e1cd2d633d0dddfad0ffd1f02cb449d6f483fc

clientSeed: 0xcc092f5e88b9f3fc9c505dfb423055302acb82a91891b4caaf65dd1438f76e34

serverSeedHash (commitment): n/a

clientSeed: 0xc7232ae2d71047eab03ff5d11ac53807851945f1f3754091bbb5f13cee458411

Rapid Firecancelled

serverSeedHash: 0xdb8eeece52d32a7f69ec9be1addabe1895004eac7c2f74904a7a79bbef5909e3

clientSeed: 0xb961fa2ea960ababc9d929d15a3fdb1feecbc0d9412e07c790fb286fcdec8f3f

serverSeed (revealed): 0x56fc134750c1aed2334bda8e93c03f09da17e98027bc828469b09bf7f4bee472

Rapid Firecancelled

serverSeedHash: 0xf60dd6dc1c96e7ee6ffad68066e206d80b7ccc155cd277d7e227183e655949da

clientSeed: 0x79909c44e197d99d14d33f2b4b94a636af54f0a253a250eb5ff04b8ef057267d

serverSeed (revealed): 0x363a834d5b33ee3278f946929ecef919f2e95d813249abc7a90de2abdeaef332

Rapid Firecancelled

serverSeedHash: 0x7505d1e4b025d4bf72ede05eb845c9dade7622d0556fa5a434c556919647f117

clientSeed: 0xa650bd647d427978e1b91e25d81590ca0c0be386ef23c2add2ee1cf673154a6f

serverSeed (revealed): 0xc1f56c5d3d2974f8d304bb87b01a634017f3d7d8254a43ef596e44d17522bf17

Rapid Firecancelled

serverSeedHash: 0xd00412a2a7c18a75ed78815ac38c77b5d31172e9a04003a20f2b038296fea694

clientSeed: 0x618df36c08dcd6aac556ad266110af3d522cb10dc3598e1d5a936ac0ead67496

serverSeed (revealed): 0x2c219ddcdf08948b47fcaff8f1e15d03751d81816c75ced94005f302becd120e

Rapid Firecancelled

serverSeedHash: 0x4d099202f6480fec54875e0c8266f6bf9511714b2304f8c20ef045ed3323edd0

clientSeed: 0x905259ead57af555109db4dd743e46a30783f51e83283c9cc2e8590b2a84dd3e

serverSeed (revealed): 0x705348df1b92c5c9f8321e99aa3661b663023b2cfd094f6faa0732fce3aa86a2

serverSeedHash: 0x8ea9db41be67c7a1ebacc3f62e3c62199fe1a7e1e33d4fe0745905013f054d90

clientSeed: 0x2bc40ad192e317b57eff402aa93757c0f3ef5e87172bd7c4aeaaf37fc198a88f

serverSeed (revealed): 0x82f933948087e4f61061166c656aa3154d5eb52a1cc550bbd8676748126fa2eb

Rapid Firecancelled

serverSeedHash: 0x811bad30cdb393b25132231d89ebb2b1fa83c003dabc807f31683a0ba0fe7e57

clientSeed: 0xef6f7f61fc0de3383672b34a4f7a5344864543033669ad3c581c4a18b68ac1aa

serverSeed (revealed): 0xe8d731442867552c60fe1c1985c4f8afb443d52f00c341a12713a71d2165f610

Rapid Firecancelled

serverSeedHash: 0xe7981b4dce74b3d7f636b790b9f515684978360a4666e7e543ddbda2ade2c397

clientSeed: 0xce38d17ec3588770ca4f15b17b14c58d52f28fef1a9343ff23af7df503e40e12

serverSeed (revealed): 0x2c8824a828e89e37e5bcd4248a9220d0b5d96de270286ae1110a33c351694163

Rapid Firecancelled

serverSeedHash: 0xcfcf9f3eafb9a94b9fbeb9576b9e2683c9d54664d6d89e86db0d499657a999ad

clientSeed: 0xab24640bfed6322551aa27a1a18f41fc042cfbfcdef2bfb75344f6c362c83850

serverSeed (revealed): 0x2d18fa8374910f582578b2305b50f9ba7b0a5cc5478be05416d6163a9c69851a

Rapid Firecancelled

serverSeedHash: 0x29b50861ab0cca59599d1d41669b577f4927fa43d05ff78e00d7ac03bb9e970c

clientSeed: 0xe0ac2b0d7dd74fc69f0aab78424a17325243ad0ecc25e78845cb07d4b759b025

serverSeed (revealed): 0x0514cf471a1c096595de95d8340470b9ba10fbed898b5135259581d88670e244

Rapid Firecancelled

serverSeedHash: 0xc22c02db2882473832d3a131b7ebce776a4da546b269872b7534afce678c442a

clientSeed: 0x1305e97554ef5f10ce68104aba99085d8d07ec23834d8e32967cad4d96c4ee98

serverSeed (revealed): 0x5f0f7d1097a055a9477386d8a6a01427c613a49463f5e47b91f12fd11e10eb50

Rapid Firecancelled

serverSeedHash: 0x6fcdb79be5d08e900d3ef85f80c1660e5e008f2c57594e329ccef3efdf8becfd

clientSeed: 0xfd15d5eac61b06dbfddc9af5ff9422aaca0b2bc835f4b2c69e678312d283d70b

serverSeed (revealed): 0xf8528256ee06e81b877effa6c6f7e83ae1c39056a526f0ee75b9defc7e7919ab

Verifier