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.

Workflow

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.

  • 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.

Provably fair

  • 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.

about games

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.

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)
f88e5c0943740b0269b21
347fa26c59b1717e
e200584ac40e1c56edd49ad82b8.
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.

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:J
H: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:4 S:9D:5S :8H:2S:8
D:JC:AH:JD:TC:
QS:AD:9S:2S:6C:3. H: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:7
H:QC:JC:7H:K C:2C
:2D:2H:TS:2C:TC:TH:JS:JD:3S:QH:TD:7S:JS:
8H:KS:6C:QS: 8H:4H
:AD:KC:7C:5 H: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: 5 H: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) 93c4fad060abf2f2dae340722e3cbbb1812c58667
e3e03ccf2accb0089b4e728. 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.

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”:
”b52d25dbfdcc5aefaa6d 426028b28bbc”}

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.

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) f51a2650ccac3416 b0dbc9ac10a7f5de 0334a2b5d
9aa27859e36a9f87 0f2f88f. 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.

Let’s start a conversation

Would you like to start conversation with BGaming in any field? Drop us a line!

Contact us
BGaming content is intended for persons 18 years or older.

Please confirm you met the legal age
requirement to continue