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

clientSeed: 0x4c4932192fd740d3d0e2e30d0a29ed7106102a9c204d6ccb45108d22ed206038

serverSeedHash (commitment): 0x49275a667e4a9b12db03ae98225784ca2b8a29200b19517caf7299fb9034d7ce

clientSeed: 0x5c0c02494ec9db33b491a309fd257a53bf60582e2d79c8fe27d5d89f7ff7c6a8

serverSeedHash (commitment): 0x0cd3a12cf486e400751dfdb438e1cd2d633d0dddfad0ffd1f02cb449d6f483fc

clientSeed: 0xcc092f5e88b9f3fc9c505dfb423055302acb82a91891b4caaf65dd1438f76e34

serverSeedHash (commitment): n/a

clientSeed: 0xc7232ae2d71047eab03ff5d11ac53807851945f1f3754091bbb5f13cee458411

Rapid Firecancelled

serverSeedHash: 0x91a5f7da454a452ba080f27c8b033e0a79eaa96b570932028ef6974c04a0894b

clientSeed: 0x8e44e5044b52394a3526926a8890e41106e64bfcf6de051486c78f9e05e276b7

serverSeed (revealed): 0x8e66e15978d33a813feadd8e5a7708c226d4adeba5fadbccb6d4060c270f39fc

Rapid Firecancelled

serverSeedHash: 0x46c2b0452a75fedbdc116e033c925c272fb46b8252d97cd86d3e85dc17d4ee60

clientSeed: 0x821e3071e8414897ab685cde60ececeba50738f0caa28d570b27d438b8468d8a

serverSeed (revealed): 0xbea2f620f02ad3e8ad608452d3bb87f47fb32446a6f01c081ce7a734e450d1f1

Rapid Firecancelled

serverSeedHash: 0x5d2df0866d961e5858e9087d38a5baf9ce0f722f850c2fc2badfa587dd619ee9

clientSeed: 0x75e9c2a4513bc033ceae9982da0d05c1662440d54aedaebd1f8a6ac64bf3dfa7

serverSeed (revealed): 0x5c861ea6e6ea5148cda7fe4557f313df9fbb19d894e73b4ec66af5c1e4f7eb8d

Rapid Firecancelled

serverSeedHash: 0xff7dd8aa044330b0c4afaaa3e3945424dc2ca5c41d303354e2a493e9e11a3d81

clientSeed: 0x67f2042741da6e564827b3d5b1cb0c8e8a51ac81f623c606f993e63c12baea46

serverSeed (revealed): 0x673259441dbd38ab5a18b7bd6fc0c89e4c6d162be51c245743e1b485155a8cff

Rapid Firecancelled

serverSeedHash: 0xfd66e4767989154c0d44b1f5212913060d9a9fb52bebe29fbcde5342757a1fa5

clientSeed: 0xbf9882f6bbfe76b9beafcdfb6105f7d31044b90237eeaef792e10b5cd8be4758

serverSeed (revealed): 0x7192763dbb9ea5c28990fe86853e9d43df626616c2933e833c1a39a850ed32ae

Rapid Firecancelled

serverSeedHash: 0x43f8a4cc4f53608f2a2e9c9c0bb8ae86a02bb6fc04f83b285213080e9dbcd700

clientSeed: 0xc62995ca5618cc7f85264c0e2f6d58d3941a0717da835caf2fb46175a8c3226d

serverSeed (revealed): 0x15bddb0aa9452481c3d0864c59b6df5005d8f51a515f5047f88c13a6f2ba4dfa

serverSeedHash: 0xe308c491f0627e8a47167a30a1ab59d004c08f9c0d3d21eeb5f0d081b39c5362

clientSeed: 0xd9723125e182409f30bda3421e253dcff57b0921ff751839996ba042f4617787

serverSeed (revealed): 0x4ee78cc8e58d2c46c4c7620284c7306e6d672bda1effdc01bcb8bd6edbfd72d0

Rapid Firecancelled

serverSeedHash: 0x4c725fece5a2761b92dc2db531c93c2a8c6042a1d1a264b9d84262abec43c9bf

clientSeed: 0xfcc93dc7dada2cf7805c325e1636ea0d8536ec3e7ef9dcabf8a361bba206a3b6

serverSeed (revealed): 0x2ca537197501c95326bb329096d594a997091714a50e27837fc86e10103c8881

Rapid Firecancelled

serverSeedHash: 0x40750ac919961763821c57d26d10292ee0adfb95590e6d4d714d1880108d3882

clientSeed: 0x69945ebd023245e29728795106e9dad8ea77f2242aef7f29d63144f23713cefd

serverSeed (revealed): 0xbf6e4de9a71e6e78b2e8efdcb604c8674076d496568ad609130281c8a6f4e1f4

Rapid Firecancelled

serverSeedHash: 0x5063e98e67ccee68d5d6258faae3f81754f3cbd931405f084458ff56ddfceb5f

clientSeed: 0xe755951adbb841d93bb27a77c6ffad814372c4ad88b94cf15e6c88e4627d3976

serverSeed (revealed): 0xb55612144b93c53bf696df0d29ce585738fe3ea7c7d116aa2d09a184bbb1eadb

Rapid Firecancelled

serverSeedHash: 0xc56f9a9b1860830c14103b8a68fece17987f10d314f14d6c7fb8c32a01b509e6

clientSeed: 0x467f57d39d053401d143e177ebac321ec4b196b2f90846e88e66e5f3a6f710bc

serverSeed (revealed): 0xeaaa80b2692315bcd1aa9cdaa6737796ec58e6e9777f158bf54aef9e04dd8834

Rapid Firecancelled

serverSeedHash: 0x5cba05368ea6080a517bf14263e0e5e371d2c4bdf87e92efc7637f2ce6c44d70

clientSeed: 0x779e065386e17ba33a3daf5e1782888165e5005faaec342b48bc827f565fd31f

serverSeed (revealed): 0x4bf5f55476dd69bb5d2991869c4f9819a03b25c34e0873af8cfc26f1ab47e0d1

Verifier