DEGEN DEN Join the Den

Provably fair, checked in your browser

Don't trust us.
Check us.

Every card, roll and spin at Degen Den is locked in before you bet. Paste a game code and your own browser replays the game from its seeds, with the same code the bot plays with. If a single card had been changed, you would see it.

Every game shows its code under the result in Discord, and /game looks one up there too.

No game code needed

Seed checker

Put in any seeds and see exactly what they deal, for every game. Your server seed is revealed in Discord with /fair (change seeds) and for live tables the moment a round ends.

Put in a server seed and a client seed to see what they deal.

The method

How provably fair works

The same scheme the big crypto casinos use. Here is the whole of it, nothing left out.

  1. 1

    We lock it in

    Before you play, the bot picks a secret server seed and shows you its SHA-256 hash. The hash is a fingerprint: it pins down the seed without giving it away, and no other seed has the same one.

  2. 2

    You mix in your own

    Your client seed goes in too, and you can change it whenever you like with /fair, so we can never line results up in advance. The nonce counts your games: 0, 1, 2 and on.

  3. 3

    The numbers come out

    Every game's random numbers are HMAC-SHA256(server seed, client seed:nonce:round). They decide every card, roll and spin, and nothing else does.

  4. 4

    We reveal, you check

    Change seeds with /fair and the old server seed is revealed. Paste any game code above: your browser checks the seed against its hash and replays the game.

From seeds to numbers

bytes = HMAC_SHA256(key = server seed,
                    message = "client seed:nonce:round")
number = b0/256 + b1/256² + b2/256³ + b3/256⁴

Each round of HMAC gives 32 bytes, so 8 numbers from 0 to 1. Round 0 gives numbers 1 to 8, round 1 the next 8, and so on, for as many as a game needs.

A card is floor(number × 52): rank = floor(card ÷ 4) from 2 up to ace, suit = card mod 4 in the order ♦ ♥ ♠ ♣. Every card is a fresh draw, an endless deck.

Live tables

Every round at a live table gets its own server seed. Its hash is on the table before anyone bets, and the seed is revealed the moment the round ends, so every live game can be checked straight away.

The client seed is every betting player's own client seed, joined together (1:yours|2:theirs), so no single player and not the house can steer a round. The nonce is 0.

Your bets never change the cards: everyone at the table gets the same draw.

How each game turns numbers into a result

Ready to play?

Live blackjack, baccarat, roulette, craps, dragon tiger and horse racing with the whole server, plus crash, mines, plinko, dice, keno and more right in Discord. Deposit and withdraw in SOL, LTC or ETH.

Join Degen Den on Discord