Probability & Fairness

Last updated March 2026

Rake Casino is committed to provably fair gameplay. Every card dealt is generated using cryptographically secure randomness — the same standard used by banks and security systems. This page explains exactly how it works and lets you verify it yourself.

01

Real Decks, Real Shuffling

We simulate real physical decks — not abstract number generators. When you play with 6 decks, the game creates 312 actual cards (52 per deck), each with a suit and rank, just like you'd find in a casino shoe.

Deck Composition
Spades13 cards each
Hearts13 cards each
Diamonds13 cards each
Clubs13 cards each
6 decks = 312 cards per shoe

Cards are dealt from the shoe just like in a real casino. Once dealt, a card cannot appear again until the shoe is reshuffled. The deck uses 75% penetration — meaning the shoe is reshuffled when roughly 3/4 of the cards have been dealt, matching standard casino practice.

Unlike some online games that use independent random outcomes per hand, our deck has memory. Every card dealt changes the odds for subsequent cards — exactly like a real shoe.

02

Cryptographic Shuffling

Every shuffle uses the Fisher-Yates algorithm — the mathematically proven gold standard for generating unbiased random permutations. Combined with cryptographically secure entropy, this guarantees every possible card ordering is equally likely.

How Each Shuffle Works
1
Hardware Entropy

Your device's hardware random number generator (via crypto.getRandomValues()) produces cryptographically secure random bytes. This is the same API used by TLS/SSL, password managers, and banking applications.

2
Fisher-Yates Permutation

The algorithm walks through the deck from the last card to the first. For each position, it generates a secure random index and swaps. After N-1 swaps, every possible ordering has an exactly equal probability of occurring.

3
Unbiased Distribution

Each of the 312! possible orderings (a number with over 700 digits) is equally likely. No seed, no pattern, no prediction — pure randomness.

crypto.getRandomValues() draws entropy from your operating system's CSPRNG (Cryptographically Secure Pseudo-Random Number Generator), which collects entropy from hardware sources like CPU timing jitter, interrupt timing, and thermal noise. This entropy is inaccessible to both the game code and any external party.

03

House Edge Calculator

The theoretical house edge is determined entirely by the table rules — not by any hidden manipulation. Here's the exact breakdown based on your current game settings:

A lower house edge means better odds for the player. With perfect basic strategy, blackjack has one of the lowest house edges of any casino game — typically under 0.5%.

04

Your Fairness Report

This is your personal fairness audit — generated entirely from your gameplay data stored locally on your device. It compares your actual results against mathematically expected outcomes.

No gameplay data yet

Play some hands and return here to see your fairness audit.

05

What Makes This Different

Fully Transparent

All game logic runs in your browser. There's no server deciding outcomes — you can inspect the source code yourself.

Local Data Only

Your fairness statistics are stored on your device. We never see your gameplay data or hand results.

Open Algorithm

Fisher-Yates with crypto.getRandomValues() — the same shuffle every reputable implementation uses.

No Outcome Fixing

The deck is shuffled once per shoe. Cards are dealt sequentially. There is no dynamic adjustment of outcomes.

This is a practice game with no real money. The fairness guarantees exist because we believe practice should mirror reality — if you learn strategy here, it should transfer directly to a real table.