Provably fair
Don’t trust us.
Check the arithmetic.
In our provably fair games (Coinflip, Knight Arena, Slice & Dice, the battle modes, Jackpot, Premium Jackpot, Crash and Spinner), every round is committed to before you play it and reproducible after. You do not have to believe a fairness badge, an audit certificate, or us — you can recompute the result yourself and see whether it matches.
The scheme
Four steps, and the house loses the ability to lie
Provable fairness is not a promise about our intentions. It is an order of operations that makes cheating detectable by anyone holding a calculator.
The server commits, in public, before you play
We draw a secretserver_seedat random and publish only itsSHA-256hash. You hold that hash before a single coin is staked. Because hashing is one-way the hash reveals nothing about the seed — but it makes the seed impossible to change later without being caught.You add a value we cannot predict
Yourclient_seedjoins the input, and it is yours to change at any time. This is the step that kills the “the house just picks a good seed” attack: no server seed is favourable against a client seed we have not seen.The outcome is derived, never chosen
The round computesHMAC-SHA256(server_seed, "client_seed:nonce"), and the leading bytes of that digest become a number between 0 and 1. That number goes through the game’s published rule. Nothing else touches it — no adjustment for your balance, your streak, or how much you have spent.The seed is revealed and you re-run it
When the seed pair rotates, the server seed is published. Hash it: it must equal the commitment you were given in step one. Then recompute the HMAC yourself. Two checks, both arithmetic, neither needing our cooperation.
The whole of it, in one line
HMAC-SHA256(server_seed, client_seed:nonce)Published rules
What each game does with the number
The raw value is a float between 0 and 1. Turning it into a result is a single published line per game — no discretion, no house adjustment.
heads if raw < 0.5, else tails4% instant bust (raw < 0.04), else 0.96 / (1 − raw), capped at 1,000×Verify
Check a round yourself
Paste the seeds and nonce from a round you played. We show the expected hash, the raw float and the derived outcome — recompute them anywhere and compare.
If a check ever fails
Send us the seeds, the nonce and the game from the round that did not reconcile, through support. A mismatch is either a bug on our side or a transcription slip on yours, and both are worth finding — this whole scheme is pointless if nobody ever runs it.
Honest limits
What this proves — and what it doesn’t
A fairness scheme that oversells itself is just a different kind of marketing.
What it proves
That a round’s result was fixed before you played it, derived from a value you influenced, and not altered afterwards. Any deviation is detectable by recomputing two standard hash functions.
What it does not prove
That a game is in your favour. Every house game carries a published edge, and verifiable randomness does not change the odds — it only guarantees they are the odds you were told. Fair is not the same as favourable.
Questions
The parts people ask about
Because a hash is a one-way commitment. Publishing SHA-256(server_seed) before you play pins the seed down: there is exactly one seed that produces that hash, and finding another is computationally infeasible. If we swapped the seed after seeing your play, the reveal would no longer hash to the string you were already holding — and you would have proof, not a suspicion.
Your client seed. The outcome derives from both seeds together, so a server seed that looks favourable against one client seed is meaningless against another. Since you can change your client seed whenever you like — and we cannot predict what you will change it to — there is no server seed that is reliably profitable to pick.
No, and you shouldn’t. The tool below is a convenience. The algorithm is HMAC-SHA256 with the server seed as key and client_seed:nonce as message — every language ships it. Run it in Python, Node or an online calculator and compare with what we show you.
It is the round counter for the current seed pair. It increments every round, so the same two seeds produce a different result each round while staying fully reproducible. Seed, seed, nonce — that triple is the whole input.
When the seed pair rotates — because you changed your client seed, or because the round closed out. Revealing it earlier would let anyone compute upcoming results, which is the one thing the scheme has to prevent.
Verified randomness, on a floor where nothing can be lost
The maths is checkable and the coins are virtual — a combination the rest of the industry cannot offer.