CSGORoll Logo
CSGORoll Logo

Provably Fair

Crash Game

caret

We have generated a chain of 10 million SHA256 hashes, starting with a server secret that has been repeatedly fed the output of SHA256 back into itself 10 million times. Now the crash game server is playing through this chain of hashes in reverse order, using the values as source data for generating each game's outcome. Anyone can easily verify the integrity of the whole chain. We're publishing the hash used to calculate the outcome after each game ends. If you apply the SHA256 function to a revealed seed, you'll get the hash for the previously played game, and so on until you get the hash for the first ever played game round on the chain.

INDEPENDENT RESULT VERIFICATION

You can independently verify any previous result here: https://stackblitz.com/edit/stackblitz-starters-f4keaqwt?file=index.js

Simply input the game hash of the game you want to verify. You can execute this code yourself using Node.js, but we understand that for some of you, this may be beyond your technical know-how. So, we have created an easy way for you to execute this code directly from your browser. It runs the exact same code as us, without the hassle of having to set up Node.js on your home computer.

Note: Our Random Number Generator algorithm was updated on 20th Mar 2020.

For all games played before Game#135147 on 20th Mar 2020, please use this code for independent verification instead.

The formula for verifying the result of a game hash is below. Simply edit the seed value to that of the seed for the game which you want to verify.

For security reasons, it would not be safe to keep using the same hash chain for 10 million games in a row, as these games would last several years. The longer a chain is in use, the higher risk is that the originating seed is found by a malicious third party (though still extremely unlikely). Due to this fact, we reserve the right to periodically update the base seed to ensure that the lifetime of a chain is not too long and the risk is minimalised. If and when we update the base seed to a new one, we will publish it below, also stating from which game round it was put into effect.

The first ever (ID: 1) public game's hash was cadaaef371bc977aae209dc9be1a30665550adf89fa40fc17771051914d1f9fc

By publishing the seed here, we are preventing our ability to pick an alternate SHA256 chain or modify parts of it from our side without you knowing about it first.

The bottom line is that results for all future games are already predefined and fairly distributed due to the maths that backs up the strong cryptographic SHA256 function. We cannot manipulate this chain of results and we publish game history results one by one as they are played. Each player can see the full history of the games and choose when to participate in a new game round and when not to. As crash results are already predefined and we can't force any player to join the game, it becomes a provably fair game of luck.

All outcomes depend strictly on what game round the player joins and when they decide to cash-out. The crash point of a game is calculated based on the hash only and in no way depends on a player's activity or inactivity.


Roll Game

caret

For a list of Game History, including seeds and nonces, you can find all the information on the Roll Provably Fair Page.

The following JavaScript code can be used to independently verify the integrity of any roll, by simply passing in the publicSeed, serverSeed and nonce of the game that you want to verify .

INDEPENDENT VERIFICATION

You can independently verify any previous roll by using the code displayed below. Simply input the public seed, un-hashed server seed and nonce of your roll. You can execute this code yourself using Node.js, but we understand that for some of you, this may be beyond your technical know-how. So, we have created an easy way for you to execute this code directly from your browser. It runs the exact same code which is shown below, without the hassle of having to set up Node.js on your home computer.

Note: Our Random Number Generator code was updated on 19th Oct 2022.

For all games played between Nonce 330,106 and Nonce 3,553,944, please use this code for independent verification instead.

Note: Our Random Number Generator code was updated on 9th May 2020.

For all games played between Nonce 58,960 and Nonce 330,105 on 9th May 2020, please use this code for independent verification instead.

Note: Our Random Number Generator code was updated on 26th Feb 2020.

For all games played before Nonce 58,960 on 26th Feb 2020, please use this code for independent verification instead.


Dice Game

caret

Click here to verify your result in the browser

We offer verification which allows users to check the integrity of every roll and confirm they are not manipulated. Every randomly generated number is calculated based on the server and client seed. The server seed is created before you specify your client seed. Both seeds together prevent manipulation from our side and verifies the roll integrity after the result calculation. Every roll has a unique server seed randomly generated in advance, this server seed will only be updated when you choose to update your client seed. We hash those server seeds with the SHA256 cryptographic function and then publish the hashed server seeds for you to see.

Due to this applied hashing function, you cannot see the original server seed, yet you will be able to check that it was unmodified later, when we publish the un-hashed server seed after you update your client seed. We publish all un-hashed server seeds as soon as you update, so you can apply the SHA256 function to it and see that the server seed was unmodified during your previous rolls. The client seed can be edited freely by users before each roll.

As the client seed affects every roll result, changing it to any seed of your choice at any time means you can ensure that it's impossible for us to manipulate the result. However, the SHA512 function we use to generate the roll is deterministic, if the client seed is combined with the same server seed, it will generate exactly the same roll result every time. This could be used to abuse the system, so we use something called a 'nonce' which prevents this from being abusable. Each roll done using the same server seed & client seed pair will also be paired with a different nonce, which is simply a number starting at 0 and incremented by 1 for each roll done.

The nonce is based on numbers which we can't manipulate (they naturally increment by 1 after each roll)

Lastly, for each roll we generate, we apply an iteration count, starting at 0. The reason for this fourth variable in the seed is just in case the randomly generated value goes out of bounds and eventually exhausts all available random numbers within the available hash. In this case, we will generate a new hash using the exact same seed pair as before, while simply incrementing this iteration value by 1. In this sense, it works in very much the same way as the nonce. We do not have any control over which iteration value is used to generate the final result as it is all algorithmically pre-determined.

With the provided secret seed combination, we use the SHA512 cryptographic hashing function to generate a hexadecimal hash. From this hexadecimal hash, we take the first 5 characters and convert them to an integer. If the integer happens to fall out of bounds (above 10,000), we cycle to the next 5 characters of the hexadecimal hash and repeat this step. We then apply a modulus of 10,000 to this number, giving us a number in the range of 0-9999. Finally, when displaying the final result, the frontend divides this integer by 100 to display the result as a decimal roll in the range of 0-99.99.

Each roll can be verified using this formula as soon as you have revealed your server seed for the previous rolls. The published un-hashed server seeds can be checked by simply applying the SHA256 function to it, this will produce the previously published hashed version of the server seed, which was made visible to you before any roll using it was ever made. Each user can check the integrity of every roll made using this information.

INDEPENDENT VERIFICATION

Click here for Independent Verification Script

You can independently verify any previous roll by using the code displayed below. Simply input the client seed, the un-hashed server seed and the nonce of your roll. You can execute this code yourself using Node.js, but we understand that for some of you, this may be beyond your technical know-how. So, we have created an easy way for you to execute this code directly from your browser. It runs the exact same code which is shown below, without the hassle of having to set up Node.js on your home computer. You simply need to input the 3 seed values: client seed, server seed and nonce before pressing Execute.

Note: Our Random Number Generator algorithm was updated on 19th Oct 2022.

For all games played before ID #170,387,106 on 2022-10-19 08:18:07.738+00, please use this code for independent verification instead.


Case Opening

caret

In Case Opening, the result of every opening is determined using Provably Fair mechanics. The outcome is based on a combination of the server seedclient seed, and nonce, guaranteeing that no result can be tampered with. The server seed is generated in advance and is hashed using the SHA256 function before any rolls occur. After the game, the unhashed server seed is revealed, allowing you to verify the fairness of the result by comparing it to the hash published beforehand.

Each opening also uses a unique nonce—a sequential number that increases by 1 with every roll. This prevents outcomes from being reused, even if the same seeds are used multiple times.

INDEPENDENT VERIFICATION

To verify any previous opening result, input the client seedserver seed, and nonce into the following script. This can be done through Node.js or directly from your browser using our simple verification tool.

https://stackblitz.com/edit/stackblitz-starters-dgzeunmu?file=index.js

This system ensures that every opening result is transparent and can be verified independently. By comparing the published unhashed server seeds with the results of your openings, you can confirm that the game is Provably Fair.


Plinko

caret

Our Plinko game uses a system of Provably Fair verification. Each Plinko round's outcome is determined based on a combination of server seedclient seed, and nonce, ensuring that no results are manipulated. The server seed is generated before the game, and players can provide their own client seed. Together, these seeds generate a result that is cryptographically secure and verifiable after the game concludes.

The server seed is hashed using the SHA256 function and displayed before the game begins. After the game ends, the unhashed server seed is revealed, allowing players to compare it with the previously published hash. This ensures that the seed was not altered, verifying the fairness of the result.

Each roll uses a nonce, a unique number that starts at 0 and increments by 1 after each roll. This prevents the possibility of repeating outcomes with the same seed pair. The nonce is automatically updated, ensuring that every roll is independent.

INDEPENDENT VERIFICATION

You can verify each round's outcome using the following code. Simply input the server seedclient seed, and nonce from the game round you wish to check. If you're unfamiliar with Node.js, you can use our browser-based verification tool, which runs the same code.

https://stackblitz.com/edit/stackblitz-starters-dzfbetbs?file=index.js

With this system, we ensure that each roll is truly Provably Fair. You can review past rounds by comparing the published server seeds, ensuring integrity and transparency.


Quick Upgrade Game

caret

Click here to verify your result in the browser

We offer verification which allows users to check the integrity of every item upgrade, to confirm that the results were not manipulated. Every result is based on a randomly generated number, calculated based on a server and client seed. The server seed is randomly generated by us, before you specify your client seed. Both seeds together prevent manipulation from our side and verify the roll integrity after the result calculation. Every roll has a unique server seed randomly generated in advance, this server seed will only be updated when you choose to update your client seed. We hash those server seeds with the SHA256 cryptographic function and then publish the hashed server seeds for you to see.


Due to this applied hashing function, you cannot see the original server seed, yet you will be able to check that it was unmodified later, when we publish the unhashed server seed after you update your client seed. We publish all unhashed server seeds as soon as you update, so you can apply the SHA256 function to it and see that the server seed was unmodified during your previous rolls. The client seed can be edited freely by users before each roll.

As the client seed affects every result, changing it to any seed of your choice at any time means you can ensure that it's impossible for us to manipulate the result. However, the SHA512 function we use to generate the roll is deterministic, if the client seed is combined with the same server seed, it will generate exactly the same result every time. This could be used to abuse the system, so we use something called a 'nonce' which prevents this from being abusable. Each roll done using the same server seed & client seed pair will also be paired with a different nonce, which is simply a number starting at 0 and incremented by 1 for each roll done.

The nonce is based on numbers that we can't manipulate (they naturally increment by 1 after each game)

Lastly, for each result we generate, we apply an iteration count, starting at 0. The reason for this fourth variable in the seed is just in case the randomly generated value goes out of bounds and eventually exhausts all available random numbers within the available hash. In this case, we will generate a new hash using the exact same seed pair as before, while simply incrementing this iteration value by 1. In this sense, it works in very much the same way as the nonce. We do not have any control over which iteration value is used to generate the final result as it is all algorithmically pre-determined.

With the provided secret seed combination, we use the SHA512 cryptographic hashing function to generate a hexadecimal hash. From this hexadecimal hash, we take the first 5 characters and convert them to an integer. If the integer happens to fall out of bounds (above 10,000), we cycle to the next 5 characters of the hexadecimal hash and repeat this step. We then apply a modulus of 10,000 to this number, giving us a number in the range of 0-9999.

Each result can be verified using this formula as soon as you have revealed your server seed for the previous results. The published un-hashed server seeds can be checked by simply applying the SHA256 function to it, this will produce the previously published hashed version of the server seed, which was made visible to you before any play using it was ever done. Each user can check the integrity of every result made using this information.

INDEPENDENT VERIFICATION

Click here for Independent Verification Script

You can independently verify any previous roll by using the code displayed below. Simply input the client seed, the un-hashed server seed and the nonce of your roll. You can execute this code yourself using Node.js, but we understand that for some of you, this may be beyond your technical know-how. So, we have created an easy way for you to execute this code directly from your browser. It runs the exact same code which is shown below, without the hassle of having to set up Node.js on your home computer. You simply need to input the 3 seed values: client seed, server seed and nonce before pressing Execute.

Note: Our Random Number Generator algorithm was updated on 19th Oct 2022.

For all games played before ID #170,386,180 on 2022-10-19 08:16:34.237+00, please use this code for independent verification instead.


PvP - Case Battles

caret

PvP uses a system of provable fairness whereby the public seed is not known to anyone until the plays have already been committed and the game has started. This ensures that nobody can know the result in advance, not even us, since a part of the seed used to generate the final result is completely unknown until all the plays have been committed.

We offer verification which allows users to check the integrity of every game and confirm that the results were not manipulated. Every randomly generated result is calculated from a three-part seed based on a seed pair and a nonce. The seed pair is made up of a public seed and a server seed. This pair is "nonced" with a unique number and the "Game Mode" to generate a random final result.

NONCE

For Case Battles, we use the numerical ID of the PvP play ID as the nonce, this ID is a unique sequential number which is incremented each time a new PvP play is made by anyone on the site. Each Case (or Box) in the Battle is treated as a single play, and all of the plays for all of the boxes are committed by each user before the Battle begins. Each player has their own unique nonce for each round, which corresponds to their own PvP play ID for that round. The nonces used are all published and committed to before the EOS Hash (public seed) is known to us. The nonces are visible in the Provably Fair modal found on the PvP Duel Page and can be seen before the Battle has begun or the public seed (EOS Hash) has been generated.

We also nonce the seed with the "Game mode", this is a precaution to ensure that different game modes (e.g. Case Battles and Unboxing) don't risk using the same exact seeds to produce exploitable results.

PUBLIC SEED (EOS HASH)

The public seed (EOS Hash) is known only when all of the players in the Battle have committed their plays. We achieve this by committing to an EOS Block that is not yet mined but will be in the near future, and we then use its hash as the public seed. This way, we can prove that we had no way of knowing what the seed would be in advance before the Battle starts.

SERVER SEED

The server seed is a random string which is generated for each player at the beginning of a new PvP Case Battle. We commit to this seed as soon as each player joins a Battle, and we immediately display the SHA256 hash of this seed. As soon as the rounds have all been played, we then reveal the unhashed version of the players' seeds. You can confirm that the server seeds for each player were unmodified and no manipulation was done on our end by comparing the original SHA256 hash (the one that was displayed at the beginning) with the revealed seed shown after. This can be verified independently in a programming language such as JavaScript, by applying the SHA256 hashing function to the revealed seed and comparing the output with the hash which was shown earlier. It can also easily be confirmed online using tools such as https://xorbin.com/tools/sha256-hash-calculator

INDEPENDENT VERIFICATION

Each unboxing result in the Battle can be verified independently using the algorithmic formula that we use to generate the result. We have created an easy way for you to execute this code directly from your browser. It runs the exact same code as us, without the hassle of having to set up NodeJS on your home computer. Just edit the code to pass in the three parts of the seed mentioned above (the EOS Hash, the server seeds and the nonces). These elements are all best retrieved from the Provably Fair popup dialog found on the PvP Duel page, as you can easily copy and paste each of them.

Note: Our Random Number Generator algorithm was updated on 19th Oct 2022.

For all games played before PvP Round ID #201,649,576, please use the previous version for independent verification instead.

Note: Our Random Number Generator algorithm was updated on 10:57 PM UTC, 28th September 2021

For all games played before PvP Round ID #15829596, please use the previous version for independent verification instead.

If you have any further questions about our provably fair system, please do not hesitate to contact our support team for more help and information.


PvP - Coin Flip

caret

Click here to verify a result

PvP uses a system of provable fairness whereby the public seed is not known to anyone until the plays have already been committed and the game has started. This ensures that nobody can know the result in advance, not even us, since a part of the three-part seed used to generate the final result is unknown until after the plays have been committed.

We offer verification which allows users to check the integrity of every game and confirm that the results are not manipulated. Every randomly generated result is calculated from a three-part seed based on a seed pair and a nonce. The seed pair is made up of a public seed and a server seed. This pair is "nonced" with a unique number to generate a random final result.

NONCE

For Coin Flip, we use the numerical ID of the PvP round as the nonce, this ID is a unique sequential number which is incremented each time a new PvP round is played by anyone on the site. The nonces used are also published and committed to before the EOS Hash (public seed) is known to us. The nonces are visible in the Provably Fair modal from the PvP Duel Page and can be seen before the round has been started or the public seed (EOS Hash) has been generated.

PUBLIC SEED (EOS HASH)

The public seed (EOS Hash) is known only when all of the players in the round have committed their plays. We achieve this by committing to an EOS Block that is not yet mined but will be in the near future, and we then use its hash as the public seed. This way, we can prove that we had no way of knowing what the seed would be in advance before the game starts.

SERVER SEED

The server seed is a random string which is generated at the beginning of a new PvP Round. We commit to this seed as soon as the round is created and we immediately display the SHA256 hash of this seed. As soon as the round has been played, we then reveal the unhashed version of the seed. You can confirm that the seed was unmodified and no manipulation was done on our end by comparing the original SHA256 hash (the one that was displayed at the beginning) with the revealed seed shown after. This can be verified independently in a programming language such as JavaScript, by applying the SHA256 hashing function to the revealed seed and comparing the output with the hash which was shown earlier. It can also easily be confirmed online using tools such as https://xorbin.com/tools/sha256-hash-calculator

INDEPENDENT VERIFICATION

Each game result can be verified independently using the algorithmic formula that we use to generate the result. We have created an easy way for you to execute this code directly from your browser. It runs the exact same code which is shown below, without the hassle of having to set up Node.js on your home computer.

Just pass in the three parts of the seed mentioned above (the EOS Hash, the server seed and the nonce) along with the "selections" JSON and your user ID. These elements are all best retrieved from the Provably Fair popup dialog found on the PvP Duel page, as you can easily copy and paste each of them.

Note: Our Random Number Generator algorithm was updated on 19th Oct 2022.

For all games played before PvP Play ID #201,649,313, please use this code for independent verification instead.

If you have any further questions about our provably fair system, please do not hesitate to contact our support team for more help and information.


PvP - Dice Duel

caret

PvP uses a system of provable fairness whereby the public seed is not known to anyone until the plays have already been committed and the game has started. This ensures that nobody can know the result in advance, not even us, since a part of the three-part seed used to generate the final result is completely unknown until all the plays have been committed.

We offer verification which allows users to check the integrity of every game and confirm that the results were not manipulated. Every randomly generated result is calculated from a three-part seed based on a seed pair and a nonce. The seed pair is made up of a public seed and a server seed. This pair is "nonced" with a unique number to generate a random final result.

For Dice Duels, there is a different three-part seed for each player. A separate seed is required in order to generate a unique result for each participant. The public seed (EOS Hash) is the same for all players, but each user has their own separate server seed (and nonce) generated for each round.

NONCE

For Dice Duels, we use the numerical ID of the PvP play ID as the nonce, this ID is a unique sequential number which is incremented each time a new PvP play is made by anyone on the site. Each player in the round has their own unique nonce, which corresponds to their own PvP play ID. The nonces used are also published and committed to before the EOS Hash (public seed) is known to us. The nonces are visible in the Provably Fair modal from the PvP Duel Page and can be seen before the round has been started or the public seed (EOS Hash) has been generated.

Since it is technically possible to have a tie in a Dice Duel (where more than one player throws the same total on their dice), we allow for re-rolls in this case. For each re-roll, each participant in the tie-breaker will have their same nonce incremented by 1 and a new result will be generated until a single winner is eventually found.

For example, if Player A's nonce is 100 and Player B's nonce is 200 and they tie, a re-roll will occur whereby the seeds remain the same but Player A's nonce is now 101 and Player B's nonce is now 201.

PUBLIC SEED (EOS HASH)

The public seed (EOS Hash) is known only when all of the players in the round have committed their plays. We achieve this by committing to an EOS Block that is not yet mined but will be in the near future, and we then use its hash as the public seed. This way, we can prove that we had no way of knowing what the seed would be in advance before the game starts.

SERVER SEED

The server seed is a random string which is generated for each player at the beginning of a new PvP Round. We commit to this seed as soon as each player joins a round, and we immediately display the SHA256 hash of this seed. As soon as the round has been played, we then reveal the un-hashed version of the players' seeds. You can confirm that the server seeds for each player were unmodified and no manipulation was done on our end by comparing the original SHA256 hash (the one that was displayed at the beginning) with the revealed seed shown after. This can be verified independently in a programming language such as JavaScript, by applying the SHA256 hashing function to the revealed seed and comparing the output with the hash which was shown earlier. It can also easily be confirmed online using tools such as https://xorbin.com/tools/sha256-hash-calculator

INDEPENDENT VERIFICATION

Each game result can be verified independently using the algorithmic formula that we use to generate the result. We have created an easy way for you to execute this code directly from your browser. It runs the exact same code which is shown below, without the hassle of having to set up Node.js on your home computer. Just pass in the three parts of the seed mentioned above (the EOS Hash, the server seeds and the nonces). These elements are all best retrieved from the Provably Fair popup dialog found on the PvP Duel page, as you can easily copy and paste each of them.

Note: Our Random Number Generator algorithm was updated on 19th Oct 2022.

For all games played before PvP Play ID #201,649,533, please use this code for independent verification instead.

If you have any further questions about our provably fair system, please do not hesitate to contact our support team for more help and information.


CSGORoll Logo
TikTokTwitterInstagramDiscordTwitchKick
CSGORoll Logo


TikTokTwitterInstagramDiscordTwitchKick

VisaMasterCardNetellerSkrillNuveiCheckoutCoinsPaidZenPayPalGoogle PayG2AKinguinTrustJumioShufti

BitcoinEthereumSolanaUSDCUSDTLitecoinRipple

CSGORoll is operated by Feral Holdings Limited (Registration No. 171519), having its registered address at 9 Barrack Road, Belize City, Belize.

Payments may be handled on behalf of Feral Holdings Limited by Feral Entertainment (Cyprus) Limited (Registration No. HE388908), having its registered address at 1, Avlonos, Maria House, Nicosia, 1075 Cyprus.

© Copyright 2016 - 2025 | CSGORoll.com | All rights reserved.

Age Restricted 18+