POVABLY FAIR
Find the question you are interested in and get a quick answer.Review
Implementation
Conversion
Game events
Decoding
Calculation
How are game results generated fairly?Our system uses a local random seed plus a random seed from a reputable 3rd party (RANDOM.ORG). By doing this, you are able to see the exact seed we request from Random.org, which will match up with the game's end time (when the game will roll).This system makes it impossible for anyone, including us or the third party, to predict the winning outcome and makes each round provable and legitimate.e850222d-ec90-46e9-a69d-7d483ff8a2f9:2.00:ef6e64a9-8c8b-49f4-8304-fdd4dd030cbf:4.00
Brief technical overviewWhen a game is started, we create the local random seed. We hash it and show it to you before the game rolls (under the players). You are able to use the hash to verify that the local random seed remained unchanged throughout the game. Here is a code snippet of how it works.
public generateServerSeed = (clientSeed: string | null = null): string => {
let server_seed: string = this.Util.getRandomString(24);
if (clientSeed) server_seed += `@${clientSeed}`;
return server_seed;
}
async retrieveRandomHashv2(n, gameHash) {
try {
const resp = await this.Request.post('https://api.random.org/json-rpc/2/invoke', {
body: {
jsonrpc: '2.0',
method: 'generateSignedStrings',
params: {
apiKey: this.Config.random.apiKey,
n,
length: 20,
characters: 'abcdefghijklmnopqrstuvwxyz0123456789',
replacement: false,
userData: gameHash,
},
id: 'skinwager',
},
headers: {
'Content-Type': 'application/json; charset=utf-8',
},
});
return resp.result;
} catch (e) {
this.Logger.error(e);
return Promise.reject({ code: this.Error.InternalError, message: 'INTERNAL_ERROR' });
}
}
ReviewThis is for Review section
ImplementationThis is for Implementation section
ConversionThis is for Conversion section
Game eventsThis is for Game events section
DecodingThis is for Decoding section
CalculationThis is for Calculation section