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

clientSeed: 0x94b58a5962114acd23af003c1beb7550ff23f771fc556c1a5a3e93c9612d77f7

serverSeedHash (commitment): 0x4f2c17baa540505d5971b589525527f53f9df17e8ebe2d028d968a264a036ad9

clientSeed: 0x60e1585aa961d42cac6f48ea0aae3397d0ab1de7571904241c164d0cfdf40c92

serverSeedHash (commitment): 0x0cd3a12cf486e400751dfdb438e1cd2d633d0dddfad0ffd1f02cb449d6f483fc

clientSeed: 0xcc092f5e88b9f3fc9c505dfb423055302acb82a91891b4caaf65dd1438f76e34

serverSeedHash (commitment): n/a

clientSeed: 0xc7232ae2d71047eab03ff5d11ac53807851945f1f3754091bbb5f13cee458411

Rapid Firecancelled

serverSeedHash: 0x50c12f3ed0cb8e77aeb43511115cc7f60734de68003aff9a7b151a9f4244c7bf

clientSeed: 0xf652c5f1b75bcfc3c474d5eaf32d7311e7a2e6fe5b1888ac058414dc01b19139

serverSeed (revealed): 0xe1209454613ff94d1f81b3846d623a3e6c19002513049929295658e955e124b8

Rapid Firecancelled

serverSeedHash: 0x26b5566a67a676db29229c9e41a74cb3dffab0461d1cf41b1eb39847b9aac6f1

clientSeed: 0x09f0a0c9a9b1f28d612ad447e4eb5cae66e7c76684370eeec367a08ed0489a9a

serverSeed (revealed): 0x9b12c4961ef2c6b4894709a1b48453a6581f8d57bcab9adfd6ecad72b81e8a4c

Rapid Firecancelled

serverSeedHash: 0x731bd09a9f4a29e36a02d5a1265648d23290bd4acb0de07787d29131bc938c4d

clientSeed: 0xaa82c4cc0be46e7a0b66be515a1e344dc77efbccf48b9de965781a61ea19961f

serverSeed (revealed): 0xb2d9bf82c9f82de8736dbf348007e9016cd8f538efe4c063b2f57ae080c5ed51

Rapid Firecancelled

serverSeedHash: 0x21df3492c8b4ae10e255543678c9bd1b77c700ec679529a6ebfaca6ba5c29c21

clientSeed: 0xd9861e809c7b5976e8070179580a05618660b6334935fea41bfb0d1b9ea454f1

serverSeed (revealed): 0x4798314e75481abf3574d07b4f54e4304fdd6d1a7ca32822f847a4040cba243d

Rapid Firecancelled

serverSeedHash: 0x48584194dba7e02664c23716baf6bc7b572e33f81b7952b71139052085a27f58

clientSeed: 0x1fe345c7a3e5e0f701ad35335af521020262dccbfb08738efec33371000dd246

serverSeed (revealed): 0x7fdbb560c2129e3aeffd7db7ff094586f8b4d4d5c6c7f747699c0ad72382a337

serverSeedHash: 0xc0c38014e816345a3449716154c6b8ca1cc39e16e1f18779fddbf2a2d2459aec

clientSeed: 0xb13248b082ec397da6383f668a883ea157b3e8109ce188c824a1bc8fd98b3b68

serverSeed (revealed): 0x042bf6c64de0a78b045fe5c3655205a6ea7931f25f5b45d9de5b77e6f0f90826

Rapid Firecancelled

serverSeedHash: 0xbccb0a9daf996ede9ead9f4de17effeec199cbf9a9fb26e3717e9482850c12d8

clientSeed: 0xa3d22e5a59aa98102925ab375164ff0538edd904ff4aca9d9f9e0d72f47fe8a1

serverSeed (revealed): 0xfe9ada59b7dab9d9a490fdb3d8db140d639c1a80df1454a53fd0507cf8ab8b8a

Rapid Firecancelled

serverSeedHash: 0x063ccc9cf122081dddf56190aa91705cbb79ae13e898e23afd3c37f048e948cc

clientSeed: 0x75e909c2140b190fe30a7741555f6d4ff67773a46d62ff80b96de17762f97b44

serverSeed (revealed): 0x560b273dbd76686b64c41ec30a1f68ef12c9465ec5d34251029bc88698bd1dce

Rapid Firecancelled

serverSeedHash: 0x230243334daf8ae3c8c4ea165faca17ea27763dbf6a28fdabaf7be430b7b97c8

clientSeed: 0x2e515b642ab6364586ca4dbb837cd85f9b9d32ed8d56ad609d7de848bfcc71ae

serverSeed (revealed): 0xedcbc79acba38b3ffabce64196769f3cd1f30f3f9aae4de301a1b1f5962045fb

Rapid Firecancelled

serverSeedHash: 0x0b2fcbaeace913f5bbae1947c2bd21e789dd54cdf781ff63c1fa64bad6ad8e8b

clientSeed: 0xda1023459338e0c2265ea50141c9926ab34078845eea7a3b8d4a43849ca28678

serverSeed (revealed): 0x909e92da7cf123ab0f41be2986fc6fc3b5a839f9a0f1eb8076dd70738893a203

Rapid Firecancelled

serverSeedHash: 0x75a6915a26eaab8fda92ea3d2f074d3ff96d0cb7dc3f178a358ba5928975fb3d

clientSeed: 0xe44c4d23399f793da524aecd5054416f10459b977f00b3e7323354132d599f77

serverSeed (revealed): 0x5e49669ae0927da90732c946b132580c0f683e827a5d04fee1ed8f61f8e6f286

Rapid Firecancelled

serverSeedHash: 0x0d3054e04d2994fa7ed751e2891cad6cb4ddc87871ce4901bd1f329f26a521b3

clientSeed: 0x1560cfd5aca51113e3de2e1fa4c55083f7253603919e52a87a97b329aa9841ae

serverSeed (revealed): 0xabf8d8ec43aefba37da6b6bb659e12fd71c12cd9581faad00aa59e752af9440a

Verifier