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

clientSeed: 0xc08cf1f601c7e781104bb94deda404c32da00583a14a23ff4eba3bd3749aec0a

serverSeedHash (commitment): 0x79594426b35e40fd63e91378ee2d54635a2c150922457db7ba918eb07a72aeb2

clientSeed: 0x5ec0be53bdafcac672084001ea4cb90042847e48f21f493d17549c58269623d0

serverSeedHash (commitment): 0x0cd3a12cf486e400751dfdb438e1cd2d633d0dddfad0ffd1f02cb449d6f483fc

clientSeed: 0xcc092f5e88b9f3fc9c505dfb423055302acb82a91891b4caaf65dd1438f76e34

serverSeedHash (commitment): n/a

clientSeed: 0xc7232ae2d71047eab03ff5d11ac53807851945f1f3754091bbb5f13cee458411

Rapid Firecancelled

serverSeedHash: 0xb51d03fbb6218e3f63d248b07d43c92a41488f6ed22a2253835cf0498d5778e0

clientSeed: 0x9b38c9b236118e87434a716970592c7e40387a628da81206ba3b7d593d90f1fe

serverSeed (revealed): 0xb62fc5f41e9593a62158b54f35cf68adfe267be8d85a6abec040d81cd5876a95

Rapid Firecancelled

serverSeedHash: 0x8c188f58317aa199b8270c3cc215115f672ac7785969ee8b4cfee6f170b1f4bc

clientSeed: 0x5d6a560029997ea57bb837e7fb66f8e2a20e5050f8ea4b403d1efa743529845a

serverSeed (revealed): 0xe19e67b535e7ef20b807178a80eec2795ae4ef73321fa5c60a7dc8a114399b92

Rapid Firecancelled

serverSeedHash: 0x451f214f9182fa283d508c11dd009b7912e17c38ef53fdb6367d32f5ba71cbaf

clientSeed: 0xea5d9f1cf67e4b5fd500e8da4c26dfab63a001bce34df9113c6dd14254fce0d1

serverSeed (revealed): 0xd70354cd8ca18b36a867caedb4e2bf9e72423d45bb16ac92eeeabcf4b95e2f6f

Rapid Firecancelled

serverSeedHash: 0xbf607c770e2621636b82d3c36ff892e50229412eb4d4d98089d72d7bc1f4f31c

clientSeed: 0x228b27a3fea6db1782935a0aa6f8a02b3460de5cf32b6dabde4f3da83b231b06

serverSeed (revealed): 0x738c1140f197f4f145bef14538882ec8562e695268072e95b3b5b88118d08696

Rapid Firecancelled

serverSeedHash: 0xaf2b1b21040ae8e83cf811258e7eb153c22d55c247999504685ae86b9405cf2c

clientSeed: 0xafe9701e7e9c106d8615585a2caed8ddab44945d8cd4fb441b9b9fa1a72afecd

serverSeed (revealed): 0x4866174fb7469818df5cec2559717cbaab3915eeab958b06af16d49f6d4c863a

Rapid Firecancelled

serverSeedHash: 0xde44578587224e1f093afbdf7231721d2f26dc490129346c00f323c2ea99105f

clientSeed: 0x69345dd1a6357d00a9948ee8c64f2e65f5a5a0de9f8be089012198a752ddc9aa

serverSeed (revealed): 0x6dc9bf28f1851620c5f6eccaed12ffe58e4ebe66a0fb8ceda90694c3288ac64c

Rapid Firecancelled

serverSeedHash: 0x29e93067ecdf99d64e7fee822090892e958922b559d1a3c5968f89e1eda6b044

clientSeed: 0x80600dfe857f1bdfc8ac0afed80ca17bba30ac808e7e135c2d09cffb2b805f05

serverSeed (revealed): 0x63a507a072b2c00cfed5e7e78f4ac9f75511155f3a3875af0cb1f69ce34a21e9

Rapid Firecancelled

serverSeedHash: 0xcb139a96ff48868f098a324a3e32568fdb20974778df9ed2b072c6865e6f14ee

clientSeed: 0xe579fa94336260d1dec53665a61f4405e19fd44bd9a58e41f91025c2c58a1253

serverSeed (revealed): 0xcada0e48aadcca9196b62737405ea39105f24ec4e078c3c0cfd59885d531e0dc

Rapid Firecancelled

serverSeedHash: 0x5c60b1774bd532b8543cfe4f4d8599a553beaabbbe3e5667affee3fcaa836cd7

clientSeed: 0x500e63fb1c666d2a1141cc410cedc7f012eef2541fa5176afe938191dfcaa533

serverSeed (revealed): 0x3e831e6afd753caa4cd27dd42ac3a02b19fcd38181f044b28254f725e70f3af7

Rapid Firecancelled

serverSeedHash: 0xc59170f37bc5b05316ecedb0e676d65cb9dbc847dd5ef56b251300a07caeb7c4

clientSeed: 0x95d24f3346539b664dac198262297de71920812d94e4a6d2ae5aa5b38b099237

serverSeed (revealed): 0x6f5889f20596147ec13907b1c5121b0fdca20cd54a8e4c6402c861f2cc5d2ea8

Rapid Firecancelled

serverSeedHash: 0x392e605438ef12705a1c17eff5882150e25b1ea85ed403b9af74cd755b7586f4

clientSeed: 0x825e9052765b19a30c449122f4bb5a2d6ae8f6f3286818593603359d1bf360af

serverSeed (revealed): 0xd7a1792d08559bb587c75458406ecbb5e6d94294a6989b863090587106332091

Rapid Firecancelled

serverSeedHash: 0xf30764a6f9210a9cd950337d26fd50120bbc83908e44d5aabe41d04e4e549888

clientSeed: 0x377566c3b4ae571393c4410f8a145ab4a52785a5b1cf51b854f7a277cc4e3e85

serverSeed (revealed): 0x160d1e6609104f397966e0c4e3a9b32cea219aa5366a244a7b7f7cb7ab294d21

Verifier