Rich World

Fair dice: check every roll

"Ludo is rigged" is the most common complaint about Ludo apps. In Rich World you do not have to trust us: every game's dice can be checked by anyone.

How it works

  1. Before the first roll, our server picks a secret random code for the game (32 bytes) and shows you its fingerprint: the SHA-256 hash of the code. Tap the shield icon in a Ludo game to see it.
  2. Every die is calculated from that code, never chosen. Roll number k (counting from 0, in the order the dice were rolled) is HMAC-SHA256 with the code as the key and the message matchId:k. We take the first byte below 252 and the die is (byte mod 6) + 1. Bytes 252 to 255 are skipped, so each face is exactly 1 in 6. (If all 32 bytes were skipped, which practically never happens, the message matchId:k:1, then :2 and so on is used.)
  3. When the game ends, the code is revealed. Anyone can check that it gives the fingerprint shown at the start, and that it gives exactly the dice that were rolled. Because the fingerprint was fixed first, we cannot change a single roll without the check failing.

In the app, open a finished Ludo game, tap Check the dice, then Check every roll. The check runs on your phone.

Check one yourself

After checking a game in the app, tap Copy the proof and paste it here. This page checks it in your browser; nothing is sent anywhere.

Example

Code 0000…0000 (64 zeros), match example: fingerprint 66687aadf862bd776c8fc18b8e9f8e20089714856ee233b3902a591d0d5f2925, first five dice 3, 4, 4, 1, 4.

Fair dice cover Ludo games started from 14 October 2026. Gold Coins are play money: nobody wins or loses real money in Rich World.