Investigation: Moonroll Fake VerifierMoonroll Investigation

Not provably fair

Independent investigation
Audit date · 13 November 2025

Moonroll · Plinko

Moonroll
Investigation

Moonroll · PlinkoNot provably fair

VERIFIER-TO-GAME CONFORMANCE

A fairness checker.
No verifiable game.

Moonroll’s Plinko checker simulates a different game. The live implementation exposes no seed commitment, client seed, or nonce to verify a real bet.

Live implementation reviewed on 13 November 2025.

About this investigation

Independent investigation · Audit date 13 November 2025.

Moonroll’s Plinko checker simulates a different game. The live implementation exposes no seed commitment, client seed, or nonce to verify a real bet.

00

The report in 30 seconds

01 / THE MISSING PROOF

Not verifiable

No commitment.

No reproducible bet.

No pre-bet server seed hash, player client seed, or per-bet nonce. A seed shown later cannot prove a prior commitment.

Live game · verification chain absent

Evidence →

02 / THE FAKE VERIFIER

Mismatch found

The checker simulates

a different game.

It targets 95% RTP against the live game’s advertised ~99%, using different multipliers and inputs not tied to real bets.

Checker · cannot reproduce a live bet

Evidence →

Not provably fair. The checker cannot reproduce a live bet, and players cannot independently verify the game’s outcomes.

Moonroll.io markets its Plinko game as provably fair. Following multiple player reports about the verification flow, we conducted an independent technical review of the live game and the on-site "Plinko Fairness Checker." The review covered the user interface, the bet API, network traffic, cookies, and the source code of the public verifier tool.

The conclusion is that none of the components required for a cryptographically verifiable provably fair system are present in the live game. The verifier tool published on Moonroll's site exists, but it does not match the live game's logic and cannot be used to reproduce a real bet.

01

What a provably fair game requires

A provably fair game makes a cryptographic commitment to its outcome before the player bets, then reveals the underlying randomness afterwards so the player can independently reproduce the result. In practice, that means five components must be present and accessible to the player:

THE MISSING VERIFICATION CHAIN

01 / BEFORE THE BET

No published commitment

No server seed hash is shown before betting.

02 / PER BET

No player seed or nonce

The live API exposes neither input for an independent replay.

03 / AFTER THE BET

No verifiable replay

A seed revealed later has no prior hash to compare against.

If all five are present and the reveal matches the original commitment, a third party can recompute the outcome and confirm it was not manipulated. If any of these components are missing, the chain breaks and the player has no way to verify the result.

02

What the live game actually exposes

Across the live game, the bet API, and the response payloads, none of the required components appear.

The bet request submits only a bet amount, risk level, and number of rows. There is no field for a client seed and no nonce. The bet response returns the final path, the bucket index, and the multiplier — all already computed. The player is never shown a server seed hash before betting; only a raw server seed appears in the bet history afterwards, with no prior commitment to compare it against.

LIVE BET API / WHAT THE PLAYER CAN ACTUALLY VERIFY

BET REQUEST · JSON

{
  "betAmount": 0.1,
  "riskLevel": "LOW",
  "numRows": 8
}

BET RESPONSE · OBSERVED FIELDS

path

Final path already computed

multiplierIndex

Selected bucket index

multiplier

Resulting payout multiplier

The API returns a result, not the proof needed to reproduce it.

No client seed · no nonce · no server seed hash
Moonroll Plinko bet history showing a server seed after the bet.

A Plinko bet record in Moonroll's history view. A server seed is shown after the fact, with no prior commitment hash, no client seed, and no nonce.

03

Why the fairness checker cannot verify a bet

Moonroll publishes a "Plinko Fairness Checker" on its site, presented as a verification tool. Source-code analysis of the checker shows that it does not match the live game in three measurable ways.

TWO SYSTEMS · NO SHARED BET RECORD

A result from the checker is not proof of a live bet.

LIVE GAME

01  INPUT

Bet amount · risk level · rows

02  PROCESS

Hidden server RNG

03  OUTPUT

Path · bucket index · multiplier

FAIRNESS CHECKER

01  INPUT

Client seed + server seed

02  PROCESS

SHA256(seed + row index)

03  OUTPUT

Simulated path + generated multipliers

No published commitment or complete seed record connects these paths.

Different RTP and payout model

LIVE GAME · ADVERTISED

~99%

Fixed payout tables, including 110× and 1000× extremes.

CHECKER · HARDCODED TARGET

95%

A generated multiplier curve, scaled to an expected value of 0.95.

Moonroll on-site Plinko Fairness Checker and its seed input fields.

Moonroll's on-site Plinko verifier tool. It runs a self-contained simulation and cannot reproduce a real bet from the live game.

Because the checker accepts inputs (client seed, server seed) that the live game does not produce, and uses different RTP and multiplier logic, it cannot be used to verify any real bet. It is a self-contained simulation displayed alongside the game, not a verifier of it. It presents the full interface of a verification tool while being structurally incapable of reproducing a single live bet.

04

Requirements against implementation

The comparison covers both the cryptographic verification chain and the checker’s conformance to the live game. Internal seed generation remains opaque; a seed existing internally does not establish a provable commitment to a bet.

VERIFICATION CHAIN / REPLAY / CHECKER CONFORMANCE

Missing proof. Impossible replay. Inconsistent checker.

05

What this means for players

The practical consequence is that players betting on Moonroll Plinko have no cryptographic guarantee about the outcomes. The RTP cannot be independently confirmed, the distribution of multipliers cannot be checked, and historical bets cannot be replayed against published seeds. The system relies entirely on trust in the operator — which is the condition that provably fair gaming was originally designed to eliminate.

WHAT THE EVIDENCE ESTABLISHES

A checker result cannot validate your live bet.

A displayed server seed or a successful simulation is not a cryptographic guarantee. The record lacks the commitment and complete inputs needed to independently replay the outcome.

06

What a working fix requires

A working fix would require Moonroll to implement a real commit-reveal flow, accept a client seed, expose a per-bet nonce, and replace the standalone fairness checker with a verifier that reproduces actual bet outcomes from real seed material. Until those changes are in place, the "provably fair" claim on Moonroll Plinko is not supported by what the game actually does.

  1. 01Implement a real commit–reveal system

    Publish SHA256(serverSeed) before play. Reveal the server seed after rotation so players can check the prior commitment.

  2. 02Support player client seeds

    Let players set a client seed. Use serverSeed, clientSeed, and nonce together in the deterministic RNG.

  3. 03Expose a complete bet record

    Include the server seed hash, client seed, and nonce in bet logs. Provide a downloadable history containing those fields.

  4. 04Replace the detached checker

    Use exactly the live game’s multipliers, RTP model, and RNG. Real serverSeed, clientSeed, and nonce inputs must reproduce the recorded outcome.

07

Conclusion and technical record

PROVABLY FAIR — FAIL

A black-box RNG game marketed as “provably fair.”

Moonroll’s implementation does not meet the requirements of a cryptographically verifiable fairness system.

Regardless of how the internal RTP behaves, the game cannot be independently audited by players, and its fairness claims are unsupported.

TECHNICAL RECORD

Independent audit dated 13 November 2025. Scope: cryptographic fairness primitives and verifier-to-game conformance, assessed through the UI, API, HAR, cookies, and public checker code.