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

clientSeed: 0x60e1585aa961d42cac6f48ea0aae3397d0ab1de7571904241c164d0cfdf40c92

serverSeedHash (commitment): 0x7578ee98ce89f81678c0df63256a91338bf298bf8e67d315cc3e9e0ecefc40ae

clientSeed: 0xd95254f47fa74d55e3d0db5a3da9bfc015ef7a30f83cc4de34573a19f1ff8772

serverSeedHash (commitment): 0x0cd3a12cf486e400751dfdb438e1cd2d633d0dddfad0ffd1f02cb449d6f483fc

clientSeed: 0xcc092f5e88b9f3fc9c505dfb423055302acb82a91891b4caaf65dd1438f76e34

serverSeedHash (commitment): n/a

clientSeed: 0xc7232ae2d71047eab03ff5d11ac53807851945f1f3754091bbb5f13cee458411

Rapid Firecancelled

serverSeedHash: 0xf644074730eadac0e8614247ef60bb2ba509c0f5517de17cd0062779e53fa848

clientSeed: 0x4b373c4ae1d60e6b4f2e589abcd240f2bda86cb76d0afc31c3b5c7ab65988c4a

serverSeed (revealed): 0x5d3d71d1bcd4656ec7544f9f720c274d8bf63200cdb56f3b2d41ede9cff74ef4

Rapid Firecancelled

serverSeedHash: 0x24171a0f05c65943d98183cd2eb0e3d128f8e55a6e0da9da41173051f193f04a

clientSeed: 0xd1c9d860017bf30f083215f658af426b6b0235e61a91b66a25b084e4e27be8b9

serverSeed (revealed): 0xa85540bf7d9f79ed8b47129c6d2fb0ddab088af0f1be665c6737c9bf816046e0

Rapid Firecancelled

serverSeedHash: 0xb2feb643f1bb59376220a77f07ce6dcad094b7267387457a26778aa3db5a3042

clientSeed: 0xb140ed85c262a6cd8ae0e23f1cf5ab33ed64f21f43be154f82f410bfb2305285

serverSeed (revealed): 0x2cc2b09273f56b4babf13e09edad1100abf0ff16ca0d3e560bd78b2f109db810

Rapid Firecancelled

serverSeedHash: 0x3a68c7a9a940f0c830fa948ce82de5c1c0140c188561f310ef92ca83c7529089

clientSeed: 0x65b3a97a04b0718b2a94d060789ad8aee03c3b75b058a5786e0e5e0b247f0744

serverSeed (revealed): 0x857cd61e7f6ac529009c82cc9ef7eac9602e9608727a60b5276011a549d72a86

Rapid Firecancelled

serverSeedHash: 0xd88272ee3b84e1412aa5d8aff84905af1b4207fb337c991d3b6c15c28f7ef6ac

clientSeed: 0x0a06536340501c8bfbd3a8bf28e0a59ceb3d67505c7d430d21867daacdb621af

serverSeed (revealed): 0x882b5f2845fa1bce2353fd267d8cf85b5bca508adca57c9c9c3a64c151178cce

Rapid Firecancelled

serverSeedHash: 0x2a766ff368b36abde5d1342f368bb38bc407293f8afdcc1a85faa200d70a8bd8

clientSeed: 0x912f84fe1cdc3f2239adb938b925ea60e8f520fad1430a1439f13b749f3cfc46

serverSeed (revealed): 0x07e1636ea889ac71b841ff4a0f8240cdae181fcbd663a9e73b6c7eaed49f9fc8

Rapid Firecancelled

serverSeedHash: 0x03da44dc6883a8745883a4246a4f59e00c8d8d8a5017c499edfcce6b92325bf3

clientSeed: 0x94b58a5962114acd23af003c1beb7550ff23f771fc556c1a5a3e93c9612d77f7

serverSeed (revealed): 0xb628c4c3b1ffccb22e0657ccde89802dd7b01fd29f3a531ce755b8f88ed7313e

Rapid Firecancelled

serverSeedHash: 0x50c12f3ed0cb8e77aeb43511115cc7f60734de68003aff9a7b151a9f4244c7bf

clientSeed: 0xf652c5f1b75bcfc3c474d5eaf32d7311e7a2e6fe5b1888ac058414dc01b19139

serverSeed (revealed): 0xe1209454613ff94d1f81b3846d623a3e6c19002513049929295658e955e124b8

Rapid Firecancelled

serverSeedHash: 0x26b5566a67a676db29229c9e41a74cb3dffab0461d1cf41b1eb39847b9aac6f1

clientSeed: 0x09f0a0c9a9b1f28d612ad447e4eb5cae66e7c76684370eeec367a08ed0489a9a

serverSeed (revealed): 0x9b12c4961ef2c6b4894709a1b48453a6581f8d57bcab9adfd6ecad72b81e8a4c

Rapid Firecancelled

serverSeedHash: 0x731bd09a9f4a29e36a02d5a1265648d23290bd4acb0de07787d29131bc938c4d

clientSeed: 0xaa82c4cc0be46e7a0b66be515a1e344dc77efbccf48b9de965781a61ea19961f

serverSeed (revealed): 0xb2d9bf82c9f82de8736dbf348007e9016cd8f538efe4c063b2f57ae080c5ed51

Rapid Firecancelled

serverSeedHash: 0x21df3492c8b4ae10e255543678c9bd1b77c700ec679529a6ebfaca6ba5c29c21

clientSeed: 0xd9861e809c7b5976e8070179580a05618660b6334935fea41bfb0d1b9ea454f1

serverSeed (revealed): 0x4798314e75481abf3574d07b4f54e4304fdd6d1a7ca32822f847a4040cba243d

Rapid Firecancelled

serverSeedHash: 0x48584194dba7e02664c23716baf6bc7b572e33f81b7952b71139052085a27f58

clientSeed: 0x1fe345c7a3e5e0f701ad35335af521020262dccbfb08738efec33371000dd246

serverSeed (revealed): 0x7fdbb560c2129e3aeffd7db7ff094586f8b4d4d5c6c7f747699c0ad72382a337

Verifier