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

clientSeed: 0x57a3ee4b6f5679bbed32d0afeaf5980b55494d7800e72ab3d172742a3585add5

serverSeedHash (commitment): 0x01796be9460c1d57e62b5c29b27f5dec91cdd78e4042559d4e7790f8d80f801d

clientSeed: 0x7d0191b0ef40e934cceb9442b53aa6cdf49c03958cbe913332454bf5b4158943

serverSeedHash (commitment): 0x0cd3a12cf486e400751dfdb438e1cd2d633d0dddfad0ffd1f02cb449d6f483fc

clientSeed: 0xcc092f5e88b9f3fc9c505dfb423055302acb82a91891b4caaf65dd1438f76e34

serverSeedHash (commitment): n/a

clientSeed: 0xc7232ae2d71047eab03ff5d11ac53807851945f1f3754091bbb5f13cee458411

Rapid Firecancelled

serverSeedHash: 0x7544891f5a6fffd9e5da49e92a994fea89d31629a3b47da325afa997d670af85

clientSeed: 0xbd089522869165cb039c128a3c1d495d97cb68bd2dc49cc9023d7e6484a4b17b

serverSeed (revealed): 0xc40e158e143ff6807ff0cd9b31b3276f0a91ac2bce57ff7aa14c2380918b2b16

Rapid Firecancelled

serverSeedHash: 0x000a446d7169d04a95517450dfc2befd28fee2a00ff1b1d81f93829fac8f7e1c

clientSeed: 0x0f4749c6a6f73a7c4424e05cf8c4d8b6b347d8c2050b3d4ac575921fb01561ba

serverSeed (revealed): 0x419cc9307e30a17ef0d128a5687d1fc67caadb715282e63805c70138e1bb089c

Rapid Firecancelled

serverSeedHash: 0x71d75cdffeb4549313dc213544d37fc856ce3e70a9d437aaaffb8fad874d034d

clientSeed: 0x415d979ad40d31efe4c757f0f141f1a43472b4a08f4a026870fbe7545680cc3e

serverSeed (revealed): 0xde0f17e649eba334456d63b28a725e9d2a980c9f1d5b894d4f6da2e1a0f8be58

Rapid Firecancelled

serverSeedHash: 0xb07027010b9d6e06d7b86ac312504f39d414c91f297542b7eb81714c9019b2fb

clientSeed: 0xc3091f5d9344b3beff664110f57bb78bf21f3d6e65f64739d35a8f038c3dd9ad

serverSeed (revealed): 0x1f2aae7fd421521dc571f7f561b5b09f40217d3905b9d46932c606cd4c435fb1

Rapid Firecancelled

serverSeedHash: 0xa293e33f762ca6587fc50d90823adfff26995ea59384d42130608da987459ce9

clientSeed: 0x3934197307c796617b1586d316927ebb809bf2034e5486428a60a293ed8807e1

serverSeed (revealed): 0x3babd7c203f640b5ad16db52670f85f7523c017c6d3901ae6ce42e54d43daaf9

Rapid Firecancelled

serverSeedHash: 0xc6d4409bc9e7806054e2b555ae283d3d077471a07b179ea8f7cee89e80e2db76

clientSeed: 0x7848c2047820112100c1b5751e81f2bbd083de6485f9d0cf710bde36af180dc8

serverSeed (revealed): 0xad1e99104664c3f1017dbab585ebf7b84ee0a3f00d61b3f24b199d10a5c4fd79

serverSeedHash: 0x5b9ccb4adfc71c6195fb69849f178b22e74fbd62250a7f2964623bd8f0dbec89

clientSeed: 0x86407fa1c5c9999312a779a90fc27d9c1793780e1b334afa52a6afeb6bd88179

serverSeed (revealed): 0x8a21fa53655a9823d023f841f41ddad0c8fef79cc0612f0d1fac0df3f30dc19b

Rapid Firecancelled

serverSeedHash: 0x89490159650b5c689b80fc9325a10232dafd181fd11fb5a4f6910aa096b27c43

clientSeed: 0x63ba0303146efc11afa33844a471ef4c3cbf5ef5f160793f2504596a3bcfc05c

serverSeed (revealed): 0xf5eab7bcd294da68ae8737b217f9c122b397a8cacff8b9a5d8309b9663f56a7a

Rapid Firecancelled

serverSeedHash: 0xe78bbd45dcec006ddc56700ddf214b16e89a54abecfa8b06c2ecae2c0ab8061b

clientSeed: 0xc198389fba35d0bffc12f2eb566526da086a6f53f77244286a79edddfa93c353

serverSeed (revealed): 0xe964c9ac6dbe1ac2dbc2869e6ddc2c3c61eb5f4e2b89200203ad5aef245becd9

Rapid Firecancelled

serverSeedHash: 0x415312fe65180041c3116adfe5a79183c0a6a86e2b6e7104d9adf2c66faaa61d

clientSeed: 0x6cfad6036166d9958d6dd7351784d2b1e76e8e291c4039ca08d9d32e612ef8af

serverSeed (revealed): 0x2aaf307de91ecff057f902573f102b52ba536f99139106dd73f6a54b3adc1c5d

Rapid Firecancelled

serverSeedHash: 0xae297ff5317b416abe835a920ffdd81e1d0f0df035508549a07f5b1e42de4a00

clientSeed: 0x28be3be3d4fc21993fcf197d6a2eb4846a89659695cb826e9b689f9b3d146724

serverSeed (revealed): 0x26b41d3621f956556260e25ddecdac2c840ce46b76c2607283367042667a90e5

Rapid Firecancelled

serverSeedHash: 0x67c61ba9364ea0c182c7223188a6c849a96ee0f2d2cb2641bad70e6d78fa2595

clientSeed: 0xd440944f0fc9a5c3eb3da838a4c0d42c6b0483d2e53f4c050f000b08d4e958c7

serverSeed (revealed): 0xbee412299ac24cd0112ae0dd0a7a59808f5674679babd14e79be9103b9d2f94c

Verifier