What steps will let a person manually verify that the DICE roll was fair?

  • Great question & answer!
    – ripper234
    Sep 1, 2012 at 13:46

1 Answer 1


[Going to answer this one myself.]

Unlike games of chance where you need to trust a machine or a human, SatoshiDICE's results are verifiable, thanks to cryptography, once the secret is released (the next day).

This can be verified without needing any software installed. Here's how:

So for your wagers from Jul 10, 2012 (UTC), get the secret from:

That has been released, and it is:


Then create the SHA-256 hash of that secret with:

Which yields:

  • d75e37bc91915af566276e34624e7477c2a6771fb7898bc4dd1b30ccc0022cfe

Then verify that the resulting hash from that jives with the has from hash.keys for Jul 10, 2012:

So next you grab the transaction ID for your transaction (from the Transactions tab of Bitcoin.org client, or using BlockChain.info).

Then plunk those values in ... for Text to convert, paste the Transaction ID, and for Shared Secret Key use the secret for the day that you verified above.

After you click Calculate hash, you'll get a hex string in the results. The first four alphanumeric characters is the hex representation of your lucky number (from 0000 through ffff hex, or in decimal, 0 through 65,535 decimal). You can convert those values to decimal here:

So if you had bet the "less than 8,000" wager and your lucky number was 8,000 or higher, ... that specific wager didn't win.

As long as the hashes to the secrets are known in advance (and they are, that hash.keys was published in April, a copy of which has been archived here) you can always verify if you should have gotten a winning payout or not:

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.