Provably Fair

Forget "trust us." Every Duel Original is provably fair, which means South African players can verify that each bet had a genuinely random, untampered outcome, using cryptography rather than taking our word for it.

What Provably Fair Means at Duel

All house games at Duel are provably fair. Before a round even begins, the result is cryptographically locked, and you hold part of the input. After the round, we hand you everything needed to recompute the outcome yourself. No backdoors, no scripts, no "the house decided." Just maths you can check in seconds, whether you are betting a few Rand worth of crypto or a serious bankroll.

3
Seeds per result
SHA-256
Hash committed up front
100%
Of Originals verifiable
<10s
To verify a bet

What is provably fair?

A provably fair system lets you confirm that every bet, spin or roll was legitimate, by you, without asking us and without hoping we didn't cheat. The outcome is determined by a combination of values that are committed before play, so neither side can change the result once it's set. You even control part of the input, which means the house cannot quietly steer the outcome in its favour.

How it works

Before each round begins, our house games generate three values:

  • Server seed: a random string provided by us.
  • Client seed: a random string provided by you.
  • Nonce: a number that increases with each bet, keeping every result unique.

We send you the hex-encoded SHA-256 hash of our server seed before you place your bets, which proves we committed to it in advance and can't change our minds. Then all three values are combined to produce the result:

Fair result = Server seed + Client seed + Nonce

Because you supply your own client seed, you have a direct, unpredictable influence on the outcome of every round.

How can you verify your bets?

After the game, we reveal the unhashed server seed. With that in hand you can confirm three things:

  • The revealed server seed matches the hash we showed you before the round.
  • The combined seeds and nonce generate the exact result you played.
  • No one, including us, could have interfered after the bet was committed.

Open your game history, copy the seeds and nonce, reveal the server seed, then recompute the outcome with any SHA-256 verifier or our built-in tool. If it matches what you saw on screen, the round was provably fair.

Why most casinos don't do this

Provably fair exposes shady backend behaviour, which is exactly why a lot of operators avoid it and ask you to "trust the process." Duel uses it by default. The point isn't a marketing badge, it's that you can hold us accountable on every single result. Pair that with our 100% RTP goal on Originals and the deal is simple for South African players: fair odds, and proof that they were fair.

Provably Fair FAQ

Which games are provably fair?

All Duel house games (the Originals such as Dice, Crash, Mines and Plinko) are provably fair. Third-party slots and live tables use their own providers' RNG certification rather than Duel's seed system.

What is the server seed hash for?

It's a commitment. By showing you the SHA-256 hash of the server seed before you bet, we prove the seed existed and was fixed in advance, so it can't be swapped after seeing your bet.

How does my client seed affect the result?

Your client seed is one of the three inputs combined to generate the outcome. Because you control it, the house cannot predetermine a result that's purely in its favour.

How do I actually verify a round?

Open game history, copy the client seed, nonce and revealed server seed, then recompute the result with a SHA-256 verifier or the built-in tool. If it matches the in-game result, it's confirmed fair.

Does provably fair mean I'll win?

No. It proves integrity, not profitability. The maths still applies and variance is real, so only stake Rand you can afford to lose. Provably fair simply guarantees nothing was altered mid-round behind the scenes.

Can Duel change a result after I bet?

No. The server seed is hashed and committed before the round, and the result is derived from values locked in advance. Any change would break the hash check during verification.