{
  "timestamp": "2026-08-16T22:24:48+09:00",
  "duration": "6m53.389230083s",
  "config": {
    "simulations": 30000000,
    "category": "all",
    "game": "all",
    "seed": "transparency-report-2026-08-16",
    "plinkoReshapeTrials": 4000,
    "houseEdges": {
      "blackjack": 0.01,
      "coinflip": 0.01,
      "crash": 0.01,
      "dice": 0.01,
      "hilo": 0.01,
      "keno": 0.01,
      "limbo": 0.01,
      "mines": 0.01,
      "plinko": 0.01,
      "roulette": 0.01,
      "spree": 0.02,
      "wheel": 0.01
    }
  },
  "summary": {
    "totalTests": 43,
    "passed": 43,
    "failed": 0,
    "passRate": 1
  },
  "profitability": [
    {
      "gameName": "dice",
      "simulations": 30000000,
      "totalBetAmount": 30000000,
      "totalPayout": 29700463.320057098,
      "totalProfit": 299536.6799429022,
      "actualEdge": 0.00998455599809674,
      "expectedEdge": 0.01,
      "tolerance": 0.005,
      "edgeDeviation": -1.544400190326041e-05,
      "winCount": 15000234,
      "lossCount": 14999766,
      "winRate": 0.5000078,
      "passed": true,
      "details": "edge=0.9985% expected=1.0000% dev=-0.0015% tol=0.5000%",
      "stdDevMultiplier": 0.9899999998782627
    },
    {
      "gameName": "limbo",
      "simulations": 30000000,
      "totalBetAmount": 30000000,
      "totalPayout": 29545680,
      "totalProfit": 454320,
      "actualEdge": 0.015144,
      "expectedEdge": 0.01492537313432829,
      "tolerance": 0.005,
      "edgeDeviation": 0.0002186268656717092,
      "winCount": 14772840,
      "lossCount": 15227160,
      "winRate": 0.492428,
      "passed": true,
      "details": "edge=1.5144% expected=1.4925% dev=+0.0219% tol=0.5000%",
      "stdDevMultiplier": 0.9998853230565993
    },
    {
      "gameName": "mines",
      "simulations": 30000000,
      "totalBetAmount": 30000000,
      "totalPayout": 29699526.189505424,
      "totalProfit": 300473.81049457565,
      "actualEdge": 0.010015793683152521,
      "expectedEdge": 0.01,
      "tolerance": 0.005,
      "edgeDeviation": 1.579368315252072e-05,
      "winCount": 14869328,
      "lossCount": 15130672,
      "winRate": 0.49564426666666667,
      "passed": true,
      "details": "edge=1.0016% expected=1.0000% dev=+0.0016% tol=0.5000%",
      "stdDevMultiplier": 0.9986463149090257
    },
    {
      "gameName": "crash",
      "simulations": 30000000,
      "totalBetAmount": 30000000,
      "totalPayout": 29704696,
      "totalProfit": 295304,
      "actualEdge": 0.009843466666666667,
      "expectedEdge": 0.01,
      "tolerance": 0.005,
      "edgeDeviation": -0.00015653333333333352,
      "winCount": 14852348,
      "lossCount": 15147652,
      "winRate": 0.49507826666666666,
      "passed": true,
      "details": "edge=0.9843% expected=1.0000% dev=-0.0157% tol=0.5000%",
      "stdDevMultiplier": 0.9999515519083824
    },
    {
      "gameName": "coinflip",
      "simulations": 30000000,
      "totalBetAmount": 30000000,
      "totalPayout": 29703021.48005712,
      "totalProfit": 296978.5199428797,
      "actualEdge": 0.00989928399809599,
      "expectedEdge": 0.01,
      "tolerance": 0.005,
      "edgeDeviation": -0.00010071600190401063,
      "winCount": 15001526,
      "lossCount": 14998474,
      "winRate": 0.5000508666666666,
      "passed": true,
      "details": "edge=0.9899% expected=1.0000% dev=-0.0101% tol=0.5000%",
      "stdDevMultiplier": 0.9899999948756374
    },
    {
      "gameName": "keno",
      "simulations": 30000000,
      "totalBetAmount": 30000000,
      "totalPayout": 29705175.71998536,
      "totalProfit": 294824.2800146416,
      "actualEdge": 0.009827476000488052,
      "expectedEdge": 0.010000000000000009,
      "tolerance": 0.005,
      "edgeDeviation": -0.00017252399951195665,
      "winCount": 7501307,
      "lossCount": 22498693,
      "winRate": 0.25004356666666666,
      "passed": true,
      "details": "edge=0.9827% expected=1.0000% dev=-0.0173% tol=0.5000%",
      "stdDevMultiplier": 1.714829894700555
    },
    {
      "gameName": "wheel",
      "simulations": 30000000,
      "totalBetAmount": 30000000,
      "totalPayout": 29703522.900003906,
      "totalProfit": 296477.09999609366,
      "actualEdge": 0.009882569999869788,
      "expectedEdge": 0.010000000000000009,
      "tolerance": 0.005,
      "edgeDeviation": -0.00011743000013022045,
      "winCount": 15002899,
      "lossCount": 14997101,
      "winRate": 0.5000966333333333,
      "passed": true,
      "details": "edge=0.9883% expected=1.0000% dev=-0.0117% tol=0.5000%",
      "stdDevMultiplier": 1.0951492634082414
    },
    {
      "gameName": "plinko",
      "simulations": 30000000,
      "totalBetAmount": 30000000,
      "totalPayout": 29735427.00000284,
      "totalProfit": 264572.9999971613,
      "actualEdge": 0.008819099999905378,
      "expectedEdge": 0.008398437500000022,
      "tolerance": 0.005,
      "edgeDeviation": 0.0004206624999053554,
      "winCount": 6797770,
      "lossCount": 23202230,
      "winRate": 0.22659233333333334,
      "passed": true,
      "details": "edge=0.8819% expected=0.8398% dev=+0.0421% tol=0.5000%",
      "stdDevMultiplier": 4.1168632568381325
    },
    {
      "gameName": "plinko-reshape",
      "simulations": 108192,
      "totalBetAmount": 108192,
      "totalPayout": 107127.21777355995,
      "totalProfit": 1064.7822264400456,
      "actualEdge": 0.009841598514123473,
      "expectedEdge": 0.009841598514123473,
      "tolerance": 1e-06,
      "edgeDeviation": 0,
      "winCount": 0,
      "lossCount": 0,
      "winRate": 0,
      "passed": true,
      "details": "108192 reshapes (random removals + tilt-bars + full funnels + presets, 4000 random/board); house edge held in house favor on every board; worst single-board RTP move +0.000000% (LOW/15 rows: base 99.0009% \u2192 reshaped 99.0009%); RTP preserved exactly in 108192, widened in 0 (max +0.0000%); capViolations=0 nonFinite=0",
      "stdDevMultiplier": 0
    },
    {
      "gameName": "roulette",
      "simulations": 30000000,
      "totalBetAmount": 30000000,
      "totalPayout": 29193136,
      "totalProfit": 806864,
      "actualEdge": 0.026895466666666666,
      "expectedEdge": 0.02702702702702703,
      "tolerance": 0.005,
      "edgeDeviation": -0.0001315603603603624,
      "winCount": 14596568,
      "lossCount": 15403432,
      "winRate": 0.4865522666666667,
      "passed": true,
      "details": "edge=2.6895% expected=2.7027% dev=-0.0132% tol=0.5000%",
      "stdDevMultiplier": 0.9996382515054044
    },
    {
      "gameName": "hilo",
      "simulations": 30000000,
      "totalBetAmount": 30000000,
      "totalPayout": 29699250.635845643,
      "totalProfit": 300749.36415435746,
      "actualEdge": 0.01002497880514525,
      "expectedEdge": 0.01,
      "tolerance": 0.005,
      "edgeDeviation": 2.4978805145249236e-05,
      "winCount": 23253778,
      "lossCount": 6746222,
      "winRate": 0.7751259333333334,
      "passed": true,
      "details": "edge=1.0025% expected=1.0000% dev=+0.0025% tol=0.5000%",
      "stdDevMultiplier": 0.5689217658384126
    },
    {
      "gameName": "blackjack",
      "simulations": 30000000,
      "totalBetAmount": 32675407,
      "totalPayout": 32281058,
      "totalProfit": 394349,
      "actualEdge": 0.012068679052719985,
      "expectedEdge": 0.01,
      "tolerance": 0.005,
      "edgeDeviation": 0.002068679052719985,
      "winCount": 12969660,
      "lossCount": 14461248,
      "winRate": 0.4728119098354309,
      "passed": true,
      "details": "edge=1.2069% expected=1.0000% dev=+0.2069% tol=0.5000%",
      "stdDevMultiplier": 1.070502769499926
    },
    {
      "gameName": "baccarat",
      "simulations": 30000000,
      "totalBetAmount": 30000000,
      "totalPayout": 29414544.76993222,
      "totalProfit": 585455.2300677784,
      "actualEdge": 0.019515174335592612,
      "expectedEdge": 0.019751790000000047,
      "tolerance": 0.015,
      "edgeDeviation": -0.00023661566440743437,
      "winCount": 13785289,
      "lossCount": 13405774,
      "winRate": 0.5069786716319256,
      "passed": true,
      "details": "edge=1.9515% expected=1.9752% dev=-0.0237% tol=1.5000%",
      "stdDevMultiplier": 0.9186447480794101
    },
    {
      "gameName": "spree",
      "simulations": 30000000,
      "totalBetAmount": 30000000,
      "totalPayout": 29404901.466583956,
      "totalProfit": 595098.533416044,
      "actualEdge": 0.019836617780534797,
      "expectedEdge": 0.02,
      "tolerance": 0.005,
      "edgeDeviation": -0.00016338221946520307,
      "winCount": 17030051,
      "lossCount": 12969949,
      "winRate": 0.5676683666666666,
      "passed": true,
      "details": "edge=1.9837% expected=2.0000% dev=-0.0163% tol=0.5000%",
      "stdDevMultiplier": 0.8553810675662582
    }
  ],
  "limboSweep": [
    {
      "gameName": "limbo",
      "simulations": 2000000,
      "totalBetAmount": 2000000,
      "totalPayout": 1960597.8600003636,
      "totalProfit": 39402.13999963645,
      "actualEdge": 0.019701069999818223,
      "expectedEdge": 0.019705882352941174,
      "tolerance": 0.005,
      "edgeDeviation": -4.812353122950891e-06,
      "winCount": 1941186,
      "lossCount": 58814,
      "winRate": 0.970593,
      "passed": true,
      "details": "edge=1.9701% expected=1.9706% dev=-0.0005% tol=0.5000%",
      "betNumber": 1.01,
      "stdDevMultiplier": 0.17063389798139506
    },
    {
      "gameName": "limbo",
      "simulations": 2000000,
      "totalBetAmount": 2000000,
      "totalPayout": 1965264,
      "totalProfit": 34736,
      "actualEdge": 0.017368,
      "expectedEdge": 0.01655629139072845,
      "tolerance": 0.005,
      "edgeDeviation": 0.0008117086092715511,
      "winCount": 1310176,
      "lossCount": 689824,
      "winRate": 0.655088,
      "passed": true,
      "details": "edge=1.7368% expected=1.6556% dev=+0.0812% tol=0.5000%",
      "betNumber": 1.5,
      "stdDevMultiplier": 0.7130093635962996
    },
    {
      "gameName": "limbo",
      "simulations": 2000000,
      "totalBetAmount": 2000000,
      "totalPayout": 1969230,
      "totalProfit": 30770,
      "actualEdge": 0.015385,
      "expectedEdge": 0.01492537313432829,
      "tolerance": 0.005,
      "edgeDeviation": 0.0004596268656717091,
      "winCount": 984615,
      "lossCount": 1015385,
      "winRate": 0.4923075,
      "passed": true,
      "details": "edge=1.5385% expected=1.4925% dev=+0.0460% tol=0.5000%",
      "betNumber": 2,
      "stdDevMultiplier": 0.9998816438834148
    },
    {
      "gameName": "limbo",
      "simulations": 2000000,
      "totalBetAmount": 2000000,
      "totalPayout": 1971672,
      "totalProfit": 28328,
      "actualEdge": 0.014164,
      "expectedEdge": 0.013289036544850363,
      "tolerance": 0.005,
      "edgeDeviation": 0.0008749634551496362,
      "winCount": 657224,
      "lossCount": 1342776,
      "winRate": 0.328612,
      "passed": true,
      "details": "edge=1.4164% expected=1.3289% dev=+0.0875% tol=0.5000%",
      "betNumber": 3,
      "stdDevMultiplier": 1.4091257506354782
    },
    {
      "gameName": "limbo",
      "simulations": 2000000,
      "totalBetAmount": 2000000,
      "totalPayout": 1970690,
      "totalProfit": 29310,
      "actualEdge": 0.014655,
      "expectedEdge": 0.0119760479041916,
      "tolerance": 0.005,
      "edgeDeviation": 0.0026789520958083995,
      "winCount": 394138,
      "lossCount": 1605862,
      "winRate": 0.197069,
      "passed": true,
      "details": "edge=1.4655% expected=1.1976% dev=+0.2679% tol=0.5000%",
      "betNumber": 5,
      "stdDevMultiplier": 1.988924390462091
    },
    {
      "gameName": "limbo",
      "simulations": 2000000,
      "totalBetAmount": 2000000,
      "totalPayout": 1977200,
      "totalProfit": 22800,
      "actualEdge": 0.0114,
      "expectedEdge": 0.010989010989011033,
      "tolerance": 0.006331588677417382,
      "edgeDeviation": 0.0004109890109889672,
      "winCount": 197720,
      "lossCount": 1802280,
      "winRate": 0.09886,
      "passed": true,
      "details": "edge=1.1400% expected=1.0989% dev=+0.0411% tol=0.6332%",
      "betNumber": 10,
      "stdDevMultiplier": 2.984739526323863
    },
    {
      "gameName": "limbo",
      "simulations": 2000000,
      "totalBetAmount": 2000000,
      "totalPayout": 1969900,
      "totalProfit": 30100,
      "actualEdge": 0.01505,
      "expectedEdge": 0.010494752623688236,
      "tolerance": 0.009180410161792881,
      "edgeDeviation": 0.004555247376311763,
      "winCount": 98495,
      "lossCount": 1901505,
      "winRate": 0.0492475,
      "passed": true,
      "details": "edge=1.5050% expected=1.0495% dev=+0.4555% tol=0.9180%",
      "betNumber": 20,
      "stdDevMultiplier": 4.327686852985091
    },
    {
      "gameName": "limbo",
      "simulations": 2525757,
      "totalBetAmount": 2525757,
      "totalPayout": 2496300,
      "totalProfit": 29457,
      "actualEdge": 0.011662642130656275,
      "expectedEdge": 0.010197960407918434,
      "tolerance": 0.013137955773171433,
      "edgeDeviation": 0.0014646817227378407,
      "winCount": 49926,
      "lossCount": 2475831,
      "winRate": 0.019766747157386876,
      "passed": true,
      "details": "edge=1.1663% expected=1.0198% dev=+0.1465% tol=1.3138%",
      "betNumber": 50,
      "stdDevMultiplier": 6.959889162946996
    },
    {
      "gameName": "limbo",
      "simulations": 5051010,
      "totalBetAmount": 5051010,
      "totalPayout": 4981400,
      "totalProfit": 69610,
      "actualEdge": 0.0137814021354145,
      "expectedEdge": 0.01009899010098994,
      "tolerance": 0.013190660966490016,
      "edgeDeviation": 0.00368241203442456,
      "winCount": 49814,
      "lossCount": 5001196,
      "winRate": 0.009862185978645854,
      "passed": true,
      "details": "edge=1.3781% expected=1.0099% dev=+0.3682% tol=1.3191%",
      "betNumber": 100,
      "stdDevMultiplier": 9.881762629393835
    },
    {
      "gameName": "limbo",
      "simulations": 50505555,
      "totalBetAmount": 50505555,
      "totalPayout": 49950000,
      "totalProfit": 555555,
      "actualEdge": 0.010999879122207448,
      "expectedEdge": 0.010009899901000978,
      "tolerance": 0.013268902050836787,
      "edgeDeviation": 0.00098997922120647,
      "winCount": 49950,
      "lossCount": 50455605,
      "winRate": 0.0009890001208777924,
      "passed": true,
      "details": "edge=1.1000% expected=1.0010% dev=+0.0990% tol=1.3269%",
      "betNumber": 1000,
      "stdDevMultiplier": 31.432817239927704
    },
    {
      "gameName": "limbo",
      "simulations": 500000000,
      "totalBetAmount": 500000000,
      "totalPayout": 489181077,
      "totalProfit": 10818923,
      "actualEdge": 0.021637846,
      "expectedEdge": 0.010000990098019719,
      "tolerance": 0.01326915022660265,
      "edgeDeviation": 0.01163685590198028,
      "winCount": 48923,
      "lossCount": 499951077,
      "winRate": 9.7846e-05,
      "passed": true,
      "details": "edge=2.1638% expected=1.0001% dev=+1.1637% tol=1.3269%",
      "betNumber": 9999,
      "stdDevMultiplier": 98.90240636780088
    }
  ],
  "security": [
    {
      "testName": "rng_uniformity",
      "chiSquared": 102,
      "pValue": 0.39796837035720256,
      "degreesOfFreedom": 99,
      "sampleSize": 5000000,
      "passed": true,
      "details": "chi2=102.00 p=3.980e-01 (100 bins, 5000000 samples, reject below p=1e-04)",
      "pValueThreshold": 0.0001
    },
    {
      "testName": "seed_commitment",
      "sampleSize": 1000,
      "passed": true,
      "details": "1000/1000 seed hashes verified"
    },
    {
      "testName": "outcome_reproducibility",
      "sampleSize": 1000,
      "passed": true,
      "details": "1000/1000 identical outcomes with same inputs"
    },
    {
      "testName": "sequential_correlation",
      "sampleSize": 5000000,
      "passed": true,
      "details": "Pearson r=-0.000625 (threshold: |r| < 0.001740 = 3.891/sqrt(4999999))",
      "metric": -0.0006252811196965259,
      "metricBound": 0.0017399293886450839
    },
    {
      "testName": "dice_distribution",
      "gameName": "dice",
      "chiSquared": 91.94,
      "pValue": 0.6796659067624538,
      "degreesOfFreedom": 99,
      "sampleSize": 5000000,
      "passed": true,
      "details": "chi2=91.94 p=6.797e-01 (reject below p=1e-04)",
      "pValueThreshold": 0.0001
    },
    {
      "testName": "coinflip_fairness",
      "gameName": "coinflip",
      "sampleSize": 5000000,
      "passed": true,
      "details": "heads=0.4998 tails=0.5002 dev=0.0002",
      "metric": 0.4997758,
      "metricExpected": 0.5
    },
    {
      "testName": "crash_distribution",
      "gameName": "crash",
      "sampleSize": 5000000,
      "passed": true,
      "details": "below_2x=0.5049 expected=~0.505 dev=0.0001",
      "metric": 0.5049102,
      "metricExpected": 0.505
    }
  ],
  "performance": [
    {
      "testName": "rng_generation",
      "iterations": 100000,
      "totalDuration": "42.769334ms",
      "avgNanos": 427,
      "opsPerSecond": 2338124,
      "passed": true,
      "details": "2338124 ops/sec (avg 427ns, threshold 100000)"
    },
    {
      "testName": "dice_payout",
      "gameName": "dice",
      "iterations": 100000,
      "totalDuration": "386.459\u00b5s",
      "avgNanos": 3,
      "opsPerSecond": 258759661,
      "passed": true,
      "details": "258759661 ops/sec (avg 3ns, threshold 500000)"
    },
    {
      "testName": "limbo_payout",
      "gameName": "limbo",
      "iterations": 100000,
      "totalDuration": "711.041\u00b5s",
      "avgNanos": 7,
      "opsPerSecond": 140638866,
      "passed": true,
      "details": "140638866 ops/sec (avg 7ns, threshold 500000)"
    },
    {
      "testName": "mines_payout",
      "gameName": "mines",
      "iterations": 100000,
      "totalDuration": "856.167\u00b5s",
      "avgNanos": 8,
      "opsPerSecond": 116799643,
      "passed": true,
      "details": "116799643 ops/sec (avg 8ns, threshold 500000)"
    },
    {
      "testName": "crash_payout",
      "gameName": "crash",
      "iterations": 100000,
      "totalDuration": "2.078416ms",
      "avgNanos": 20,
      "opsPerSecond": 48113563,
      "passed": true,
      "details": "48113563 ops/sec (avg 20ns, threshold 500000)"
    },
    {
      "testName": "concurrent_simulation",
      "iterations": 99988,
      "totalDuration": "18.03875ms",
      "avgNanos": 180,
      "opsPerSecond": 5542956,
      "passed": true,
      "details": "5542956 ops/sec with 14 workers (avg 180ns)"
    }
  ],
  "consistency": [
    {
      "testName": "non_negative_payouts",
      "passed": true,
      "details": "0 violations in 500000 tests across 5 games",
      "violations": 0
    },
    {
      "testName": "multiplier_ranges",
      "passed": true,
      "details": "all multiplier ranges valid",
      "violations": 0
    },
    {
      "testName": "edge_cases",
      "passed": true,
      "details": "39/39 edge cases passed",
      "violations": 0
    },
    {
      "testName": "win_probability_convergence",
      "passed": true,
      "details": "dice_over50=0.5006 (exp 0.5) coinflip=0.4987 (exp 0.5) tol=0.0079",
      "violations": 0
    },
    {
      "testName": "ledger_balance",
      "passed": true,
      "details": "bet=100000.00 payout=99152.46 profit=847.54 (expected 1000.00, floor -565.33)",
      "violations": 0
    }
  ]
}