No doping, no fixing
Provably fair
1
Race control commits
When a race opens, the server picks a secret server seed and shows its SHA-256 fingerprint. It can't change it any more.
2
Solana rolls the dice
When entries close, the race is tied to a Solana slot that doesn't exist yet. The hash of that block is the public seed: nobody, race control included, can know it while you can still enter.
3
Check the result
Both seeds pick a ticket in the pot. Each horse holds as many tickets as they staked, so your chance is exactly your stake divided by the pot. Redo the draw right here in your browser.
How the winner is drawn
H(n) = HMAC_SHA256(key = serverSeed, message = "raceId:publicSeed:n"), read as a 256-bit numberticket = H(n) mod pot, for the first n where H(n) < floor(2^256 / pot) × pot (so every ticket is exactly equally likely)
Horses hold consecutive ticket ranges in the order they first entered: the first one holds [0, stake), the next one the following range, and so on.
The animation and the order behind the winner are only a show: they never change who gets paid.
Loading the verifier…