Crazy Cat Lady Games · Offline model audit

One crash game. Three simulation runs.
300,000,000 simulated rounds.

Pigeon Heist is one international crash game with the same payout model in every country. These three independent 100-million-path simulations retain their original Paris, Brazil and South Africa labels. Each uses a different reproducible random stream; the labels do not represent separate games.

Applies to new twelve-step rounds. Older rounds already in progress finish under their original rules. All displayed returns are play credits.

100Mpaths per region
97.000%theoretical RTP, rounded
3.000%theoretical house edge, rounded
12cashout checkpoints

RTP measures all staked credits, including losing rounds. A 97% RTP means about 97 gross credits returned per 100 credits staked over repeated play. It is not a 97% chance of winning. Rain is already funded inside this model.

Paris

100,000,000 paths · 10-credit stake · gross return includes the original stake

Independent seed

Swipe the table sideways to see RTP and confidence intervals →

Cash out afterBase targetReach / paidAvg. gross winMeasured RTP95% intervalHouse edge
Steal 11.10×88.139%11.005 credits96.995%96.988%–97.002%3.005%
Steal 21.25×77.534%12.510 credits96.991%96.981%–97.002%3.009%
Steal 31.45×66.825%14.514 credits96.992%96.979%–97.005%3.008%
Steal 41.75×55.367%17.519 credits96.998%96.981%–97.015%3.002%
Steal 52.10×46.141%21.024 credits97.008%96.988%–97.029%2.992%
Steal 62.60×37.269%26.029 credits97.006%96.982%–97.031%2.994%
Steal 73.25×29.818%32.534 credits97.010%96.981%–97.039%2.990%
Steal 84.10×23.637%41.039 credits97.002%96.968%–97.036%2.998%
Steal 95.20×18.637%52.044 credits96.993%96.954%–97.033%3.007%
Steal 106.60×14.685%66.049 credits96.991%96.945%–97.036%3.009%
Steal 118.20×11.819%82.053 credits96.975%96.923%–97.027%3.025%
Steal 1210.00×9.697%100.000 credits96.973%96.915%–97.031%3.027%

Base targets are before Rain. Each row is a separate stopping policy applied to the same simulated paths; do not add the row returns together. A rare earlier 10× settlement counts as paid in later rows.

3,289,385Rain events
0.7001%Rain per eligible successful steal
1,043,029,883Uint32 draws consumed
11.5ssimulation runtime

What the numbers say

The 36 individual region/step estimates range from 96.973% to 97.026%. All 36 agree with the exact model within the simultaneous 95% intervals.

The table shows ordinary 95% intervals. The JSON also contains Bonferroni intervals for all 36 region/step comparisons together, using z=3.19695. Statistical agreement is evidence of consistency; it is not proof that a live RNG is fair.

Actual engine cross-check

9,080 scripted boundary and payout cases, plus 5,000 random paths and 28,731 transition checks, were compared against createDemoGame. This covers ordinary wins, failures, each Rain boundary, cent payouts, and early or final 10× caps with the same random-draw order.

One path, twelve possible exits

A full path records what would happen if play continued. Each row asks what would have been paid if the player stopped after that steal. Rows within a region therefore share random paths and are correlated. The simulation generated 300,000,000 full paths, not twelve times that many.

Quantized probabilities and rounding

Success thresholds use the game’s imported curved functions and exact Uint32 cutoffs. Rain is checked only after a successful eligible steal. Gross payouts round to the nearest cent, with half cents rounded up; rewards stop at 10×. Exact dynamic programming enumerates all reachable multiplier states.

Scope and limits

This is an offline audit of the demo’s mathematical model and transition mapping. Its deterministic AES sampler is for reproducibility. It does not certify browser entropy, server security, a competition leaderboard, regulatory compliance, or real-money suitability. Play-credit RTP uses the same returned-credits / staked-credits definition.

Exact rounding check at five stakes

These are analytical results, not extra simulations. Each entry includes quantized Rain, quantized survival, cent rounding, and the 10× cap. Tiny differences above 97% come from the Uint32 threshold rounding.

StakeLowest exact RTPHighest exact RTPSteps
1.00 credits97.000000015%97.000000170%All 12
1.10 credits97.000000013%97.000000155%All 12
2.50 credits97.000000012%97.000000157%All 12
10.00 credits97.000000015%97.000000170%All 12
100.00 credits97.000000015%97.000000170%All 12
Reproduce this audit
npx tsx scripts/curved-payout-analysis.ts 100000000 cclg-curved-three-regions-2026-10-08-v1

Math version: demo-curved-rain-inclusive-97-12-v6
Audit seed: cclg-curved-three-regions-2026-10-08-v1
Started: 2026-10-08T09:27:11.882Z
Finished: 2026-10-08T09:27:47.298Z

{
  "src/game/demo.ts": "ae96f2d002fba56cf7800f59007f47442f0c6551d42149088eb93cea777f4f1f",
  "src/game/curved-math.ts": "4b0b9a8520b2e77ae2f69a12378639c6204f7754c18a2bd47f2ccda9c52e394e",
  "scripts/curved-payout-analysis.ts": "2cf7f00fbd7a2bd48fe04325732a3c1254248ff6210f17f2fedc4cc72f425ff0"
}

Audit sampler: SHA-256-derived AES-256-CTR key per region, zero IV, little-endian 32-bit words. Full keys, draw counts, exact tables, confidence intervals, and tail/Rain metrics are saved in report.json.

FREE-PLAY MODEL · 9 OCTOBER 2026

Crumb Cascade: 100 million complete rounds

This model now powers Crumb Cascade, the main free-credit slot. Unfinished classic Great Braai Robbery bonuses retain their original rules on a separate recovery page. These results apply to the frozen Cascade candidate, not the classic slot, and are not laboratory certification.

Play Crumb Cascade with free credits → Real server outcomes, saved bonus sequences and recoverable rounds. It shares your classic-slot practice account; credits have no cash value.

Try the Crumb Cascade animation preview → Six selected saved outcomes show falling food, growing multipliers and Buffet Raid. This is a visual review with no wagers or player accounts; it does not represent typical win frequency.

Open the separate testing page for pause, replay and recovery controls. These tools are not part of normal play.

One paid stake covers the initial board, every winning refill and all eight free sequences when the feature is awarded. The model was selected on development samples, frozen, then tested once on ten fresh streams of ten million paid rounds each.

97.0919%measured complete-round RTP
2.9081%estimated house edge
43.90%rounds returning any credits
1 in 62.49paid rounds award the feature

Approximate 95% RTP interval: 97.0289%–97.1549%. The target was approximately 97%; this candidate is not claimed to have exactly 97.000% theoretical RTP.

Part of the paid roundRTP contribution
Initial base board39.6204%
Additional base cascades36.9751%
All free feature sequences20.4964%
Complete paid round97.0919%

An award is not always a profit

24.96% of rounds returned less than the stake; 0.55% broke even; 18.39% returned more than the stake. Losing rounds stay in the RTP denominator.

Cross-checks and limits

A separately written Python model matched 2,451 full transcripts. Its own statistical sample and a separate one-million-round crypto/rand smoke were consistent with the holdout. The largest observed return was 362.8×; neither the 5,000× round ceiling nor the 64-stage limit was encountered. That does not establish their probability as zero.

The holdout uses a reproducible offline PCG generator with the shared rejection sampler. It estimates this frozen model’s return; it does not certify a live random source, server security or regulatory compliance. The main game uses server-owned outcomes and balances. The saved-outcome animation preview remains available for visual review. Real-money integration and certification remain separate work.

Candidate settings and evidence

5 × 3 cells, 20 paylines, consumable Wilds, a 1/2/3/4 base ladder and 2/3/4/6 feature ladder. Each sequence resets its ladder. Three simultaneous bags can award eight free sequences once; no feature retriggers.

Model: braai-crumb-cascade-candidate-002
Configuration SHA-256: 289bddbd461534c087727845b8f4494879821a2a8eb9cfa71c2741c6922a262b
Complete paid rounds: 100,000,000
Stake: 10 play credits
Holdout seed: crumb-candidate-002-frozen-holdout-v1

Full holdout JSON · Frozen configuration · Internal validation checks

Payout distribution CSV · Stage contributions CSV · Chain lengths CSV · Candidate comparison CSV