Provably Fair Checklist
10-point operator audit, with localStorage progress + reset.
Math: Static list — no math.
Where: Embed at the top of every Provably Fair guide.
10-point operator audit, with localStorage progress + reset.
Math: Static list — no math.
Where: Embed at the top of every Provably Fair guide.
Raw HMAC-SHA256 stream → floats + SHA-256 seed-rotation check.
Math: HMAC-SHA256(server, "client:nonce:cursor"); SHA-256 hash check.
Where: Dedicated tool page (/tools/pf-verifier/).
Reproduces Stake-style crash multiplier per round.
Math: 13-hex / 2^52 formula, modulo (33/50/101/25) instant-bust check.
Where: Tool page + linked from any Crash review.
Verifies dice roll + over/under decision.
Math: 4-byte HMAC float × 100 = roll; 1% HE multiplier.
Where: Tool page.
Reproduces Limbo multiplier and compares to player target.
Math: m = (1 − HE) / U, clamped at 1.00×.
Where: Tool page.
Single-zero wheel; reveals number + color + parity + dozen.
Math: floor(U · 37); red/black map.
Where: Tool page.
5×5 board; renders mine positions as a grid.
Math: Inside-out Fisher-Yates of [0..24] with 25 HMAC floats.
Where: Tool page.
Traces ball L/R path through pegs.
Math: One HMAC float per row, < 0.5 = L, ≥ 0.5 = R.
Where: Tool page.
Draws K numbers from pool of N.
Math: Fisher-Yates over [1..N] from HMAC stream.
Where: Tool page.
Reveals sequential card draws.
Math: card_idx = floor(U · 52).
Where: Tool page.
Wheel segment for chosen risk profile.
Math: floor(U · segments); 10/20/30/50 segment presets.
Where: Tool page.
Top-of-shoe cards after Fisher-Yates of 1–8 decks.
Math: Fisher-Yates over 52·decks cards with HMAC stream.
Where: Tool page.
Batch verifies revealed seeds against published hashes.
Math: SHA-256 per row of pasted CSV.
Where: Investigative content; "we audited operator X — here's the chain".
Quantifies operator modulo-bias risk.
Math: Bias = (⌊2^k / N⌋ + 1) / ⌊2^k / N⌋ − 1.
Where: Embed in operator algorithm review articles.
Sortable / filterable table of 16 games × edge / RTP / variance.
Math: Static dataset with sort + category filter.
Where: Home page + "/tools/house-edge/" landing.
Multi-outcome calc: enter (p, payout) rows → EV, Var, σ, CoV, N-bet extrapolation.
Math: EV = Σ pᵢxᵢ; Var = Σ pᵢxᵢ² − EV²; σN = √N · σ.
Where: Top of the casino-math hub page.
N-trajectory bankroll simulator with canvas chart, P10/P50/P90.
Math: Normal random walk with absorbing zero; Mulberry32 + Box-Muller.
Where: Dedicated tool page (/tools/monte-carlo/).
68 / 95 / 99% CI for net result; P(profit); worst 5%.
Math: Normal approx + Beasley-Springer-Moro Φ⁻¹.
Where: Embed in articles about "is X spins enough to know?".
Per-hour expected loss + σ; scaled over a session.
Math: handle/h × HE; σ/h = √spins·bet·σ_unit.
Where: Embed in game choice / RTP guides.
How many bets until the edge is statistically obvious.
Math: N = (z · σ / EV)².
Where: Embed in "how long until I know?" content.
A vs B side-by-side on EV/h, σ/h, RoR, P(profit), N-to-certainty.
Math: Combines Sileo RoR + normal CI + hands-to-certainty.
Where: Use in head-to-head game reviews ("Crash vs Slots").
Quick unit size + max bet + crude RoR for risk profile.
Math: units = bankroll / risk_factor · variance_mult.
Where: Home page or sidebar — beginner-friendly.
Form → printable rules card; persists in localStorage.
Math: Static template + window.print().
Where: Embed at top of every game-strategy guide.
Full Kelly + slider; growth-rate g(f) curve on canvas.
Math: f* = (bp − q) / b; g(f) = p·ln(1+bf) + q·ln(1−f).
Where: Tool page (/tools/kelly/).
Schlesinger/Sileo RoR + finite-horizon profit probability.
Math: RoR = ((1−α)/(1+α))^B, α = adv/σ²; P(profit) = Φ(Na/σ√N).
Where: Tool page (/tools/risk-of-ruin/).
P(drawdown ≥ L% within N bets) + expected max DD.
Math: Lévy reflection + Magdon-Ismail/Atiya 2004 max-DD formula.
Where: Embed in bankroll articles.
MC of Martingale/Paroli/d'Alembert/Fibonacci.
Math: System-specific sizing rule + Mulberry32 trials.
Where: Embed in "betting systems don't work" articles.
MC with early-stop rules; compares to play-through baseline.
Math: Trial loop with absorbing barriers at ±stop levels.
Where: Embed in stop-rule effectiveness articles.
Sweeps f, picks argmax growth under ruin-tolerance cap.
Math: g(f) curve + geometric ruin ≈ exp(−2|μ|).
Where: Tool page (advanced /tools/bet-sizing/).
P(ruin) + median / mean / IQR of ruin time.
Math: Monte Carlo with absorbing zero.
Where: Embed in deep bankroll content.
Generic bonus EV calculator (deposit + bonus, wagering, HE, cap).
Math: EV = bonus − wager · HE, capped if max cashout.
Where: Top of every "casino bonuses" guide.
Differentiates cashable / sticky / phantom bonuses.
Math: Different withdrawal formulas per archetype.
Where: Embed in "how bonus types work" article.
N · bet · RTP − wagering cost; max cashout cap.
Math: gross_win = N·bet·RTP; net = gross − wager·HE.
Where: Embed in slot bonus reviews.
Cashback − clearing cost; effective HE after rebate.
Math: cashback = pct · (losses|handle); net cashback − wager cost.
Where: Embed in loyalty / VIP guides.
Effective contribution across (amount, weight%, HE) rows.
Math: Σ amount · weight; blended effective HE.
Where: Embed in "how to clear wagering" content.
Ranks bonuses by EV/time so you chase best ROI first.
Math: Greedy sort by EV / time.
Where: Embed in promotions hub.
Real $/hour from rakeback + effective rake rate.
Math: rake/hand × VPIP · hands/h · rakeback%.
Where: Poker section.
P(M ≥ x) curve + EV/round + finite-session band.
Math: Survival = (1 − HE)/x; EV constant = −HE.
Where: Embed in Crash strategy guide.
Variance vs win-chance at constant EV.
Math: m = 99/wc%; Var = p(m−1−EV)² + q(−1−EV)².
Where: Embed in Dice strategy guide.
Multiplier table per (mines, safe reveals).
Math: m = (1−HE) · C(25,r) / C(25−M,r).
Where: Embed in Mines guide.
Random deals; H17+DAS basic-strategy check; score tracking.
Math: Hard/Soft/Pair lookup tables; score in localStorage.
Where: Dedicated trainer page.
Pot odds, required equity, rule-of-2/4 equity, implied EV.
Math: req_eq = call/(pot+2·call); equity ≈ outs · 2 or × 4.
Where: Poker section.
Devigs closing odds → true_p; CLV, EV, Kelly bet sizing.
Math: true_p = (1/closing)·(1+vig); Kelly = (bp−q)/b.
Where: Sports betting hub.
MC of Martingale on Euro / American with table-max cap.
Math: p = 18/37 (Euro) or 18/38 (US); progression with double-on-loss.
Where: Embed in "betting systems debunked" article.
Edge vs true count + bet ramp table.
Math: edge = base + shift·TC; bet ramp by spread/threshold.
Where: Advantage play hub.
Persistent timer with periodic alarm banner.
Math: localStorage interval timer; alarm every X min.
Where: Sticky sidebar widget across the site.
Detects stake escalation from a pasted bet log.
Math: Pre/post-loss avg + double-up freq + linear-regression slope.
Where: Embed in "am I tilting?" article.
5-question gate: 0=green, 1=warn, ≥2=stop.
Math: Sum of ticked flags → verdict thresholds.
Where: Sidebar widget or in-session interstitial.
Monthly cap + buffer → weekly/daily/session limits.
Math: Even split after buffer reserve.
Where: Embed in responsible gambling page.
Staged break plan with concrete dates.
Math: Three severity presets × scheduled actions.
Where: Embed in responsible gambling page.
Two-test RNG audit with p-values.
Math: χ² via Wilson-Hilferty; runs test Z-score.
Where: Embed in operator audit posts.
Longest W/L runs vs Schilling expected.
Math: E[L_N] ≈ log_{1/p}(N(1−p)).
Where: Embed in "is this streak unusual?" articles.
D statistic vs uniform[0,1] with p-value.
Math: D = sup|Fₙ(x) − x|; Marsaglia/Tsang p-value series.
Where: Embed in deep RNG audits.
Posterior on true edge + P(edge > 2× claimed).
Math: Normal-Normal conjugate update.
Where: Embed in long-running operator monitoring.
25 searchable terms.
Math: Static array + live filter.
Where: Sidebar widget or /glossary/ page.
Working pad — add rows manually.
Math: Dynamic table builder.
Where: Internal editorial use only (NOT public — no persistence).
Fee % per chain + monthly cost.
Math: Static fee table per chain.
Where: Embed in deposit guides.
This widget. Browses all 57 tools.
Math: Reads pst_catalog_data() metadata.
Where: Internal planning page (/wp-admin/private/).