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

clientSeed: 0x95d24f3346539b664dac198262297de71920812d94e4a6d2ae5aa5b38b099237

serverSeedHash (commitment): 0xdf0442609b0064de05157adf294932f777b89d9d312ddc16fe5bf59acd919905

clientSeed: 0xc08cf1f601c7e781104bb94deda404c32da00583a14a23ff4eba3bd3749aec0a

serverSeedHash (commitment): 0x0cd3a12cf486e400751dfdb438e1cd2d633d0dddfad0ffd1f02cb449d6f483fc

clientSeed: 0xcc092f5e88b9f3fc9c505dfb423055302acb82a91891b4caaf65dd1438f76e34

serverSeedHash (commitment): n/a

clientSeed: 0xc7232ae2d71047eab03ff5d11ac53807851945f1f3754091bbb5f13cee458411

Rapid Firecancelled

serverSeedHash: 0x392e605438ef12705a1c17eff5882150e25b1ea85ed403b9af74cd755b7586f4

clientSeed: 0x825e9052765b19a30c449122f4bb5a2d6ae8f6f3286818593603359d1bf360af

serverSeed (revealed): 0xd7a1792d08559bb587c75458406ecbb5e6d94294a6989b863090587106332091

Rapid Firecancelled

serverSeedHash: 0xf30764a6f9210a9cd950337d26fd50120bbc83908e44d5aabe41d04e4e549888

clientSeed: 0x377566c3b4ae571393c4410f8a145ab4a52785a5b1cf51b854f7a277cc4e3e85

serverSeed (revealed): 0x160d1e6609104f397966e0c4e3a9b32cea219aa5366a244a7b7f7cb7ab294d21

serverSeedHash: 0x3d6a589f4ac6176ce66c9f55ed4b099f22cc9dd330727f2a6667952582c86ea5

clientSeed: 0xb9530296f6fe08fa35762b5abde8e0b5059a6d35cd82dadf4459aeb058135456

serverSeed (revealed): 0x33256408007618ac0bc8328e97a72948a859936e941961326c6e2b1a24a6e778

Rapid Firecancelled

serverSeedHash: 0x5baaa3de88ef4f5b42b5f88e7243f85cc6690d31cbeb1619f011ca028772f451

clientSeed: 0x57e7ba172f0abe311d7ad10bb19ed73cd4c8c29921a4a7e2f710838962d664fc

serverSeed (revealed): 0x99eed0132c77a62019f770a6f28aa14949c5fc438aa10abe86da52493190ddd1

Rapid Firecancelled

serverSeedHash: 0x6b712021373b257a618be67a16a78b4c58ac14b1f63fea6241cb2bbe7a45628e

clientSeed: 0x016b2289466978abf11a77783c479cdc7a1486d0312c5f7df0cee7ebd26004a9

serverSeed (revealed): 0x3135a04dbe4e79b9f6c869fe1215aba47bd07c013f095ef02acbe54f163db400

Rapid Firecancelled

serverSeedHash: 0x685c5d0f0b439861807df6398bc3e61b565059a37f77768cad6843cc02abae8e

clientSeed: 0x3ad7f8656a10ca48f173e3cbd1e51e2f80e7d606a8dbedfc1aa0e4eb026507f7

serverSeed (revealed): 0x6273fbec783b607e8174f1db271e35946ef2f0b3618c18d1dee41640b7b17432

Rapid Firecancelled

serverSeedHash: 0xd6d3ef4406b05cc66a21972bdb89b8d3f50e450e7e20b8ec9a76efda00f11890

clientSeed: 0x03c125d90f2b74ae3544586e3cc08d5eb05bfb3d97f4101f7ccc44a6d2a45e78

serverSeed (revealed): 0xc2e5af7f79efb73790e6fea7fd6aee080e6f3e96b5d85f37b42ba2664048f0a3

Rapid Firecancelled

serverSeedHash: 0xaab8b9940adb74180eeb6f79d8c0b3b64cec7340e5096c3e3071c1c579fffbc5

clientSeed: 0x1da846674c07bdf73591e47600234652921c09fcf51cab43fac06a3f802aa9c1

serverSeed (revealed): 0x6892d4572ce36cbe32145bc28c4ffa4459b94998a0c984cf5ad8c447cfed0e63

Rapid Firecancelled

serverSeedHash: 0x0067ec1bef8fb262a0c893580867b00c79cd665de41a2d1bd87664bd767cd553

clientSeed: 0xa874bfb3528630375f09d6abaa16071ab84ec1954dc43a839d0827544cec36b1

serverSeed (revealed): 0x67839c2d3b9c631b898406772e2a12d018ee973ea35fb549106581c84402c3a4

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

Verifier