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

clientSeed: 0x8ee397feb3e167e10a49bfe0831c939aaaa85d37b01e40e58583232bb845558e

serverSeedHash (commitment): 0xd4ccfb4274110ecdb3d0d8c874544c6b94e998d5c9da0104479e12aa0920bafa

clientSeed: 0x6a89adfdc601c05446437be98aa92eb8514067bd2f3f09ac97336fa3b597101d

serverSeedHash (commitment): 0x0cd3a12cf486e400751dfdb438e1cd2d633d0dddfad0ffd1f02cb449d6f483fc

clientSeed: 0xcc092f5e88b9f3fc9c505dfb423055302acb82a91891b4caaf65dd1438f76e34

serverSeedHash (commitment): n/a

clientSeed: 0xc7232ae2d71047eab03ff5d11ac53807851945f1f3754091bbb5f13cee458411

Rapid Firecancelled

serverSeedHash: 0x066e3c06ac028636f046508372323f51a3fb97a5fcd71de9eebdea50808abbde

clientSeed: 0x5577a8de3c1a4656cae35e69c8be2e5a046cac984548eaef91197c15cc82132b

serverSeed (revealed): 0xfca03886ad40fd6002c3d32a9c0d75b153e50afdd18b4cbfea3de2783cdcbd88

Rapid Firecancelled

serverSeedHash: 0x039619691f752c539eb3e104b8a2c8af7ed291cdecbb65e8d4ceb2409fe8575f

clientSeed: 0xd4b100010f1af731027cde96f83d372b3663f6daf441a4988c3e857f8c35375b

serverSeed (revealed): 0xa436806e3130bee85f9fd61edc0ad495776ef49e95ff21e7495793b92187cca1

Rapid Firecancelled

serverSeedHash: 0xcc07cc6ff407eb222552c81c97ccffe86d38d50a3a231485b301114269554ff1

clientSeed: 0x95e6bf2b75ac285161d25a1bb9b1b6bf00c72fc1a3fb3c73d0203d5fd9556156

serverSeed (revealed): 0x5764e5eca8f9971fa4ad178cbc30b62454b8ba4a109bd065f2ef936a73d60ea3

serverSeedHash: 0x35bf5f113d48a302f61ddf987ab470315504a3b097492b66c14c5d06264b4c85

clientSeed: 0xb5e8cada720d398feb87f7604412a96d812b15fbbcf8fbb7048af042bd93f8b9

serverSeed (revealed): 0xa48e79b376622204ef79e1358b6ee8053c88680aa4805fa94a8a7744e59c31ba

Rapid Firecancelled

serverSeedHash: 0xe12afa4a39c18b76b0f2cac053868a0fd8c86489bc087f9a1babd9d7c90585a3

clientSeed: 0xc8960ef60e946483e6c0f4b25c922ac0879bfb63b7c557d77732588457dea6aa

serverSeed (revealed): 0xdcb49a2ba91104afefe6c1b7c8fe64fcb5eeb626f0d0f38ac5300a3f8cfb0f7b

Rapid Firecancelled

serverSeedHash: 0xbc47d1c207d8e3e4a3fe8d392aa327efbb1a9554dd5bc372f45ce15e0be6d477

clientSeed: 0x28e2880603048956e1b37a0e3ee0785cee468d00b1c9941e1dba4c739d3ec6b6

serverSeed (revealed): 0x455bdee75bfddabfe8869e1acbf06392474422e3ce9968a32174e65bc8def729

Rapid Firecancelled

serverSeedHash: 0x63a4582c7d3096cc8a0907a71ca8f252303916b07d227bf43b40e9960ded83b4

clientSeed: 0xdcd4c4fd41e19e373687b652e410236fe02736f5f52eacb30f8a2bdb15091d3e

serverSeed (revealed): 0x5d29f44b337925afc18eea425fc17822547f0aeed0cde4951d59a023177dfbaa

Rapid Firecancelled

serverSeedHash: 0x0d1651face58af619822daefa089cdeffe6019ff81027f2f32c258b032bd6723

clientSeed: 0x494e08e8c8f4048fc26704be9d40705b9b18f66f75179113f879b8e359d396ba

serverSeed (revealed): 0x0ccfdede95356a259dab0a67f819d124a732a44ece002719d3eff3296968bae0

Rapid Firecancelled

serverSeedHash: 0x510eb4212d3c8a0f61abf3e7cd46f9624bac78ba4f004ac3455ff2a3e79b3766

clientSeed: 0xd816b88c583fdd7cfec0e557b6f02ed4ccbd5eb7b58c5a3c21d8bbfddb955c72

serverSeed (revealed): 0x325ce944ae8218819c16928cef417e616e15cd03469fa4f1f851669f0b26fef4

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

Verifier