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

clientSeed: 0x764a4ad232c50a974ebb5a73eab4a670a59697cc4fcfd112345f3c2dd7bd6129

serverSeedHash (commitment): 0x37ab55ecf180265c7a932043d90a30ad516a323e96d6d1d656c50446d312104e

clientSeed: 0xd6fbc03e14430e8e119add4fe2800ac9627de4cfcd849fc1ba452085304dcd52

serverSeedHash (commitment): 0x0cd3a12cf486e400751dfdb438e1cd2d633d0dddfad0ffd1f02cb449d6f483fc

clientSeed: 0xcc092f5e88b9f3fc9c505dfb423055302acb82a91891b4caaf65dd1438f76e34

serverSeedHash (commitment): n/a

clientSeed: 0xc7232ae2d71047eab03ff5d11ac53807851945f1f3754091bbb5f13cee458411

Rapid Firecancelled

serverSeedHash: 0x3b6e3141d94196d964b5b2e91a0a6d87be559d1b993d7e0f85227c7d8f850e97

clientSeed: 0xc21bbd5c617d7e2e634027950d92ec4442155af902428d30751a81420e9bc986

serverSeed (revealed): 0x04aa78754259cc28425839b820138921c65d91cfe4d60be02d375216d1832abf

Rapid Firecancelled

serverSeedHash: 0x2eb59e56ccec776f0a8b6eaf52f046c260619fb93a427c98858420b94036c656

clientSeed: 0xbd302b7e5b3143958cd0ea4a4b95e378a722832585d2bd8eb3ec64d4ac1b13b9

serverSeed (revealed): 0x1b04617c97b2841281882da922d1eb901b20b9f98291ec56351c42eb8e2eca1b

Rapid Firecancelled

serverSeedHash: 0x666399117a9924f7037ab087d59a0fa6ab078573099771d6e71adacd7e61b6f3

clientSeed: 0x8e6a72f04c81e671789bd794b6043754dab3e0130bdca7b324708e5236762445

serverSeed (revealed): 0x414d4287c200fa4a38d98338b13ed7dacbce1067cf02cae58e335b959870c1e9

Rapid Firecancelled

serverSeedHash: 0x5e0f57312517cf4360dc4594b801b816b09861e9e87615bbaac88f4e1ca7b828

clientSeed: 0xd9627ad79e64a25ad1eedabaa227cb7ba7761c4a9b71aae46bc03f8e69fe314d

serverSeed (revealed): 0x4f936239df8334995116faf142a3f97a3f056a9a009e7c50ace5825fd3e65196

Rapid Firecancelled

serverSeedHash: 0x8eb7538444048f166e00f9f223e09338003bc525881cf382e5909a23f5b6b0e0

clientSeed: 0xaa05f1511e6258dfb07c6bd21041f3ffa5620d2758e586a3b761ee5578bf6caa

serverSeed (revealed): 0x4ce5fc6077d3b58dadb97ba5d483c9207ed611d456cad4fdf324e8a11b8098cd

Rapid Firecancelled

serverSeedHash: 0xe643d16c3a0d8b10097f7ed89639124a85fd31c5748a5f639098094bbf12c27d

clientSeed: 0xe6dd61277f98f1c8af9e9284d4bd7bbdaeec8d4a89902acd6a8c2093fdacfeb3

serverSeed (revealed): 0x0ddd74af28c551df1782d7b1a04a217448bec34bfd3cf302e850b76cbf6e1617

Rapid Firecancelled

serverSeedHash: 0x5565330ba72a07f441da0f85a84c7497fe8878acfa965801169e951e24244fe2

clientSeed: 0x9f5d2e604af5250bc57978f4a55dd77e0b1808c0f21c109c989f32a7af29cc9d

serverSeed (revealed): 0x3dd69ea92103639f012abbb71bcd582ab4dca5b3867a3d9d974515b33b4606d0

Rapid Firecancelled

serverSeedHash: 0xf0d15f04e4255c8541a6bd5473729fdbf0e9e9306e9b5fbae27fc5d9572e9b6c

clientSeed: 0xd5dc3eaf2da8c475b80a4e03b4602b6cf81f3438ed3d719780b5d63d979eb6b5

serverSeed (revealed): 0xece1e0edce0f64dc53217f8a55f16c3f888ade257bdd3f68c109387abfa1ab66

serverSeedHash: 0xdf0442609b0064de05157adf294932f777b89d9d312ddc16fe5bf59acd919905

clientSeed: 0xc08cf1f601c7e781104bb94deda404c32da00583a14a23ff4eba3bd3749aec0a

serverSeed (revealed): 0xed5f346b161c51780cb1f43bfa15b7d02026ca612c773722663a357a9f5723d5

Rapid Firecancelled

serverSeedHash: 0x79594426b35e40fd63e91378ee2d54635a2c150922457db7ba918eb07a72aeb2

clientSeed: 0x5ec0be53bdafcac672084001ea4cb90042847e48f21f493d17549c58269623d0

serverSeed (revealed): 0x793e4f1c9a4f311daf05bfda01085ef6d62dcbc0dd9fa2168b5a32c66f4a41e6

Rapid Firecancelled

serverSeedHash: 0xb51d03fbb6218e3f63d248b07d43c92a41488f6ed22a2253835cf0498d5778e0

clientSeed: 0x9b38c9b236118e87434a716970592c7e40387a628da81206ba3b7d593d90f1fe

serverSeed (revealed): 0xb62fc5f41e9593a62158b54f35cf68adfe267be8d85a6abec040d81cd5876a95

Rapid Firecancelled

serverSeedHash: 0x8c188f58317aa199b8270c3cc215115f672ac7785969ee8b4cfee6f170b1f4bc

clientSeed: 0x5d6a560029997ea57bb837e7fb66f8e2a20e5050f8ea4b403d1efa743529845a

serverSeed (revealed): 0xe19e67b535e7ef20b807178a80eec2795ae4ef73321fa5c60a7dc8a114399b92

Verifier