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

clientSeed: 0x9fb89613495bc19d436a962a05429b20cbeef76b6ab2eadbcaebc8f5307493ec

serverSeedHash (commitment): 0xe56f012dfd4912bf76e42deba03cc854102f7c73436350c2d4fcc58ed0c30e7f

clientSeed: 0xe02ca03a25cbf3903dcef10de4c1c53cbc82d16aa69190cf88adfc1530dc6613

serverSeedHash (commitment): 0x0cd3a12cf486e400751dfdb438e1cd2d633d0dddfad0ffd1f02cb449d6f483fc

clientSeed: 0xcc092f5e88b9f3fc9c505dfb423055302acb82a91891b4caaf65dd1438f76e34

serverSeedHash (commitment): n/a

clientSeed: 0xc7232ae2d71047eab03ff5d11ac53807851945f1f3754091bbb5f13cee458411

Rapid Firecancelled

serverSeedHash: 0x00e2a2b407e3aebd14804bfa827f920209f05bee264073dd63e37744f5d8dbd1

clientSeed: 0x7e886614a98b84ed0e78c673f9cd98b85bdb26172e66215c0367e3da6f9bc4f4

serverSeed (revealed): 0x3487237bd009e496436779299cc0083f16080ada3cd69a6e00477bb69f7e3b0b

Rapid Firecancelled

serverSeedHash: 0x2e753f0fb923b85247340825b4cd74755eff0718d922e7bb53609e43a407da2b

clientSeed: 0xa2eb10aa25289da4768704f03f14363d8b8a5f5ba34ed9cbc4cf21bf342c38ad

serverSeed (revealed): 0x9fd5961c5582815b64d14a91d201e0b04c002a541dc14973ad47649c29857981

Rapid Firecancelled

serverSeedHash: 0xdbcfca318c99d407cfa00e4fcea79c056be92b1ee23b26dc756fced7869dca39

clientSeed: 0xb7e881cebcc6f983224ef544d952f50c45498100b8961d070a95e3bb843ed80c

serverSeed (revealed): 0xb97de0bd3cf7e4c5485b11574192fb5dccfbbd4586ba79171d687e2fb2ec470c

Rapid Firecancelled

serverSeedHash: 0xd8cdfdeab7bb8f8a809893902bc8549c6293739dac229c88969578a619d624d4

clientSeed: 0x2baaff4d678f3dc087a7afd40ba2ef59279c6305cf29e039ac519984bb0b3991

serverSeed (revealed): 0x326e8a56ca863b78a241f184528f4276385eb9c845dceebfa261e7ea3aac321a

serverSeedHash: 0x01796be9460c1d57e62b5c29b27f5dec91cdd78e4042559d4e7790f8d80f801d

clientSeed: 0x7d0191b0ef40e934cceb9442b53aa6cdf49c03958cbe913332454bf5b4158943

serverSeed (revealed): 0xcb7e92d077e30db0d2ddb6d4a3eb9a269b203fd9a4eb1dd322b26fdf27b3a088

Rapid Firecancelled

serverSeedHash: 0xf202701593e638ad8ebcec5cd8954b4dc0623b72ccae6b4b78a8c8c4d4e19389

clientSeed: 0x5757820e14463b5813ce54dfd8c6f3873f6b4a2a869c237e3788901aa4cacbfc

serverSeed (revealed): 0x278d3b223de137a63f94ffb3e47f9466db536beb6dd78c68adc2de0d220a2856

Rapid Firecancelled

serverSeedHash: 0xaac9976fce2da7fe32c11759a7445de6d3ae2dbc59fc73f0bdfa653a1250d79e

clientSeed: 0xbcd035dedfe6b1dc85901f6588f26147e7c99797c2f44fc8ad006c88dd246a6e

serverSeed (revealed): 0x650e413663319b5917f7ccb7246b7b43f29b62ab066f09dafeb0a654156342f1

Rapid Firecancelled

serverSeedHash: 0xf33ddcdb8be751e5d3f117d35ebd39a9d8a810baa3804189beacab335e72d5a4

clientSeed: 0x389e2a898d45421b5322b53a4f4b39a54e7e36b5d44be879c8d726ee9c023259

serverSeed (revealed): 0x204dfa20bb4dd4eeda68cf1fc933a04fc67e37469624e8eb29b00e31caa25e7f

Rapid Firecancelled

serverSeedHash: 0xd5ec3872b72f99038a5c49c3507b41b3177641fd1e9877b6d7b68cf1644dc7ba

clientSeed: 0xee6d8b5e8071c5afd026ef014abcec9d3468d14fbe73e6b1f9ad759c6bab4012

serverSeed (revealed): 0xbff64a3ab8fc3c089de09fb27968fbb2df79b9d13f5df0685951a91d1f7dccac

Rapid Firecancelled

serverSeedHash: 0xfe97b720beb12afa6e43b23f0ea168ac6926e8c6ed6515075aacb8e2facf081c

clientSeed: 0x57a3ee4b6f5679bbed32d0afeaf5980b55494d7800e72ab3d172742a3585add5

serverSeed (revealed): 0x24a49c108f6696261f0577607aa06979bb4963bd78f61b5e176d9cb2c9827576

Rapid Firecancelled

serverSeedHash: 0x7544891f5a6fffd9e5da49e92a994fea89d31629a3b47da325afa997d670af85

clientSeed: 0xbd089522869165cb039c128a3c1d495d97cb68bd2dc49cc9023d7e6484a4b17b

serverSeed (revealed): 0xc40e158e143ff6807ff0cd9b31b3276f0a91ac2bce57ff7aa14c2380918b2b16

Rapid Firecancelled

serverSeedHash: 0x000a446d7169d04a95517450dfc2befd28fee2a00ff1b1d81f93829fac8f7e1c

clientSeed: 0x0f4749c6a6f73a7c4424e05cf8c4d8b6b347d8c2050b3d4ac575921fb01561ba

serverSeed (revealed): 0x419cc9307e30a17ef0d128a5687d1fc67caadb715282e63805c70138e1bb089c

Verifier