Skip to content
Clash Watchdoglab count
Menu

How we test

We record rounds from official demos and public broadcasts, then publish what the games did over many rounds, each figure with its sample size, its time and a 95% interval. Nothing here predicts the next round.

Methodology
lab-v2.0
Updated
On this page

Where the rounds come from

Official free demos
Most games are read from the play-money demo the provider publishes itself. The game logic is the provider's own; no money is staked.
Public broadcast feeds
Passive games such as Spaceman publish every round on a public result stream. We read that stream. We never place a bet on it.
No real money, no operator accounts
The lab holds no account with any casino or operator and never stakes real money. Nothing we publish depends on a platform's cooperation.
Every round the feed delivers
Every round the feed delivers is recorded, in order, with its time. Rounds are never sampled, filtered or dropped to shape a figure, and a figure describes behaviour over many rounds, not a short run. When a method is found to miss rounds, the affected rows are archived and counting restarts; see the change log.

When a figure is published

A game's page shows a measured figure only when the sample is large enough and recent enough. Until then it shows what is still needed, never a placeholder number.

Sample gate
At least 10,000 recorded rounds. Below that, intervals are too wide to say anything useful, so the page shows the count still needed instead of a figure. Sample size sets how precise a figure can be. At a fixed 2x cash-out each round returns either nothing or twice the stake, so 1,000 rounds give a 95% interval of about ±6 points, too wide to tell a 97% game from a 91% one, while 20,000 rounds narrow it to about ±1.4 points.
Staleness
If no new round has arrived for 6 hours, the game is marked stale. The last published count stays up with its time, so you can see how old it is. Plinko X, recorded in one fixed daily window, has a longer window of 26 hours.
Self-play lines
Self-play lines use the larger of the sample spread and the paytable spread, and publish only when the 95% interval is within ±5 points.
Coverage
The lab records the rounds it sees, not every round ever played. For example, the JetX listener reconnects about every 35 minutes and misses about 4 rounds each time (roughly 8%). The gaps follow the clock, not the outcomes, so they do not bias the figures; "rounds counted" means rounds the lab recorded.
Every figure
Every measured figure is printed with its sample size (n), its as-of time and its 95% interval. A figure missing any of the three is treated as a bug.

The status stamps

Not started
Collection has not started. No rounds have been counted.
Counting
Rounds are being counted. Results publish once the sample passes the minimum size.
Measured
Counted and published, with its sample size, time and 95% interval.
Stale
No new rounds recently. The last published count is shown with its time.
Table paused
The provider's demo table has had no finished round for 30 minutes. The last count is shown with its time. Collection resumes automatically.
Unavailable
The lab data could not be read just now. Nothing is shown in its place.
Held
Held for review before publishing.

How each figure is calculated

Each figure in plain words, then the one formula behind it. A crash game's return, survival and instant-crash figures can be recounted from the band counts on its page. Other figures, such as the median, the highest multiplier and self-play intervals, need the raw rounds; a sealed day's records are released on request. The code that runs these formulas is not public at this time.

  1. RTP at a fixed cash-out target

    Imagine cashing out every round automatically at a target t. Under this methodology a round counts as reaching t when its crash point is at least t. It then returns t times the stake, and otherwise nothing. RTP at t is the average of those returns. The headline figure on every crash game is Observed RTP @ 2x (fixed cash-out).

    return_i = t  if crash_i ≥ t,  else 0
    RTP@t = (1/n) × Σ return_i
  2. 95% interval on return

    A normal-approximation interval on the per-round return. Intervals built this way contain the true long-run return in about 95 of 100 samples, and they narrow as rounds are added.

    RTP ± 1.96 × s / √n
    s = sample standard deviation of return_i
  3. Wilson interval for shares

    Shares of rounds, such as the instant-crash rate or the share of rounds reaching a target, use the Wilson score interval. It stays inside 0 to 100% and behaves well when a share is small.

    p̂ = k / n,  z = 1.96
    (p̂ + z²/(2n) ± z × √(p̂(1 − p̂)/n + z²/(4n²))) / (1 + z²/n)
  4. Median and highest multiplier

    The median is the multiplier half of the rounds fell below. The highest multiplier is the largest one seen. Both are observed sample statistics, printed without an interval. The highest multiplier says nothing about the next round.

    median = middle value of the sorted crash points
    highest = max(crash_i)
  5. Distribution bins

    The lab feed counts crash points into fixed bins. In the feed's bins the lower bound is included and the upper bound is not, so a round that crashed at exactly 2.00x is counted in 2–3x, not 1.5–2x.

    bins: <1.01, 1.01–1.5, 1.5–2, 2–3, 3–5, 5–10, 10–30, 30+
    bin = [lower, upper)
  6. Survival: share of rounds reaching a target

    Because a round returns either t or nothing, the average return at t divided by t is exactly the share of rounds that reached t. The survival curve is drawn from the measured RTP at each target.

    P(crash ≥ t) = RTP@t / t
  7. Chi-square test

    Where outcomes should be equally likely, such as the faces of a die, a chi-square test compares the counted outcomes with equal shares. A small p-value says the counts are unlikely under equal chances; it does not say which way a future round will go.

    χ² = Σ (O − E)² / E,  df = k − 1
  8. Lag-1 autocorrelation

    We will test whether one round's result is related to the round before it. The feed does not produce this test yet, so no figure is published for it.

    r₁ = Σ (x_i − x̄)(x_{i−1} − x̄) / Σ (x_i − x̄)²

Colour games

In a three-dice colour game the lab records which colours each round shows, and tests them against fair dice: every colour with a 1-in-6 chance on each die, the three dice independent.

What is tested
Each colour's share of all dice against 1/6 (Wilson 95% interval), and one chi-square test across the six counts (df 5, p-value computed on this site). How often a colour shows on exactly 1, 2 or 3 dice, against 75/216, 15/216 and 1/216. Doubles and triples, against 90/216 and 6/216. And the base return without multipliers, against the exact 199/216 (92.13%). Every figure is recomputed from the raw counts and publishes at 10,000 rounds, when the feed is current.
No per-die tests
The feed lists the three dice in the order the provider displays them (a pair first), not by which physical die landed where. A "first die" therefore means nothing, so the lab never tests one die position against another.
Six colours at once
Testing six colours at once raises the chance that one of them misses its 95% range by luck alone to about 26%. The plain-language summary on the game page corrects for this with a Bonferroni correction: a colour is called out of line only when 1/6 falls outside its widened range (about ±2.64 standard errors). Each colour's own 95% interval is still printed.
What is not measured
The provider's stated return includes random multipliers placed on colours before each round. The lab records the colours only, not the multipliers, so that claim is shown as a claim and stays unmeasured. The base return without multipliers is not an RTP.

Methodology versions

lab-v2.0
lab-v2.0 governs how this site computes, gates and displays figures. It is printed next to every measured figure and returned by the API.
crashlab-v1
The collector's first measurement method.
crashlab-v2
Used where the measurement changed: the games restarted on 2026-10-07 (see the change log). Each published summary carries the feed version it was counted under.

The same gates and version are served as JSON at /api/v1/methodology, and every endpoint is listed on the data page.

Change log

  1. Colour games: the dice colour test

    Three-dice colour games now get a dice colour test: colour shares against 1/6, a chi-square test, matches per round, doubles and triples, and the base return without multipliers, with a correction for six colours tested at once. Nothing is published below the sample gate.

  2. Spaceman and SmartSoft counts restarted

    Before any figure was published, the crash lab found two collection faults. For Spaceman, the earlier method recorded the highest multiplier seen on the broadcast, which under-reported the crash point whenever ticks were dropped. For SmartSoft JetX, Helicopter-X and Cricket-X, the collector dropped low rounds. The old rows were archived and excluded, and counting restarted. No earlier figure was ever published.

  3. How We Test replaces the April 2026 methodology

    The lab now measures games from demos and public broadcasts rather than assessing platforms. The earlier document is kept unchanged in the archive.

Earlier version: v1.0.0, April 2026, superseded (operator-audit model, 2026-04).

What a fairness badge lets you check

Every game carries one badge. The badge decides what we say: only provably-fair games are described as checkable round by round.

  • Provably fair

    The provider publishes how a revealed round can be recomputed from its seeds.

    You can checkA single round, yourself: hash the revealed server seed and compare it with the hash shown before play. Commitment checker.

  • Hash-committed

    The result is committed as a hash before it is revealed; you can check that it was not changed after the round, but players cannot influence the seed and there is no published formula from hash to result.

    You can checkThat a result was fixed before the round and not changed afterwards. Not how the hash turns into the result.

  • Certified RNG

    A testing lab has certified the random number generator. Players cannot check a single round themselves; we measure the results over many rounds.

    You can checkNothing per round. Check the long-run figures we count against the provider claim.

  • Live physical draw

    Results come from physical equipment on a live stream, such as dice or a wheel. A single round cannot be checked after the fact; we measure the results over many rounds.

    You can checkNothing per round. Check the counts over many rounds; equal-chance outcomes are compared with equal shares.

  • Unverifiable

    We found no public mechanism for checking a result. Only the pattern of results over many rounds can be measured.

    You can checkOnly the pattern of results over many rounds. We do not describe these games as verifiable.

What we don't do

  • Predict rounds, or say when to play or cash out.
  • Recommend platforms or say where to play.
  • Take money from game providers or operators.
  • Place real-money bets.

History describes behaviour. It does not predict the next round.