BANANABET

Fairness

Provably fair

A casino can always claim it did not touch the result. This page is the part where you stop having to take that claim on faith — every round here is a function of three values, two of which you hold.

The problem it solves

If the house generates a random number after seeing your bet, nothing stops it generating a different one. The fix is a commitment: the house has to lock in its randomness before the bet exists, publish proof of the lock, and reveal the secret later so anyone can confirm it never moved.

1.The commitment

The server generates a 32-byte server seed and shows you SHA-256(serverSeed) — the commitment. You see the hash before you place a single bet. The seed itself stays secret, because knowing it would let you compute every upcoming round.

2.Your half

You choose the client seed, and you can change it whenever you want. Every bet also carries a nonce — a counter that increments per round, so no two bets on the same seed pair can produce the same stream.

3.The derivation

Each round's randomness is:

HMAC-SHA256(serverSeed, "clientSeed:nonce:cursor")

Floats come from four consecutive bytes of that digest, base-256, and cursor advances one HMAC block per eight floats a round consumes. It is the standard scheme, on purpose: a third-party verifier can reproduce any round from the seed pair and nonce alone, with no code of ours involved.

4.The reveal

Rotate your seed and the old server seed is revealed in full. Hash it yourself and check it against the commitment you were shown before you played. If they match, that seed was fixed the whole time — and every round it produced was decided before you bet.

Verify it yourself

You need four things — the revealed server seed, the client seed that was active, the nonce of the round, and the commitment hash. Then, in any language with an HMAC library:

  • Confirm SHA-256(serverSeed) equals the commitment you were shown.
  • Compute HMAC-SHA256(serverSeed, "<clientSeed>:<nonce>:0").
  • Read floats from the digest four bytes at a time, base-256, and apply the game's published rule to them.

The result must be the outcome you were paid on. If it is not, send us the round and the working at support@bananabet.gg.

What fairness does not mean

Provably fair proves the house did not choose your result. It does not make the game break even. Every original carries a published edge — the instant games run at 99.02% RTP and the table games publish their own — so over enough rounds the house wins by construction, and honestly so. Verification is about the absence of cheating, not the absence of an edge.

Balances and settlement live in BANANA on Robinhood Chain, which is a separate guarantee: fairness covers the outcome, the chain covers the money. See what else is under the hood →

Provably fair · Bananabet