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

clientSeed: 0x724cbc11e7aa58a86db889507aed4033448fa9bd7e264eceacb8bb889d32bef7

serverSeedHash (commitment): 0x0c500406d887b9bce19c78a47c833a8a5557d0c2d72046471e8667f91ec143bc

clientSeed: 0x836c50d30e9a576b2624b989a378fdfb9ee4e84cadad5c39f982e753e822e3d2

serverSeedHash (commitment): 0x0cd3a12cf486e400751dfdb438e1cd2d633d0dddfad0ffd1f02cb449d6f483fc

clientSeed: 0xcc092f5e88b9f3fc9c505dfb423055302acb82a91891b4caaf65dd1438f76e34

serverSeedHash (commitment): n/a

clientSeed: 0xc7232ae2d71047eab03ff5d11ac53807851945f1f3754091bbb5f13cee458411

Rapid Firecancelled

serverSeedHash: 0x185334d344ea0400fd2255537b084acbb4a1d69f94a48af51a881674bde421ae

clientSeed: 0x5bbe96384a092cc7f458934d8f72e9163895799c91bd85aef61b8c93a3d7c62a

serverSeed (revealed): 0xf239681e6ca179f1fc2fa02db228293f7b663f269942a71cccbe31e91fdb15c9

Rapid Firecancelled

serverSeedHash: 0xa6006a9572b0ddb54eb20847353949774036462fb5d8040c3330217861a568b7

clientSeed: 0xecf280dd8f70b3828d49391c24bacaf5f449ae73dd8ffb1f6160b48bb8a0eea5

serverSeed (revealed): 0xda4a9894aa8c9a0e970da041dc7a92c17aedd765d9b3c6ab67d587534506f42d

Rapid Firecancelled

serverSeedHash: 0x6d94577296eb7261c671206ab5086951c77b4f3a26beb39919f32c564aae55cc

clientSeed: 0x0314837ac807f362b597e88d57b24a0e653541f9efe0b4c2676aeeaa70d3e44d

serverSeed (revealed): 0xb70c76cd20715d934d55349aebba8b74ba37e05b8fb2def64b1602fb6e8f1702

Rapid Firecancelled

serverSeedHash: 0xbc0232e0f5f13c50f42e57a652baae217141f984df8ee521129b2dac2f46a840

clientSeed: 0x25b2c936fbb6d65525f1405648d54d1264ad490883e3964898deff4b77e998a4

serverSeed (revealed): 0x422cf45acce624fd40163045fe6fb5c864b445eb5cd96e0eb745a9c8f404bba1

Rapid Firecancelled

serverSeedHash: 0x834af36fdd9e79a4cb1160fb0dfd64bb8b49051d0309303056c728d7e41634a2

clientSeed: 0x8e17ce5929358eef81c91756821b702c333ac7941742b3fc25a244d9b1a6a2f6

serverSeed (revealed): 0xdc84a8d89606a66f4162b7387947defe0a565de3a84ec391901f22de9a843121

Rapid Firecancelled

serverSeedHash: 0x8ad85959ca305e1060816afa0753da36df0211c95c5507623cd1de1dae371fd3

clientSeed: 0x2e2e88ba71e8f323b3fe5fe1778c1665d581891b6e51059375e3c44b673f1813

serverSeed (revealed): 0x19887fe2390c56167414c4157f7655ec9c61b273b5449ce230827285d75488ad

serverSeedHash: 0x7caaacf02bc6b74a2411a4dc23e6001b171fde5194c3a02675a677dfac4fb4d4

clientSeed: 0x070530e3efcb5bbc989dc4eef133517b29d08eebd3cee4ff57410f8db531e013

serverSeed (revealed): 0xa9d14fb9f26f4e49a379e978d1c9bf2c77b9ee08eb9a504687f0526ffaeabdbf

Rapid Firecancelled

serverSeedHash: 0x36c621b34eec8af4ff0b24378b8485eb70a66454bd761d65aa34f9aa3f196094

clientSeed: 0x48f9ad17c384c795053cee2b6dba07831186b974e0f771a85e83844c86718254

serverSeed (revealed): 0xda77268d4a9169bf2ad9275937ba528a99e498c9b1e77c2148cd49866952808b

Rapid Firecancelled

serverSeedHash: 0xf8682580b3c3263ac4c3d655826a9a69d198dd475c967784657fa6044d837031

clientSeed: 0x14a19b5e24bfcefeff246940d70da3831500337da65ffb0c4cbb508220c7f7df

serverSeed (revealed): 0xb1e4755a4c81f25859ce0bff2c09d1b4a69ec1500c1ca5b2d708b24bb1af6c53

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

Verifier