Would you mind explaining the results of the following bets?
869601854
869602054
869602352
869602473
The result of bet id 869601854 is as follows:
{
"id": 869601854,
"game": "Roulette (EU)",
"slot_name": null,
"slug": "roulette-eu",
"slot_slug": null,
"slot": 0,
"currency": "BTC",
"options": {
"20": "10.000",
"66": "10.000",
"67": "10.000",
"89": "10.000",
"101": "10.000",
"124": "10.000",
"125": "10.000",
"135": "10.000",
"136": "10.000"
},
"data": [
26,
[]
],
"payout": "0.00",
"amount": "0.003362466992",
"profit": "-0.003362466992",
"hide_bets": 0,
"username": "Acer64",
"xp": "900.00000000",
"datetime": "12 Oct 2023 22:18:22",
"avatar": "8",
"avatar_bg": "f34135",
"avatar_builder": 1,
"server_seed": "2ca25f3eeb0cce84690cbad69c61a991101135d8d795e3821cfda55251bb8e1d",
"client_seed": "d64b8399a89512",
"reveal": 1,
"nonce": 2,
"server_seed_hash": "e4fb55e2493e8cca556690c91bd22d1050a83dd6c50c328fb111d5ceeb9efd5f"
}
The first value of the data array is 26, and this is the value recorded as having been the result of this Roulette game.
At
https://cryptoplay.io/help/fairness, the following code is available to check your provably fair implementation:
$seed = hash_hmac('sha512', 'my server seed', 'my client seed'.':'.'my nonce');
$seed = hexdec(substr($seed,0,10));
$roulette_number = $seed % 37;
return $roulette_number;
I wrote the following Node.js adpation of the PHP code:
const crypto = require('crypto');
const hex = crypto.createHmac('sha512', 'd64b8399a89512:2').update('2ca25f3eeb0cce84690cbad69c61a991101135d8d795e3821cfda55251bb8e1d').digest('hex').substring(0, 10);
const res = parseInt(hex, 16) % 37;
console.log(res);
This code indicates the result of the game should have been 21, which would have been a winning result for this particular game.
The results of the next bet in this series, bet id 869601961, follows:
{
"id": 869601961,
"game": "Roulette (EU)",
"slot_name": null,
"slug": "roulette-eu",
"slot_slug": null,
"slot": 0,
"currency": "BTC",
"options": {
"20": "10.000",
"66": "10.000",
"67": "10.000",
"89": "10.000",
"101": "10.000",
"124": "10.000",
"125": "10.000",
"135": "10.000",
"136": "10.000"
},
"data": [
8,
[]
],
"payout": "0.00",
"amount": "0.003362466992",
"profit": "-0.003362466992",
"hide_bets": 0,
"username": "Acer64",
"xp": "900.00000000",
"datetime": "12 Oct 2023 22:18:28",
"avatar": "8",
"avatar_bg": "f34135",
"avatar_builder": 1,
"server_seed": "2ca25f3eeb0cce84690cbad69c61a991101135d8d795e3821cfda55251bb8e1d",
"client_seed": "d64b8399a89512",
"reveal": 1,
"nonce": 3,
"server_seed_hash": "e4fb55e2493e8cca556690c91bd22d1050a83dd6c50c328fb111d5ceeb9efd5f"
}
We see here that the reported result of this bet is 8 and can confirm that result with the code written above.
Lastly, it's noted that this behavior disappears once below a certain bet threshold. For instance, the bets in this post are all around $90 and a winning bet was never seen in a sequence of 10 bets that should have had about a 25% chance of having some return. Of course 4/10 bets actually did return, the casino just misreported the actual outcome. This behavior was not seen at bets closer to $10.
I assert that this casino is fraudulently marking winning bets as losses in a very obvious and easily confirmable way. For that reason, I am leaving a flag.
The Roulette game is programmed by a third-party developer.
I can't answer you about this situation now because we don't know the full code of how is made, but our developers are checking this situation and will come back with more details as soon as possible.