Skip to content

Provably fair

Every result is locked in before you bet.

Demo mode: races are running on public demo seeds while we finish setup, so results could be worked out in advance. It's free chips and never touches a prize — and once live seeds are switched on, every result is locked in before betting opens and checkable here.

You don't have to trust us. Every race publishes what it needs for you to check it wasn't changed — and the check runs on this site, in front of you.

  1. 01

    Commit

    Each race’s 32-byte seed is derived from a secret key we hold and the race number. We publish only its SHA-256 fingerprint, alongside the field and the odds. Betting opens.

  2. 02

    Close

    Fifteen seconds before the off, betting closes. Nobody can bet after this point.

  3. 03

    Reveal

    We publish the seed. Anyone can hash it and see it matches the fingerprint from step 1 — so it can’t have been swapped.

  4. 04

    Draw

    The finishing order is a weighted draw from the seed: each runner’s chance is its published win probability. Favourites are likelier, never certain.

  5. 05

    Replay

    The broadcast is computed from the same seed, so what you watched is exactly what was drawn — and any replay is the same race, stride for stride.

Published margins

Win market 12%. Quinella and trifecta 18%, with maximum dividends of 500× and 5,000×. That's the house edge, in the open.

Next: on-chain randomness

The seed will come from on-chain randomness (Switchboard / ORAO VRF on Solana), so its origin is verifiable too — not just its commitment. Racing never decides a prize either way — this is about trust.

Check a race now

The engine is open source in packages/racing: commit(seed), generateField(seed), drawResult(seed, field).

Provably fair · House Money