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

clientSeed: 0x54d576479345fc0e51684bb56970ce8a2fcbab52de58756f1e283236ea666724

serverSeedHash (commitment): 0xc0c38014e816345a3449716154c6b8ca1cc39e16e1f18779fddbf2a2d2459aec

clientSeed: 0xb13248b082ec397da6383f668a883ea157b3e8109ce188c824a1bc8fd98b3b68

serverSeedHash (commitment): 0x0cd3a12cf486e400751dfdb438e1cd2d633d0dddfad0ffd1f02cb449d6f483fc

clientSeed: 0xcc092f5e88b9f3fc9c505dfb423055302acb82a91891b4caaf65dd1438f76e34

serverSeedHash (commitment): n/a

clientSeed: 0xc7232ae2d71047eab03ff5d11ac53807851945f1f3754091bbb5f13cee458411

serverSeedHash: 0x6176d67feb0bed9261f30fba3c7306c0a088b527eb47ef7dbdf7e48f678e1f6c

clientSeed: 0xff4c1ed7ad023c5ec7e99de008a8891ab4c48c7064d7f837074620e5cccfa6e0

serverSeed (revealed): 0x161642b0f61fb2bc344471f5114cd35221a00a1eb07ca9d6a675b6597a732763

Rapid Firecancelled

serverSeedHash: 0x008dd3dbbb28b103002f8a1f7b4e186b4a4744069b3e5a6d8665951cfb73e2de

clientSeed: 0xa1ddc71ab39879a4bf1d13b98d57b3ecf0ff1985f7570152bebee193a3124d6a

serverSeed (revealed): 0x59cf4717479d398da1a454cbcab5eb3ccedaa112ec291c00d234c84576268660

Rapid Firecancelled

serverSeedHash: 0xb707c0bf61a07a72d9da7a65337f16bdb51c151589d4b898f2a4c142d69dea5b

clientSeed: 0x6af8046a1c9be75fd70e3c10363108446cc33b647e17cfe6afcea74a94dcccc5

serverSeed (revealed): 0xcf64eda47770ecc7f40ebf692930f7df40057bbf96d0e80621cc1805ff90997e

Rapid Firecancelled

serverSeedHash: 0x815c92c2a9e839359d129bf7c417bce0b0fd91c4ac5efc9ca704fb9ecd690cdf

clientSeed: 0x8089ca41d9c344f9433751e48d4d12e88156f3de438a1ce1e3d1ae54118b0690

serverSeed (revealed): 0x3f3ddfd3ff1df127b1a23da7c5c5cd891b36e2ef669abe2889545ac00a1fcdf6

Rapid Firecancelled

serverSeedHash: 0x1eea4cdd74f777b8bfec6e697fff359560e96964f4bc80797b275b8a53fc6b85

clientSeed: 0xa3a940f4c430b15e5388240c05bdb8e8db9dd5a0544057c949d849b2cf16c407

serverSeed (revealed): 0x10bfd09ffe41c54b0a3a9d0351c4cad63eafc7e9ed90d9ab7d99ea2711d247ee

Rapid Firecancelled

serverSeedHash: 0x726855fcc9286f0972752d9a9f9fb6a56c4b9d17284f61e8a94f34dc61d83fa9

clientSeed: 0x876ef1ebeeb9b45fe95ac66680e876c1d159f7fca28617b51b06abe6f97e0a6a

serverSeed (revealed): 0xd0686d59b60dcf4f904857b18a68bd9b8ab77655fce0559bd71ff3d19f272201

Rapid Firecancelled

serverSeedHash: 0xd18b154d8c55a3a6a2d191dd283fd0a397aa7a18303bc3d2787a05ce7cb8e73a

clientSeed: 0x23524f8645bcf38271b994730f19e3132635e488958b6ae71f4cc08b89475001

serverSeed (revealed): 0x77115da3c54a3978319456661ebb1bb5a64e1f1aeb419742fe38dc43de3300e2

Rapid Firecancelled

serverSeedHash: 0x2dbdcc8d0f85c3e21474c0104c908355e2eae8b5232b5f733eda177278079660

clientSeed: 0x73121f6247469e3759008a870917d5ace16899e98767c3b1cde363243ab25f15

serverSeed (revealed): 0x5ae0ba16d05b05b4eebd40ace6f20a59b4dca2755406e0675807b2a3547066a1

Rapid Firecancelled

serverSeedHash: 0xb0f2ecaa53d7d7e75da5b7aef283de758c44cc698bc93f75034298ce7965da98

clientSeed: 0x72ac79200b494d72fd5ddd3b1f052feae3598dba4ae9ce0798e1cd35e583e9cc

serverSeed (revealed): 0x956124940ff8fd46ffcec24dab396d9d39c2e726e1970c895aa17b6541fff5b7

Rapid Firecancelled

serverSeedHash: 0x926b04ce1debf76c645a1ac117a3a763cf011fe52d8c851ab3208145fb8283b2

clientSeed: 0x602615dadfe2e05c8146e3be1758506581d3ec91091166d7ae2fdbb679f943b8

serverSeed (revealed): 0x65ab375ab13533cd3946c1ca411450e8ac1dd8c53b3fb9a850a486df5e13e90f

Rapid Firecancelled

serverSeedHash: 0x69d431fc04163cd4e2f8e4e5dd833fd196dec5958fc193a44521863a9f0b99e0

clientSeed: 0x5a36a051b3c02c6f85a53beac836877748a56db2a68d5a8783a896faeee571a7

serverSeed (revealed): 0xd95c1da6e787a4a614f2ed066e4174ceae1bbf4118b9155f70527aa5d8aaa591

Rapid Firecancelled

serverSeedHash: 0xbd543e3eb9e7ae8f6e3f0d48968044c911ad5144463d76f38d8ab31347b33e5d

clientSeed: 0x8e1f1f8587abd249f8269740abba4eefaac8491ecbaf190b1823e3b8f0d937f5

serverSeed (revealed): 0xe71c28ee2c3017bcd58b062104046b589dff47286f220011c629f14fb6fa332d

Verifier