OPEN RACE

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 number
ticket = 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.