Verification
Last updated: September 18, 2026
Every trainer claims its coaching is accurate. OptimaPoker measures it, the same way you'd audit a trading system: against ground truth, at scale, and adversarially. This page is the summary of those receipts. The numbers below are actual outputs of the audit harnesses, not marketing copy — including the ones that don't flatter us.
1. Coach vs. solver ground truth
Measured July 5–13, 2026 · five committed runs of the same audit binary
The core question: when the coach recommends a play, how much EV does that play give up against an exact game-theory solution of the same spot? The audit deals full games, harvests the coach's real decisions, then solves each spot to equilibrium with the CFR solver and measures the gap.
An earlier and much smaller run (July 5, n=32) produced a headline median of 0.000% of pot at 46.9% agreement. That figure has appeared on this page before and it should not have: it is the smallest and most flattering of five committed runs of the same binary, and the zero median does not survive any of the four later ones. The full set, oldest to newest, is: n=32 median 0.000% / mean 1.31% / agreement 46.9% · n=170 median 0.101% / mean 1.968% / 48.8% · n=137 median 0.144% / mean 2.330% / 48.9% · n=108 median 0.100% / mean 2.243% / 48.1% · n=89 median 0.298% / mean 1.983% / 43.8%. The stable reading across all five is a median of roughly a tenth of a percent of pot, a mean of about 2%, and agreement in the mid-to-high forties.
Read that honestly, because it is not "the coach plays the solver's line." Agreement is a minority in every run: in most graded spots the coach chose a different action from the solver's top one. What the small median says is that the different action usually costs close to nothing — the weaker, true claim, and what you'd expect where two actions are near-indifferent. The tail is where the real work is: the worst spot in the largest run gave up 40.65% of the pot, and every run fails the audit's own internal bar of mean ≤ 0.5% / p90 ≤ 1.0%. The findings go into the fix queue.
Anywhere the live solver lands on your actual spot, you aren't relying on this statistic at all — you get that spot's own equilibrium with its own measured ε, printed on the card.
2. Solver convergence
Measured September 16, 2026 · two live runs of 120 hero postflop decisions each
The live in-app solver targets a measured exploitability of 0.5% of the pot — the convergence bar used by professional desktop solvers — and the app enforces ≤1%: a solution that measures worse than 1% of the street-start pot is discarded rather than shown, and the coach's labelled estimate stands instead. Every solved spot prints its own measured ε on the card, so you are never asked to take the convergence on faith.
The gap between target and gate is deliberate slack, and it is measured: across 138 landed cash solves (two independent live runs of 120 hero postflop decisions each, before and after the change), not one landed between 1% and 2% — in fact none exceeded 1% at all — and the worst observed was 0.80%. That is why the discard bar was tightened from 2% to 1%.
Convergence is also pinned by automated proofs on flop-rooted and turn overbet trees — but to be precise about when those run: they live in the solver crate and execute under an opt-in test mode, not in the default gate, and the release scripts themselves run no tests at all. What does run on the default gate is the solver's analytic suite: Kuhn poker pinned to its exact value of −1/18, the AKQ half-street bluff and defence frequencies pinned to their closed-form values from Chen & Ankenman, an all-in runout enumeration checked against the solver's chance integration, and a brute-force best-response check agreeing to better than 1e-9.
3. Realism at scale
Measured July 6, 2026 · newest committed 100M-hand receipt
The opponents are only worth training against if they behave like real players. Every archetype is calibrated against published population statistics (VPIP, PFR, 3-bet, c-bet, aggression factor, donk/probe and check-raise line shapes), and the whole field is stress-tested in mass simulation:
- 99,999,999 hands (the harness's 100M target, one short) and 800 million actions simulated with zero hard violations — chip conservation, action legality, and hand termination asserted on every single hand. Three separate 100M receipts are committed (July 3, 5 and 6, 2026); all three report zero.
- A coach-line phase plays a hero that always takes the recommended action: zero uncoached decisions, zero illegal recommendations across cash and heads-up, Easy and Hard.
- Per-style × per-skill statistics are checked against the calibrated research bands on every run — checked, not passed. Every committed 100M receipt carries two or three soft-band misses, flagged informational rather than fatal. On the newest run they are: the LAG's preflop raise frequency 17.3% against a 25±7 band, the Station's VPIP 36.8% against 47±9, and the Station's fold-to-3-bet 33.9% against 52±16. All three sit below their band: our two loosest archetypes raise and enter fewer pots than the population data says, and the Station folds to 3-bets less often than it says.
4. Robustness against exploit strategies — and the one line that beats us
Current as of September 18, 2026
A training field you can beat with one weird trick teaches you the trick, not poker. An adversarial harness plays eleven fixed exploit strategies — always-fold, any-two open-jamming, the pure calling station, relentless 75%-pot barrelling, pure-bluff stabbing, premium-only jamming, light 3-bet spam, float-and-stab, river overbet bluffing, a high-SPR overbet bluff, and a three-street value line — one seat down against the shipping bot field, and measures each one's win rate over tens of thousands of hands. The field also adapts: it tracks public frequencies and punishes pattern abuse, the way a live table would.
We quote a range, not a number, and the reason is worth stating: this line stacks off for value, so its result swings about 14 bb/100 between seed sets even at 32,000 hands per estimate. Three independent readings give +17.62, +19.4 and +31.89 ± 6.86 — the same defect measured three times, not three results. A single-seed-set point estimate of this statistic is not meaningful, so we do not publish one. What is reproducible is everything that matters: every run lands many standard errors above zero and far above our bar, Easy exceeds Hard every time, and even the bottom of the range is four times a winning pro. That is an outright failure of our own standard, which is +2.0 bb/100.
The useful part is where the leak is, because we measured that too, and it is not where we first guessed. 78% of the line's edge comes from hands that never see a flop — it sees a flop on only 5.7% of hands. It is an unbounded preflop re-raise train (3bb → 9bb → 27bb → 81bb) run at a field whose fold-to-3-bet is 38–84% depending on archetype, and it simply collects dead money without a board. The first diagnosis blamed the postflop call-down threshold; that was tested directly and refuted — driving the elite bots' fold rate from 57% down to 45% moved the exploit's profit not at all. So this is a preflop re-raise-defence hole, it is recorded as an open defect in our own roadmap, the test that measures it is a ratchet that only prevents it getting worse rather than a passing gate, and it is being fixed.
Why publish this at all? Because a training field you can beat with one line teaches you that line. If you grind our tough tables with a no-bluff 3-bet-everything strategy, you will win, and what you will have learned is a habit that a real tough field would punish. You are entitled to know that before you train against it.
The other ten: nine of them are gated to stay below the +2.0 bb/100 free-money bar against the Hard field, and the blunt ones (the station, the nit, any-two jamming) are heavy outright losers. The tenth — premium-only jamming — is measured as a loser against both fields, but in fairness it carries no upper bound in the test suite at all; what is pinned there is the gap between jamming premiums and jamming any two cards, not a ceiling on its win rate.
Why we never write "unexploitable." What section 4 establishes is robustness against eleven hand-written lines, ten of which currently hold. It is not a best-response bound. "Unexploitable" is a claim about the gap to a best response, and for a nine-handed field we know of no published method to compute one — so the word is reserved for a measured exploitability gap, which is exactly what the heads-up solver in section 2 prints on every card and exactly what this section does not have.
One more correction to what this page used to say: it claimed a companion test showed the exploit gap shrinking as the skill tier rises. There is no such test, and the direction is not uniform. Pure bluffing does worse against the soft field than the tough one, because loose-passive opponents call you down — bluffing is not how you beat fish. And our own measurements found something worse: postflop defence is currently skill-inverted. Facing a ⅔-pot bet, where minimum-defence frequency permits folding 39.8%, the weak bots fold 34–46% (about right) while the elite bots fold 57–60% — the better the bot, the more it over-folds. That is also recorded as an open defect.
5. Solved preflop, shipped as data
Tree inventory current as of September 18, 2026
Preflop coaching is not a hand-typed opinion. The app ships 57 full-ring preflop trees solved in HRC Pro under licence and converted to static chart data. They break down as:
- 10 cash 9-max chip-EV trees — 4, 6, 10, 15, 25, 40, 60, 100, 150 and 200bb, giving continuous coverage from 2.9bb to 256bb.
- 12 tournament 9-max chip-EV trees — 5, 8, 12, 15, 20, 25, 30, 40, 50, 65, 80 and 100bb.
- 32 tournament 9-max ICM trees — eleven at bubble factor 1.15, eleven at 1.50, ten at 2.20. (The 2.20 band stops at 65bb; the other two reach 100bb.)
- 3 10-max trees — cash 100bb, tournament 25bb chip-EV, tournament 15bb at bubble factor 1.50.
The live lookup walks your actual preflop action sequence into the tree rather than matching your hand alone, and every shipped node passes an automated certification check first.
Coverage is not exhaustive and we don't claim it is — and there are two distinct fallbacks, which this page previously described as one. A line no tree carries, or a stack shallower than every depth window, falls back to labelled heuristic charts. A stack deeper than the deepest applicable tree does something different: it is served by that deepest tree and labelled "nearest solved depth (tree Nbb, your stack Mbb) — not an exact solve for your stack." A 300bb cash spot is answered by the 200bb solution; a 120bb spot at bubble factor 2.20 is answered by the 65bb one. That is a real approximation, not a solved answer for your stack, and the card says so — but it is a clamp, not a fallback to heuristics. Either way the coach card names the source it is quoting, every time.
6. Permanent gates — and the tests that are marked failing on purpose
Counted from the source tree, September 18, 2026
The engine crate carries 582 automated tests, of which 564 run on every build gate, including three permanent validation harnesses: a coverage sweep proving every reachable decision is coached and legal (zero coaching gaps), preflop invariants (position monotonicity, no junk opens, push/fold ordering pinned to Nash), and postflop invariants (MDF, pot odds, and bluff ratios pinned to the textbook numbers).
The scope of that matters and we won't shrink it or inflate it. Those tests exercise the hand-typed heuristic charts directly. In live play the solved HRC trees of section 5 override them wherever a tree covers the line, which for a 100bb button-open spot it does — so that specific hand is not what the coach plays today. But those heuristic charts are still what answers every line no tree covers, so the defect is live wherever the fallback is live, the specification stays in the repo unmuted, and it is what a real solved big-blind chart is meant to retire.
The GTO math isn't believed — it's asserted. Where the assertion currently fails, it's written down as a failing assertion rather than deleted.
Method notes
- Audits grade the coach's real in-game decisions, not hand-picked spots.
- The coach never sees opponent hole cards or the runout — it reasons from ranges, with exact card removal, like a player must.
- Read-conditioned advice is priced off the style you tagged, never the opponent's true profile. The app does not tell you whether a read is correct during play; read accuracy is scored after the session.
- Where no equilibrium guarantee exists — multiway pots, and ICM spots, which are general-sum even heads-up — the app says so and labels the advice rather than claiming Nash.
- Receipts are regenerated at release milestones, not after every commit. Each section above carries the date its figures were measured on.
- Where a claim on this page turned out to be wrong, it is corrected in place with the number that replaced it named — see sections 1, 4, 5 and 6.