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

clientSeed: 0x602615dadfe2e05c8146e3be1758506581d3ec91091166d7ae2fdbb679f943b8

serverSeedHash (commitment): 0x6176d67feb0bed9261f30fba3c7306c0a088b527eb47ef7dbdf7e48f678e1f6c

clientSeed: 0xff4c1ed7ad023c5ec7e99de008a8891ab4c48c7064d7f837074620e5cccfa6e0

serverSeedHash (commitment): 0x0cd3a12cf486e400751dfdb438e1cd2d633d0dddfad0ffd1f02cb449d6f483fc

clientSeed: 0xcc092f5e88b9f3fc9c505dfb423055302acb82a91891b4caaf65dd1438f76e34

serverSeedHash (commitment): n/a

clientSeed: 0xc7232ae2d71047eab03ff5d11ac53807851945f1f3754091bbb5f13cee458411

Rapid Firecancelled

serverSeedHash: 0x69d431fc04163cd4e2f8e4e5dd833fd196dec5958fc193a44521863a9f0b99e0

clientSeed: 0x5a36a051b3c02c6f85a53beac836877748a56db2a68d5a8783a896faeee571a7

serverSeed (revealed): 0xd95c1da6e787a4a614f2ed066e4174ceae1bbf4118b9155f70527aa5d8aaa591

Rapid Firecancelled

serverSeedHash: 0xbd543e3eb9e7ae8f6e3f0d48968044c911ad5144463d76f38d8ab31347b33e5d

clientSeed: 0x8e1f1f8587abd249f8269740abba4eefaac8491ecbaf190b1823e3b8f0d937f5

serverSeed (revealed): 0xe71c28ee2c3017bcd58b062104046b589dff47286f220011c629f14fb6fa332d

Rapid Firecancelled

serverSeedHash: 0x68aa11370a1b3af0dff6d8f3c966fd0fb2940b1ba4dcb3f597980bbc512d4289

clientSeed: 0xbc1929f0bbe1d31240e5c0f2497265e754036ae528c337e4153bf50171a22827

serverSeed (revealed): 0x10b141a411cbc7ca5e7840d07274bf71ed7f83af0c7e91783030e27444a3c281

serverSeedHash: 0x5a9c051f42610e064a74619816024e483d993d1c6cc74f7aa65c08a3771618a5

clientSeed: 0xf6639e86e3b7bf2e69797934932f9b7e265236ed3b02af07d8c2ebeab2de4269

serverSeed (revealed): 0x3cb7c51e1474da34365883a13ae6e529bafc6ebd4799f86d0d3d3ae43148dccc

serverSeedHash: 0x91fae28e958e924bbd8c4a2cc4b6320c8be340b9406e22847a1ef198b2a7b419

clientSeed: 0x1908b0c8ff0fa105cc4c1cd16064cfd1dc7ac50f334a53e98f626f1f962703bd

serverSeed (revealed): 0x2a5bb5ff4dde7b9f0107c990377b8150b92dfdf3b1941cef65f924a80c724fc2

Rapid Firecancelled

serverSeedHash: 0x6afebdc196abfa7d7cf330aed3c41e28f036db995fb3e0e9046e56af634d66eb

clientSeed: 0x1842a639b4b43052130383a97ecbdeb923e797987e4eafe595efffb4e8a24d3f

serverSeed (revealed): 0xe5e9199d760d9c6bff0ea4b72cf93b7d9e880550e066155d50444ed23611bcee

Rapid Firecancelled

serverSeedHash: 0xc3dfd9495abdcfe9dba023f34b482f50807c4275065008ea9d15ec8e1c3fa93c

clientSeed: 0x411c849e91bcaab4da5d02c3baa98ab94a99ad845d0284ef25f043275fe5964a

serverSeed (revealed): 0x6efb1ff801a69167712f21ee9b11177bc186ba969fc8adf5eca01a0a74f5028a

Rapid Firecancelled

serverSeedHash: 0x82d0e64abe269d3ffe7a7528574d2998befd9980ae6bbd92d3bffa54121b7a03

clientSeed: 0xd8d966e547a9ca4b7b2313d1d07958098e12cb1f80e51f940c679a95f113c762

serverSeed (revealed): 0x69c280c0ffed1ae74a8a7cb30e8f82ca774ea1f12cd9a54c5276fb0ea54d485e

Rapid Firecancelled

serverSeedHash: 0x419875878a9e696e1892de397b3ea8e6577bae6bdaecf5610a9d8bf5f24d499b

clientSeed: 0xe304251911c901fcf268b380143a91d33efaa4936c9e650a527fdaf9974cb07d

serverSeed (revealed): 0xd1d2008efe452a078d98958b1a3c98e48e67625bb125fedf927e777a9a311db6

Rapid Firecancelled

serverSeedHash: 0x9a36eb8f59b78884fc603c744e61527136660c5f7f129dd07fb491d96517f89d

clientSeed: 0xffde81cd13f9623b5f975902ad2d93929c6f6e1f385f4280e9c0b002cb0995dd

serverSeed (revealed): 0x443ac13e030eb0d7c981ebd538dbb2cb43010522b8d90e138cb0e4f65bf4a441

Rapid Firecancelled

serverSeedHash: 0xf88e538daab365729ea82ea68ff3bf10e61ba87a3f7d9ca6c5a0c17917e42758

clientSeed: 0x5c9cb77cfe9b1871eb3c013ee320e52f529564ec6c9c5184eb62145e1076f1a1

serverSeed (revealed): 0x53f849df176839ab1091b2566a3c163641a72e5c4f1f94511ca405a7f07a5395

Rapid Firecancelled

serverSeedHash: 0x205dc74a6bf979b0e85280bbec4a1a9d425620791a783e33532186837594b4d6

clientSeed: 0xed5dc4f24f32954944567a866404d87603f121ca08978164c1be3e74d415a737

serverSeed (revealed): 0xde039c0a54fe657724dcec6085c10100cf5275fa4f8334879217d74ec1a82bf1

Verifier