BitKong logo
BitKong with glasses and white scrubs standing next to a provably fair alogrithm.

The Only 100% Provably Fair Crypto Casino

BitKong is the only crypto casino in the business where all games are 100% Provably Fair guaranteed. Play safely knowing you can check every bet in just one click.
Crypto Gambling Foundation logo.
Provably fair logo
What is Provably Fair?
When a casino is Provably Fair it means that every bet can be verified by the player, ensuring the transparency of the game. The players don’t need to trust the casino because they have the tools and information they need to analyze the transparency of every outcome. At BitKong, you can check the fairness of every bet with our in-game calculator or use the open-source version.
Overview

We continuously change the perception of online gambling by applying the revolutionary concept of provably fair gambling.

OVERVIEW

BitKong is a provably fair online crypto casino. We introduce a new generation of online casinos where players can be sure that the results are not manipulated. BitKong’s verification procedure allows users to verify the integrity of every bet.

COMPONENTS

The Server Seed is generated before the Client Seed, ensuring that it is impossible to generate a Server Seed in favor of BitKong. This procedure is not possible to prove if the user is visiting the website for the first time. We advise users to randomize (change) the Client Seed during their first visit. At the moment of the bet, the current Server Seed is hidden from the user in order to prevent a prediction of the result. Before the bet, a Hash (SHA256) is shown instead of the Server Seed to guarantee that it will not be replaced by BitKong. The Current Server Seed is used for all the bets that were made after the last Server Seed randomization and it will still be used until the user decides to verify the bet(s). Before the user starts the verification, he must also randomize the current Server seed to generate a new one for the next bet(s). After the randomization is over, the previous Server Seed will be opened and all bets made with that Server Seed can be checked. After that, the user doesn’t have to change the Client seed, but it is recommended. Server Seed is a random sequence of 64 symbols (numbers and letters) generated by a server. The Client Seed is a random sequence of symbols specified by the user (or generated by the user's browser). A nonce is a number of bets made with a certain Server Seed. This number is initially 0 and increases by one after each bet. After Server Seed is changed the Nonce resets to 0. The row number of every ticket starts at 0 and increases by one with every row in a ticket.

GENERATING RANDOM OUTCOMES

Server seed, Client seed, Nonce, Ticket row number and Zero are used to create provably fair randomly generated outcomes. The output of the random number generation is 32 random bytes, generated using the HMAC_SHA256(K,m) function. This function uses a given Server Seed (K) and a message (m). The message is created by concatenating Client seed, Nonce, Row number of the ticket and zero. m = "{client_seed}:{nonce}:{row_number}:0".

CREATING RESULTS

To create random results (events) that happen during the game, a special formula is used. The first four bytes of the HMAC_SHA256(K,m) function’s result need to be converted into decimal values (0-255 each). The first byte is divided by 256 (256 raised to the power of 1), the second byte is divided by 65,256 (256 raised to the power of 2), the third byte is divided by 16,777,216 (256 raised to the power of 3), the fourth byte is divided by 4,294,967,296 (256 raised to the power of 4). The sum of the divisions is an equally distributed value greater than or equal to zero, but smaller than one. The final game result is calculated by multiplying that value with a number of possible results (right and wrong) and taking only part (floor) of that figure: 4 for Easy, 3 for Medium, 2 for Hard, 3 for Extreme, 4 for Nightmare. That number (the result) indicates the position of the winning cell in the row for Hard, Extreme, Nightmare modes and the position of the losing cell for the Easy and Medium modes.

BEST PRACTICE

  1. Change the Client Seed when you start playing on the website.
  2. Copy and keep Server Seed hash and Client Seed separately.
  3. Don’t use one Server Seed for multiple bets. Change the Server Seed every once in a while and verify your bets (at least a few of them).
  4. After every randomization of the Server Seed, also randomize (change) the Client Seed.
  5. When you manually create the Client Seed do not use simple, easily predictable words. It is better to generate it with a cryptographic random number generator by clicking the “Refresh” button on the Fairness tab.
Play and verify any of your bets