ShaftKings
ShaftKings.gg

How provably fair works

2 min readUpdated 2 Oct 2026

Every result in our Originals is fixed before you bet, by our seed, your seed and a counter. You can re-run any bet yourself to check we didn't change it.

Every result is locked in before you bet: our server seed, shown first as its hash, your client seed, and the nonce, mixed with HMAC-SHA256

Why we can't cheat

  • We commit first. You see the hash of our server seed before you bet. A hash is a fingerprint: if we changed the seed afterwards, it wouldn't match.
  • You add your own seed, and you can change it at any time, so we couldn't have picked our seed to beat yours.
  • When you rotate your seed, we reveal the old one. Re-run any bet made with it and you get exactly the same result.

Provably fair covers our Originals: Zips, Towers, Bust, Flip, Crackjack, Shabbat, Keno, Dice, Limbo, HiLo and Baccarat. Slots and live games come from outside providers, which run their own systems.

Check the maths yourself

One Dice bet worked through, with made-up seeds. Any HMAC-SHA256 tool gives the same numbers. The message also carries the game's name and the round ID.

``` Server seed 4f9a1c7e2b6d8f0a3c5e7b9d1f2a4c6e8b0d2f4a6c8e0b2d4f6a8c0e2b4d6f8a Its hash 14210f80a90b566b90488214fc727d7dec2ce8931be4495a9915e5c5a66b88be Client seed lucky-player-42 Nonce 7 Round ID 3b1f5c2e-8a4d-4e6b-9c0f-2d7a1e5b8c34

Message serverSeed:clientSeed:nonce:dice:roundId HMAC-SHA256 5a67082fb62f92f01af71cddd537e766381f1b0eecafe88f4cf68aa957e5a9ef (key = the server seed)

First 8 hex 5a67082f = 1,516,701,743 As 0 to 1 1,516,701,743 ÷ 4,294,967,296 = 0.3531 Dice roll 0.3531 × 100, rounded down to 2 decimals = 35.31 ```

Games that need more numbers keep reading 8 hex characters at a time. After 8 numbers, hash those 64 characters again with SHA-256 and keep reading. Each step of a multi-step game, like Towers, adds 1 to the nonce. Use the game's name exactly as the bet's details show it: Limbo, for example, is dropsoap.

Check one of your own bets:

see Check that a bet was fair.