ExactOdds · provably fair · npm package

The dice can't lie.

A provably-fair casino rule library. Fair outcomes via commit-reveal, plus CuNi-proven identical game rules on every runtime — Python, JavaScript, TypeScript, C, and C++ print byte-identical results, verified with cmp, not claimed. Releases carry source-hash-named receipts for content-addressed verification.

Source on GitHub Read the paper

What ExactOdds is

ExactOdds makes dice that can't lie. It provides the core building blocks for games of chance — dice rolls, coin flips — with the math out in the open and every result verifiable. If a result can't be proven fair, it is refused.

Here is why that matters. An online game runs the same code on many platforms — a phone, a browser, a server — and players have to trust that the house didn't tilt the odds on any one of them. ExactOdds removes the need for trust: the reference games are run through five programming languages — Python, JavaScript, TypeScript, C, and C++ — and all five must print byte-identical results, checked mechanically, not claimed.

If five independent implementations agree down to the last byte, the game can't favor the house on one platform and rob it on another. A disagreement isn't smoothed over — it stops the line. The refusal is the guarantee.

Provably fair has two halves, and most products only sell one. Fair outcomes — nobody can rig the draw — come from commit-reveal: the house commits to the result before you play, then reveals. Identical rules on every runtime — the game can't favor the house on one platform and rob it on another — come from CuNi's exactness contract: the same program must produce the same output on every seat, or the path is refused. ExactOdds is the missing second half, packaged as a casino rule library.

The code is open source on GitHub, with a paper in the repository describing the method and an operator one-pager for anyone running games. It is dual-licensed: free under AGPL-3.0, or a commercial license from the lab.

Provably fair isn't a slogan here — it is a test the code has to pass, on every platform, every time.

What it is

Provably fair gaming primitives built on CuNi's exactness law: the same program must produce the same output on every seat, or the path is refused. Fair outcomes use commit-reveal; identical rules on every runtime use the exactness contract. Every release carries source-hash-named receipts, so a verifier can pin the exact code that was audited.

License

Dual license: AGPL-3.0 or Slid Phi Labs commercial. Operator one-pager in the repo.