Is it rigged? Here's how to check.

If real money is on a baseball game decided by dice, you should know exactly how the dice work, what the game is told, and what you are trusting us for. This page says all of it, including what we cannot prove yet.

The short answer

How an at-bat works

  1. Every player has a card built from his real season, adjusted for his era, so a hitter from 1968 is measured against the pitching of 1968. His card splits 100 slots among the things he really did: strikeout, walk, single, double, triple, home run, and the different kinds of outs.
  2. Two 20-sided dice are rolled, one for the batter and one for the pitcher. The higher die wins the duel and decides whose card is used for this at-bat. A tie is simply rolled again.
  3. One roll from 1 to 100 reads the winner's card. That roll is the play: a home run, a strikeout, a groundout.

In a league game the dice come from a secret number the server picks for that game when it is scheduled, long before anyone sets a lineup for it. The number's fingerprint is published at once, and the number itself is revealed when the game ends, so anyone can replay the game and check every roll. See “Check any game yourself” below. The mock draft and the quick game run on your own device, with your device's random numbers, and are not checked this way.

What the game is told, and what it is not

To play a game, the engine is given only:

It is never told who owns a club, who the commissioner is, what the league's buy-in is, or what the standings are. It has no way to favor anyone, because it doesn't know there is anyone to favor.

What we measured

On October 2, 2026, we ran the game's own engine and looked for bias toward the home side, the away side, the batter or the pitcher.

TestWhat a perfectly even game showsWhat we measured
The same club on both sides, 20,000 games: how often the home side won50%, give or take 0.7 points49.78%
Who won the dice duel, across about 1.5 million at-bats50% eachBatter 49.98%
Pitcher 50.02%
Two different clubs trading home and away, 10,000 games each way: one club's win rateThe same both ways, give or take 1.4 points53.75% at home
53.04% on the road

Being the home team or the road team makes no difference to who wins. The game has no home-field advantage built in, which is different from real baseball.

These checks show the game doesn't favor a side. They don't prove every card matches history to the decimal, and we will add more tests over time. They measure bias in the dice, not the quality of your roster: in the third test, one club won about 53% of its games overall because its roster was a little stronger, which is exactly what you'd want.

Read the engine yourself

The engine's source code is public on this site: engine.js and dice-engine.js. The server does not keep its own copies. It loads the engine, the dice and the player data from a fixed, public address, and runs each file only if its fingerprint matches the one pinned in the server's code. The game check page does the same check on your device, with rng.js (the dice), sim-core.js and sim-data.json alongside them.

Check any game yourself

This is live. Every league game, including free tables, gets its own secret number the moment it is scheduled. We publish the number's SHA-256 fingerprint right away. Nobody can see the number until the game is over, and the server cannot change it afterward without the fingerprint no longer matching.

When the game ends we reveal the number. The game check page then runs, on your own device: it confirms the number matches its fingerprint, downloads the five files of the engine from their public, fixed address and confirms each matches the fingerprint our server has pinned, and replays the game from the number using the exact clubs and settings the server was given. If every play and the final score come out identical, the dice were what they should be. Any game page shows its fingerprint, and a finished game has a “Check this game’s dice” link.

We tested it on our own server before saying so: a finished game was replayed independently from the public files and matched all 73 plays and the score.

What a replay does not prove. It cannot show that our server ran exactly the published engine, because you are trusting the server for that. And it cannot rule out that we tried many secret numbers in advance and kept one we liked, though we have no reason to, and a game's lineups and settings are not known when its number is chosen. The check makes the dice fixed before the game and the result a pure outcome of the numbers. It does not make us unable to cheat in every way, and we won't claim it does.

Try it free, as long as you like

The mock draft, the quick game, and a private league with no buy-in all run the same engine you've just read about. Play until you're comfortable.