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

clientSeed: 0xa874bfb3528630375f09d6abaa16071ab84ec1954dc43a839d0827544cec36b1

serverSeedHash (commitment): 0x3d6a589f4ac6176ce66c9f55ed4b099f22cc9dd330727f2a6667952582c86ea5

clientSeed: 0xb9530296f6fe08fa35762b5abde8e0b5059a6d35cd82dadf4459aeb058135456

serverSeedHash (commitment): 0x0cd3a12cf486e400751dfdb438e1cd2d633d0dddfad0ffd1f02cb449d6f483fc

clientSeed: 0xcc092f5e88b9f3fc9c505dfb423055302acb82a91891b4caaf65dd1438f76e34

serverSeedHash (commitment): n/a

clientSeed: 0xc7232ae2d71047eab03ff5d11ac53807851945f1f3754091bbb5f13cee458411

Rapid Firecancelled

serverSeedHash: 0x351f62604610ed5d4d34906ffb4a1f77e0ee1f076c339694edd91b96a7c8d1d7

clientSeed: 0x5b1887a4a862195e85e8d0755f8b44b97efa973e3db2d8bad25065bdc0360a60

serverSeed (revealed): 0xbaba5aff232ad77c321bc2ced70b665d31c84cd77d42d9f1f976b01040d96d5c

Rapid Firecancelled

serverSeedHash: 0x097e384cc141f86a6f2aa8a74c8ccd637d14cf77e75a9052daee726e8f1f8ad7

clientSeed: 0x0eed2ba06f537d1a0588995a540f3b969cf5d6c2d183c4e59639894ce41dc699

serverSeed (revealed): 0xc3b8101f74e15b9e7ddcec86b5b99fd524c2ae5755f6dc42bcb8dadf59481a0f

Rapid Firecancelled

serverSeedHash: 0x8711e983fef291fe6c834ac65e133ce72595dacc19b2331430260297384116dc

clientSeed: 0xfcc98658196fd1f7c3eecfa8785557f037e0f1a5206d8581594304bd246a098a

serverSeed (revealed): 0xfeefe71a71c29f11ed57c7b63a4dd12a22da4a5b1225144691279c8a7163a291

Rapid Firecancelled

serverSeedHash: 0x793d64289553d3c8f9988b95a1e94613cf9b23d07a2fffe23d53d444f25a92ff

clientSeed: 0x179d161b4a7dc51a44035f3990a55e445951fea50ae4a3c882aa0ef9755bbea8

serverSeed (revealed): 0xca4ec2dd0135fed08905c3403ca27fc8c507ab43bc4c0923b0b5a3f378834f94

Rapid Firecancelled

serverSeedHash: 0xdce6a0e655cbd2f6018cdbc2f5423a26bbeedea229137653bd7aae08bc20ef5e

clientSeed: 0x19b8168b435919c8a1dbe7a83b2c244c7caa766af543a34620988c8e3d19b658

serverSeed (revealed): 0x02d03efc0b84682cf115f0c3b318a2c5aa755eba432ed8e7cfeab03052693644

serverSeedHash: 0x66e2c30c893c2957ea6b9015554270b0cba08465665f6ce941a7ef3d9173f2a1

clientSeed: 0x5c5ba2393fa779159b01f4dea747d5c0b4051a8017f923109e638a6b64996472

serverSeed (revealed): 0x6765ddd9aff512edec834f824e0eb126ff129e62bdef8537ca892a2f0167e796

Rapid Firecancelled

serverSeedHash: 0x7610742a1a6e35c35074827b60bc638a0b66c251d9b75a773f93602737c2026a

clientSeed: 0x4ece3689e01bbe02aee17b1ed3061fc261a495036c25871270d444938b99363f

serverSeed (revealed): 0x485f0918e4e154cb500b3bef140208c15a8b770429743ab60ff223c3b112c0ed

Rapid Firecancelled

serverSeedHash: 0xb1f6b86f214b6c253cc3d015be53158e0dada1488f3d68549412c0e140e7a864

clientSeed: 0x267837b82a0ed4dc440debc61dcc20462b25dd9ffcd3972831ffe9652074368d

serverSeed (revealed): 0x82af9e8d323a277bc072b4cc5b1c18c27e4ee39ca82dd6e13744e745654b7cb6

Rapid Firecancelled

serverSeedHash: 0x90cacfd842a2eff0b433e89b03000f18395752de01de5b0584f106ec0f64c94b

clientSeed: 0xad4c037e741ddda9254c8127d646480bc6ea86ba971457a1643fcec4c7b94858

serverSeed (revealed): 0x0001128d8c67d7b60383fc4a6fe036f3693694be15007be3c0444ee9f877c55f

Rapid Firecancelled

serverSeedHash: 0xb9a58bafb1893d3625abaf8ea43bb48bff59754194f78bd79826cf95b9c2543e

clientSeed: 0x8e065e4afc59db25070c437b961621a668aa4cacd6d203e7e2236269c716ef4f

serverSeed (revealed): 0x82707332aeb2a26db7a7f36258008bf4de4fb97e9e62680247ec8c58a2f0095e

Rapid Firecancelled

serverSeedHash: 0x0574662b9fea06b68043c45c89bd932e1e1fe108a510343fd203883c27d321d3

clientSeed: 0x028d0e94965d1666229312283e3ba680d14741e5ae25bb85406bb9b78a4928c8

serverSeed (revealed): 0xfde6d0df4b52ebee8d9421d8d28ccf5829db701813947a5093c494362f91ca99

Rapid Firecancelled

serverSeedHash: 0x088cb93fe187a721ea6d6cf0add9c79961efd2020b2f9fd4f9178e6a521fed35

clientSeed: 0xa420ad59bbedc35fd63f6e4cddf983f770412cf0fcedf78c83ba44a5d4d509f0

serverSeed (revealed): 0x7abe60970c22eafc32abc81d743ca4cc682d809a202710b995faf1247a38007c

Verifier