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

clientSeed: 0x9e08366f2da38d0e38f5fd55ed3cc703026385be2c38d7ce86efff793125c9df

serverSeedHash (commitment): 0xe3c654ad59392bba4634f71490448b5c4b5bb246352ee82bd3e4017067d1cf42

clientSeed: 0x799c4268bcf7f7b37497de61cf5e0688edcc5227404614bce72477e7d5cfe330

serverSeedHash (commitment): 0x0cd3a12cf486e400751dfdb438e1cd2d633d0dddfad0ffd1f02cb449d6f483fc

clientSeed: 0xcc092f5e88b9f3fc9c505dfb423055302acb82a91891b4caaf65dd1438f76e34

serverSeedHash (commitment): n/a

clientSeed: 0xc7232ae2d71047eab03ff5d11ac53807851945f1f3754091bbb5f13cee458411

Rapid Firecancelled

serverSeedHash: 0xaae598fdb79f709daa6e1c2ed474347ce32e1f7422393ac1bb1881955ba0522e

clientSeed: 0x766bbae9db6eb37a37b4cf8c7062f4fd300d9520da57a44b47349ef536fc8c9e

serverSeed (revealed): 0xd4e6c93d35572701d5f0b7e4de239a7660500a286e25505ba19b50c05cba60a5

Rapid Firecancelled

serverSeedHash: 0xc9512065bd98aa563f55deb2f61f2828ad3047c703c96044b7f61d27f2b39cfc

clientSeed: 0x82012ce0c90dbeb7ad549a17a7fdfd574b0d02e1a46932181bec8171b8591e66

serverSeed (revealed): 0x4687ed92b81f6359d400ae069ae21192d8786cab6408b3fefe708b00254e0eba

serverSeedHash: 0xe56f012dfd4912bf76e42deba03cc854102f7c73436350c2d4fcc58ed0c30e7f

clientSeed: 0xe02ca03a25cbf3903dcef10de4c1c53cbc82d16aa69190cf88adfc1530dc6613

serverSeed (revealed): 0xd85c0ae3532e501454bb200675ce5786d7366c4939a9228f559b31258dd58ae2

Rapid Firecancelled

serverSeedHash: 0x99960a1fc76ed2ddfdc705a553bd750c676df86121c465ca52e1c9499fb752f9

clientSeed: 0xaee5837732ad938d665853b4d9972af06e1489da679e544f4214aaaa638d4501

serverSeed (revealed): 0xb4152d95b34a20f88279f2b1872976459afcf39b0c647154b4d0fc9b1d43ddbd

Rapid Firecancelled

serverSeedHash: 0xef74863a6984c575b468c8fc705aaad4c6485b927aa5f6b87bb13d8cf8cb64e2

clientSeed: 0xa3c80463d3359e6a19ed30b29d02eb2001bc753fb554f7b390c6a7ca3386b3e3

serverSeed (revealed): 0x2d72fbc7767167daf41ca482e8ae326e7a5af4bee6959cfe78900b9600939961

Rapid Firecancelled

serverSeedHash: 0xf2df50169b62c49f6b1c661cefe84de810cc8c3ae13af57a4126cec782224561

clientSeed: 0xd264aaa9c902921f6e543a03f18b40fc1507cd126b7faba7b19577cbb3c87627

serverSeed (revealed): 0x3e5eb97342586a28362ba17b654ffa8c5309899b70ba1ba87a9bf5657c4cb223

Rapid Firecancelled

serverSeedHash: 0x69d1a7ab53b58f3b7e987f9f5d7b606b8e542cf4c6b9b6c4e718ebc499d648ee

clientSeed: 0xc5a77e24194c27f605722891ff2dee4934691d14cdc426afb8873f2a1f9074b6

serverSeed (revealed): 0xe141a0d3e46b7ff2cb804def9ae7db8d7549b0e6f200ae95a9fc1ababc5b35a2

Rapid Firecancelled

serverSeedHash: 0x99476d2998c4b830ad3dc91ed871c40f0c6263857abc244e6a3194c0dd3ed75a

clientSeed: 0x27e55cc96ed38db2bfe4d46e1cebab6c6c7bd0422f4358f9c770220d0fa383a8

serverSeed (revealed): 0x656a9e99dfe52f2facfc7d7ba932ac678037f1b6c53df6c0ef119bc601ef8610

Rapid Firecancelled

serverSeedHash: 0xc7728f648f2e118db03da143ac52ea8f0cefa5633438e42fcd8a1c11758bc96f

clientSeed: 0x8c55474c910b85d48594945eb54a903c1e008d58908eba92262d5abe932dd062

serverSeed (revealed): 0x78dfd903c7ac93962e7e40e0551136333b49fb28857b8a34d8c6798335bdec64

Rapid Firecancelled

serverSeedHash: 0xd79f0280a352f6d55ccdfa0ba30b3e2766f3ba43af29195b6a355e16c3bc1498

clientSeed: 0x5d95412dd410131f2b920c9a419a83a641a9f503ccd6cf55d129f58015d12d2e

serverSeed (revealed): 0xd3bc06124a17dcb69bf75627b14a66f9e35a21ec1f76ed04d5b0c77360059651

Rapid Firecancelled

serverSeedHash: 0x18afd45dc9681c94a7b0910fc96ec4e1ba559eecd4b56243548c702411caba2c

clientSeed: 0x9fb89613495bc19d436a962a05429b20cbeef76b6ab2eadbcaebc8f5307493ec

serverSeed (revealed): 0x8b382ffd3f235d9c9bccb64a0b52107a8ea5106167487e0cc642594db78e7624

Rapid Firecancelled

serverSeedHash: 0x00e2a2b407e3aebd14804bfa827f920209f05bee264073dd63e37744f5d8dbd1

clientSeed: 0x7e886614a98b84ed0e78c673f9cd98b85bdb26172e66215c0367e3da6f9bc4f4

serverSeed (revealed): 0x3487237bd009e496436779299cc0083f16080ada3cd69a6e00477bb69f7e3b0b

Verifier