SpyDrop uses the Provably Fair algorithm so that any player can verify the fairness of a game. The result of a case or an upgrade is determined by a server seed fixed in advance, your client seed and the game number, so it cannot be tampered with once the game has started.
Before the game you see the hash of the server seed, so the server can no longer silently replace the source data.
Your seed and the game number take part in the calculation, so the result is not formed by the server alone.
Enter the data of a game. The calculation runs in your browser and nothing is sent to the server.
Fill in the game data and press “Verify”: the rolled number and the item will appear here.
Server seed + Your seed + Game number = Fair result
The server picks a random server seed and shows only its SHA-256 hash. The seed cannot be swapped afterwards: the hash would stop matching.
HMAC-SHA256 is calculated for every game. The key is the server seed as a 64-character hex string, exactly as it is, not decoded into bytes. The message is built from the kind of game, the game, your client seed and the game number.
The first 8 hex characters of the hash give a number from 0 to 4,294,967,295. It becomes a ticket from 1 to 100,000,000: floor(number × 100,000,000 / 2^32) + 1.
In the odds table at the time of the game every item has its own ticket range. The item whose range contains the ticket drops.
The threshold is floor(chance × 100,000,000). The upgrade wins if the ticket is not greater than the threshold.
The server seed is revealed when you rotate your seeds. After that any game of the pair can be recalculated in your browser on this page or with your own code.
The key is the server seed’s hex string as it is (64 characters), not the bytes decoded from it. This is where most self-made checks go wrong.
You can verify a game you have played with the “Verify” button in the case and upgrade history.