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

clientSeed: 0x14a19b5e24bfcefeff246940d70da3831500337da65ffb0c4cbb508220c7f7df

serverSeedHash (commitment): 0x7caaacf02bc6b74a2411a4dc23e6001b171fde5194c3a02675a677dfac4fb4d4

clientSeed: 0x070530e3efcb5bbc989dc4eef133517b29d08eebd3cee4ff57410f8db531e013

serverSeedHash (commitment): 0x0cd3a12cf486e400751dfdb438e1cd2d633d0dddfad0ffd1f02cb449d6f483fc

clientSeed: 0xcc092f5e88b9f3fc9c505dfb423055302acb82a91891b4caaf65dd1438f76e34

serverSeedHash (commitment): n/a

clientSeed: 0xc7232ae2d71047eab03ff5d11ac53807851945f1f3754091bbb5f13cee458411

Rapid Firecancelled

serverSeedHash: 0x7f0a2e105d3f3f1cd4a93749bc3f79dbb610fae368dcbcca55f0a3540f0ce6b5

clientSeed: 0xec79292446026921b6ac4018aaa93ba3ebc440d48b52fcd33a19294e169c86f7

serverSeed (revealed): 0xec8c596b19f0d9e27c1113ba96b9cda704c841960fea794c6c7da01d5718f938

Rapid Firecancelled

serverSeedHash: 0x0dde88ee8b1946ab79adcb0eb18311338f5b5f221b485afcf7837d4d865349a2

clientSeed: 0xcda612a7279d3852eef588017176d2e237c1959649bef455f9323d80f9c6892b

serverSeed (revealed): 0x5d35349e2bc903d95b55e09137c3b3fa659a7b096a21ca1d9f9539e508a8af26

Rapid Firecancelled

serverSeedHash: 0xb4e591b8ac90edff68c01770ae899eb65244cbe44fac21c61d75bda4a62f5298

clientSeed: 0x668998a7d5439b61810abe585acd3d6b4f7fefb0e505efe7bee568a8ebf42d22

serverSeed (revealed): 0xd2af0aefaa587902415fe89f4d5d5fd30be5ec8b57849e92b908233ba2fa285f

Rapid Firecancelled

serverSeedHash: 0x0db3175646ec58ccb413f0241cbe4179211ed1fa1c5a7d9eb4c9f839a2fdd6d8

clientSeed: 0xff42c203b4979382e317f3c878ef4e108e641e96e9f7c12dbdc24929b587331d

serverSeed (revealed): 0x7014547c9ddda208065dcee5f6d53c8beefea861895cec1f999f7cfd36298b0c

Rapid Firecancelled

serverSeedHash: 0x72de8d8fb5fe85a4c2172ec940ef705c446eab79770dbda64cbeb3efde0810b9

clientSeed: 0x4b4962c0dc9ed37ece95bd3f7f42415969cf4409813c1bfe50a3acaba5395c2f

serverSeed (revealed): 0xed0fd9a85bb6e35747e109fdf2db5c420fabca142d7d942472ad9023111a14ba

Rapid Firecancelled

serverSeedHash: 0xec5e3524a88aed0358375a791afe8b5d5ba0c0e19274fa22a138850970990d7f

clientSeed: 0xebbaba8abf483216a02b51702864cae2c5d71f2d6d1a5b479e49771e52d035a0

serverSeed (revealed): 0x895498684ea2838651afb8760d9783ee02462b4b1583e0f8dea3a1b35d1f5164

Rapid Firecancelled

serverSeedHash: 0xd4431a00c3784783df670c591f865745f222cafa3b7724f4bc9cf90480513182

clientSeed: 0x166b65aff0c43d99add1c9003122d1994fee9a3636c119e51e388ccbd6bee1ab

serverSeed (revealed): 0xd65853654321b510413201eae5d4bbab656d55fe409567800e7c5f9a056f4989

Rapid Firecancelled

serverSeedHash: 0x1cefe3c96d93caf29868a7ad9068d495cae4b484fdb64f86278bf83786fcdf66

clientSeed: 0xe927f9bf0a2d9c04c15c1cdb22096d06a291cffa6cca5168bdd3a92c6fe50228

serverSeed (revealed): 0xfd1d8d5e0bbcbe74dc8e30ecefe23a5b6c8d43da431e9649b86ec6c0f489e0b8

Rapid Firecancelled

serverSeedHash: 0xfdafb15fa24894f9bbb4a4fbda2f647d94371c89f6d6d77f6df59e88efc3044c

clientSeed: 0x8c4337a11ca03d8490629517d12343d3dce353cd24e8d00221c8c19b596746bb

serverSeed (revealed): 0x40cc90b0d2f685ba925be76590b6cbe1cd6dbaa845949c4a860471d6b9920db1

Rapid Firecancelled

serverSeedHash: 0x91f8c699a9825b07a80c4e9aa4eec930b011bb793014e619156b0baac7c1e5fb

clientSeed: 0xe67c9b14efde018b958c184b389d486b4125418d493c5d8c9d8d9d4af831750a

serverSeed (revealed): 0xd1d002d588efc5c1c5d6b8c9c16e985a078812b7839bfb3507dd06dda80449cc

serverSeedHash: 0xe10b123b30dd32699c1109388a302507a06f9702a7a258b1edbf2c88b0d03e9a

clientSeed: 0xc19fda6d0127e1245aa3de65249c1d7df3f0eeb8550634ee925cb70a1c675c46

serverSeed (revealed): 0x43880ca81347bc9e0b6c1bbd5e3b04b201d32b3fc6a1f6179cb4266436e52912

Rapid Firecancelled

serverSeedHash: 0x258b1bb40dd2b8ee1cfc95d2fa4b7af1819ac3ade3c718f2a764391df72ae98e

clientSeed: 0xd34074e60ee0a344df380d7f9c810d021337c8410ab10bbb7c9ba660ae09743b

serverSeed (revealed): 0x9fcd40258fcc6048c3f5cae764c9f854a26fe016438150bd718a741d361c4564

Verifier