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

clientSeed: 0xd561dcc6729a962d95fae2f9aef523e9177f3fc47efea970c2afda6d0d52ba61

serverSeedHash (commitment): n/a

clientSeed: 0xf6639e86e3b7bf2e69797934932f9b7e265236ed3b02af07d8c2ebeab2de4269

serverSeedHash (commitment): 0x91fae28e958e924bbd8c4a2cc4b6320c8be340b9406e22847a1ef198b2a7b419

clientSeed: 0x1908b0c8ff0fa105cc4c1cd16064cfd1dc7ac50f334a53e98f626f1f962703bd

serverSeedHash (commitment): n/a

clientSeed: 0xc7232ae2d71047eab03ff5d11ac53807851945f1f3754091bbb5f13cee458411

Rapid Firecancelled

serverSeedHash: 0xd83c901f291bfa15e0d63355bc49cb9647683752c9ddfe799821ea0f0790d274

clientSeed: 0xc2cb69e54ff15b71ebeafdf60d1e73b28d7c2375d8e484cda3aa29ab41407494

serverSeed (revealed): 0x79831e79723e9f4e777619e225fb99f5be6ec7bbe4a3dc7d08325abb3ed91c04

Rapid Firecancelled

serverSeedHash: 0x6c155b5879bc817769c0821e7f792dc47a56f8fafd25cdc361662e75ba0d144c

clientSeed: 0xc50100b334c0a23b8ae5df45d50df300eb665234dcb09cd63de9c707bcd8314c

serverSeed (revealed): 0xe517240e0b523b060cc23375dee0d7377d9762ade131d51c564b93311b5dc109

Rapid Firecancelled

serverSeedHash: 0x7c559d7dc6ea11ccf7a1e2ba223a651c4716f4d0e92db29f96fa0c0125eb106d

clientSeed: 0xf7ed3f170b75efdcda4ef22b264ab7bf69da89261cb6ffbab73e0c5f97f9c71f

serverSeed (revealed): 0x17de03bf77066911d3b2d790f4630a84138c08208c26f7ce745931489eda9b73

serverSeedHash: 0xddc8dcf74bcbce5278e04738a5ca16fd9db61dbb37a98ee0ca397c62796d3d24

clientSeed: 0x5a54b2459a3f30d6d1cf9939e36a2fb8a5d651adb4e9a446511abb5554ab4a07

serverSeed (revealed): 0xc9d99dde71c0eabf255aae9f86e94948dcb015f12718d2bb29181f09d9d1bca3

Rapid Firecancelled

serverSeedHash: 0x748213cb1277afac2248c9c5190023200b602e52673bc1e49a07e4c060b04fc6

clientSeed: 0xa68884e35cccb15a625a1c799a427f4a9ba91957325868d6c1d0339f2ec4fc53

serverSeed (revealed): 0x553bf97e7b0092de7181b92ecbf0b09cfeebc0a1d16dd7665abe7deeda89c549

Rapid Firecancelled

serverSeedHash: 0xe1ae7c2fcceb117ab2b7630e09f40c37da9ccda0e25628aa343c0023e7ac8c17

clientSeed: 0x7a7c7a0883a287812668261e259cbc415142a41fdd3dd0652cf351b74014cea6

serverSeed (revealed): 0x61b2340cf80c95a8da8485a6ca31e466fb79e79184545e2050713c8f48df1938

Rapid Firecancelled

serverSeedHash: 0x0cc651b1656ddd0f50d7b5874473c7c49fd9231eabb46b28d04129c974c4a00b

clientSeed: 0x8b26e8e10684c067da8728afcd818fad236aa289bc41f62d81e2e89b23fa96fe

serverSeed (revealed): 0xf0407b762d655913a4f17af6e022962c26f6a899a37b69897abf1bd53083e31a

Rapid Firecancelled

serverSeedHash: 0x699b37d4dbd49b7ea520746735d1f40bc1a50c9b256624fd58fe592770795737

clientSeed: 0x923efafc876bda8f918ef659ce30a7a1236d5792ab403f5c682985e1e3b0f96e

serverSeed (revealed): 0x76dc57072fe8592e850d33e652281e11151cfd801c48575f0dd452e2744ad0b5

Rapid Firecancelled

serverSeedHash: 0xfb1ae6f485a9c23a71de25222a90d924850ac22cb479ef7172e060e73e9cf56e

clientSeed: 0xab6cde5cd737c1040f452bd262328bf43bd657d97feaeec7600ec6d73345d6ee

serverSeed (revealed): 0xcea66b80e64e64bca2049f82c71c4cf0b4fe039ea4dbe7857e8b99d8c97e3215

Rapid Firecancelled

serverSeedHash: 0x09fc28aec1a86d11e5c38ceea09d8ae9d25f2ee7bfa436a907f6d91fe7684aa3

clientSeed: 0xc9a563849b36bc95e7d4f2d483c52e99625fcbe37200b52fc59134b03ed98ace

serverSeed (revealed): 0x84573334c6160aae45043651f6b2e584ef52c606f4044fe5591b0e33ed5632a2

Rapid Firecancelled

serverSeedHash: 0x2271f510fdbabca8a0fa0f4d86f6a6e0c9b6eb781eda759278fed88fb908473b

clientSeed: 0xc396dfd99707dcff6318e0d21b0b068e1d694eb6b470b9c6cc3b72a8fa247632

serverSeed (revealed): 0xf0dd0482116fd0319a81efaa4abdd126b44e94e8bf41e221c2a1a8c25f463f58

Rapid Firecancelled

serverSeedHash: 0x2029d8d8745f44d4a9562e54c7775eed5379ddce03ba544ff86e3dd5babad722

clientSeed: 0x450eea62839cb8926a9f05e4a2ff73243171ede907873203ef848494128995e2

serverSeed (revealed): 0xd75c3cd50c128aa14f5f488f5da556e3a84bb17457af24784a225bdc1ee17035

Verifier