OUR CONTACTS
[email protected]
+44 20 8123 0832

Whether you are an iGaming operator, a platform provider or a reseller, leave us a message if you would like to integrate our top-quality game content.




    This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
    BGaming

    HomeProvably Fair

    Provably Fair

    BGaming is the first major iGaming provider to introduce the “provable fairness” feature. Provably fair in online gambling can be described as an algorithm that is used to analyze and verify fair play.

    BGaming algorithm is based on a cryptographic method that ensures that the outcome of the round is unaffected by the player’s bet and that player cannot know the outcome before the actual gameplay.

    Here is the workflow:

    • Before the game starts we calculate the game outcome called Result. We generate a random string called Secret for each round just because we cannot simply show Results to a user. Afterward, the data is hashed using the SHA-256 algorithm and the Hash (Result + Secret) is passed to the player.
    • Before the actual bet player can place the Client seed to special input. There are two options for players: using a number randomly chosen by the system or pick own number.
    • The actual gameplay is happening. At this point, we take the Client Seed and apply it to Result. Applying Client Seed to Result is different considering the type of game you are playing. You can find the description of each method below.
    • Once the round is completed we pass the Result + Secret and Final Result to a player.

    In simple words, we calculate the outcome of each round before the actual bet is placed and everything else happening afterward is simply for the player to assure themselves of the game to be fair and unaffected by their bets.

    Why Provably Fair feature is a trend on the example of BGaming

    • Among the top 3 BGaming games in terms of GGR volume in 2019-2020, 2 games have Provably Fair technology support.
    • Interest in BGaming games from crypto projects is growing every year by at least 15%, which creates a separate niche for our business growth
    • Operators are interested in Provably Fair games because it helps to increase their trust level among players, that’s why operators create separate sections with PF games or additionally highlight technology on games icons

    “The “Provably fair” feature, (developed and first implemented by BGaming) is a great way for players to feel safe. Security and transparency are two extremely important ingredients for a successful provider. Most important for our Slotwolf Casino team is to satisfy our casino players and match their demands for exciting, fair, and supreme entertainment,” – noted Harald Pia from the SlotWolf Casino team.

    What games can be checked by the Provably Fair algorithm?

    BGaming’s approach to creating new games and services is focused on regular analysis of player needs and player care. That’s why the team pays extra attention to building a portfolio of Provably Fair games. Today, BGaming’s lineup includes 35 games such as online roulette, video poker, card games, and many online slots. Games that support the Provably fair feature maintain leading positions in online casinos. Top brand’s slots such as Aztec Magic Deluxe, Lucky Lady Clover, and Mysterious story of Avalon: Lost Kingdom found their place in BGaming’s portfolio of Provably Fair games.

    The Provably Fair gaming concept has transformed the way online casinos operate. Now some online casinos include the Provably Fair feature games exceptionally, and platform aggregators are looking for new slot providers that could offer proven fair play. In fact, the Provably Fair feature took players’ respect to a new level and opened the world of iGaming to more audiences.

    Here is how it looks like if real life for Roulette

    Player opens the game and Provably Fair widget.

    Before any bet placed we already calculated the outcome of the spin for player’s next round. This is Next game block of the Provably Fair widget – Hash (Result + Secret).

    Here in this same block player can place the Seed. Below the example of a player picking their own number. The number selected by the system can be from 0 to 36 (or 37 for American roulette).

    Player is placing the bet and making the spin. Once the outcome is displayed for a player there is another block become available in Provably Fair widget – Last Game.

    From the workflow we already know what player should receive: Result + Secret, Client Seed, Hash and Final Result.

    Now let’s use all the info received.

    Take the Result + Secret. This looks like a string: {"server":2,"game":"AmericanRoulette","secret":"290fb3c9fbfc2afa5339bf27e5c25cbb"}

    Server in Roulette means the spin. This was the actual Result we calculated before the bet placed.

    Game is the id of the game you are playing. This id is also participating in Hash configuration. Apart from that no specific meaning is standing behind the Game here.

    Secret is randomly generated string. As you already know we cannot just show the Result to player thus we use the Secret.

    Having this Result + Secret you can actually verify if the Hash player received is the same with the one that any hash generator can create.

    Now let’s compare the Hash our online tool generated to the one player received in the game – Hash (result + secret) f88e5c0943740b0269b21347fa26c59b1717ee200584ac40e1c56edd49ad82b8. As you can see they completely match.

    Following the workflow the only thing left is to apply the Client Seed to our Result. We know the Client Seed amounted at 5. So we take the Seed and apply to the Result – remember, the one that is “server”:2. In the end we receive our Final Result which is 7, exactly the one player received as his outcome of the spin.

    That is the whole story about Roulette.

    Here is how it looks like if real life for Card games

    Player opens the game and Provably Fair widget.

    Before any bet placed we already calculated the outcome of the round. This is Next game block of the Provably Fair widget – Hash (Result + Secret).

    Here in this same block player can place the Seed. Below the example of a number randomly chosen by the system – the selection is from 0 to 311 (might vary depending on the game).

    Player is placing the bet and clicking Deal button thus participating in the round. Once the outcome is displayed for a player there is another block become available in Provably Fair widget – Last Game.

    From the workflow we already know what player should receive there: Result + Secret, Client Seed, Hash and Final Result.

    Now let’s use all the info received.

    Take the Result + Secret. This looks like a string:

    {"deck":"JH:8H:2H:JC:9S:TS:AC:KC:AH:KD:4S:QC:8C:6S:3S:5D:6D:JS:8D:2D:2C:TH:JS:JD:AC:QH:JD:AC:QC:9S:7S:TH:TD:3C:7C:3C:TS:7H:9C:QS:2H:9D:9C:4D:7C:QC:7S:5H:5D:5D:3C:4C:4C:4C:8C:QH:6D:6H:AD:8S:8S:9C:3H:QC:6D:KC:AC:KS:5H:AH:8H:TS:2C:3S:6S:6C:8D:2S:KH:TS:4S:KD:JC:7C:AS:5S:6H:AH:2D:8C:JH:7S:8S:8D:6D:5C:4S:9H:KH:7D:TH:JH:6S:AS:QH:4C:4H:KC:3S:9H:AS:TD:7C:6H:KS:4C:5C:7D:QD:4H:6C:3C:JD:9H:JC:QH:7C:5C:QC:5D:4H:6S:3H:QS:8H:AS:TH:5S:TD:2D:2S:JC:KS:9S:JS:QH:8D:6H:KH:3D:7D:8D:5H:JD:KC:2S:AS:QD:7D:5D:8C:AD:KD:KH:4D:7D:KH:KD:5C:6D:2C:4H:TC:2S:KD:3S:2H:2D:AH:5S:AH:TC:TS:2H:4S:9D:5S:8H:2S:8D:JC:AH:JD:TC:QS:AD:9S:2S:6C:3H:4D:9H:3H:QD:8C:8S:6C:JS:9D:3D:7H:3D:4H:5S:9D:7S:JH:2H:4D:QD:9C:2C:3H:7H:3H:9D:KS:7H:QC:JC:7H:KC:2C:2D:2H:TS:2C:TC:TH:JS:JD:3S:QH:TD:7S:JS:8H:KS:6C:QS:8H:4H:AD:KC:7C:5H:AD:6S:9C:8S:TC:TD:9H:KD:7S:4D:5C:3C:5C:2D:JH:JH:9H:KH:AC:9S:3D:AC:9S:5S:6C:3D:QS:3D:QD:3C:4S:QD:6H:TC:7H:AS:4S:7D:AD:QS:4D:6S:8S:5H:TD:4C:5D:8C:6H:9C:3S:5H:TH:6D:9D:KS","game":"MultihandBlackjack","secret":"3ede863f6999e69d06ebcdee2e225029"}
    						

    Deck is the actual cards player is playing with. The position of cards was the actual Result we calculated before the bet placed.

    Game is the id of the game you are playing. This id is also participating in Hash configuration. Apart from that no specific meaning is standing behind the Game here.

    Secret is randomly generated string. As you already know we cannot just show the Result to player thus we use the Secret.

    Having this Result + Secret you can actually verify if the Hash player received is the same with the one that any hash generator can create.

    Now let’s compare the Hash our online tool generated to the one player received in the game – Hash (result + secret) 93c4fad060abf2f2dae340722e3cbbb1812c58667e3e03ccf2accb0089b4e728. As you can see they completely match.

    Following the workflow the only thing left is to apply the Client Seed to our Result. We know the Client Seed amounted at 259. So we take the Seed and apply to the Result – remember, the one with the cards.

    Make sure yourself with the example.

    That is the whole story about Card games.

    Here is how it looks like if real life for Slots

    Player opens the game and Provably Fair widget.

    Before any bet placed we already calculated the outcome of the round. This is Next game block of the Provably Fair widget – Hash (Result + Secret).

    Here in this same block player can place the Seed. In slots the Seed represent five reels, and the selection takes place from 1 till 9 for each separate reel.

    Below the example of a player picking their own number.

    Player is placing the bet and spinning. Once the outcome is displayed for a player there is another block become available in Provably Fair widget – Last Game.

    From the workflow we already know what player should receive there: Result + Secret, Client Seed, Hash and Final Result.

    Now let’s use all the info received.

    Take the Result + Secret. This looks like a string: {"symbols":[["man","j","t","q","t"],["chief","girl","j","a","a"],["j","k","q","t","chief"],["girl","man","face","k","t"],["k","face","t","man","k"],["a","j","a","j","girl"],["q","t","q","t","t"],["k","a","k","k","a"],["t","beast","beast","q","beast"],["q","j","q","a","t"],["a","k","man","t","a"],["face","a","face","q","face"]],"card":"4H","game":"AztecMagic","secret":"b52d25dbfdcc5aefaa6d426028b28bbc"}

    Symbols are our reels. Since we can move the reels by 9 positions – remember the Seed selection number is 9 – we amounted at 12 reels displayed in the string.

    Game is the id of the game you are playing. This id is also participating in Hash configuration. Apart from that no specific meaning is standing behind the Game here.

    Secret is randomly generated string. As you already know we cannot just show the Result to player thus we use the Secret.

    Having this Result + Secret you can actually verify if the Hash player received is the same with the one that any hash generator can create.

    Now let’s compare the Hash our online tool generated to the one player received in the game – Hash (result + secret) f51a2650ccac3416b0dbc9ac10a7f5de0334a2b5d9aa27859e36a9f870f2f88f. As you can see they completely match.

    Following the workflow the only thing left is to apply the Client Seed to our Result. We know the Client Seed amounted at 19726. So we take the Seed and apply to the Result – remember, the one with reels positions.

    Make sure yourself with the example.

    That is the whole story about Slots.