Solved exactly, and checked
Any solver can print a strategy. The real question is whether it’s right. In two-player poker there is a hard test: give the strategy to a perfect opponent who knows it, let them find the best counter-play over every card that can come, and count what they win. We ran that test wherever HydraSolver solves exactly, and had a separate program check the figures: heads-up hold’em and short deck from the flop, every Omaha game on the river, stud from the street its exact solve takes over, and each draw game’s last betting round. The hold’em and Omaha pages also measure the sims the app solves with where it groups similar hands.
- 21 gameswith a published proof
- 63 spotseach measured exactly
- Under 0.021%of the pot, the most any spot solved exactly gives up
Hold’em
The app’s own heads-up flop solve, put to the hard test over every turn and river card. The flop sims that group similar hands on the turn and river get the standard flop test on the same pages.
- No-Limit Hold’emHeads-up from the flop, solved exactly0.021%of the pot, the most a perfect opponent takes after 1,000 iterations3 spots, every one matched by a separate checkerRead the proof
- Short Deck Hold’emHeads-up from the flop, solved exactly0.018%of the pot, the most a perfect opponent takes after 1,000 iterations3 spots, every one matched by a separate checkerRead the proof
Omaha
The app’s own heads-up river solve, put to the hard test: with no card left to come, a perfect opponent’s best counter-play is worked out exactly, hand by hand. The river sims the app solves every other river with are measured the same way on each page.
- Pot-Limit OmahaHeads-up river, solved exactly0.0065%of the pot, the most a perfect opponent takes after 1,000 iterations3 spots, every one matched by a separate checkerRead the proof
- 5-Card PLOHeads-up river, solved exactly0.0064%of the pot, the most a perfect opponent takes after 1,000 iterations3 spots, every one matched by a separate checkerRead the proof
- 6-Card PLOHeads-up river, solved exactly0.0031%of the pot, the most a perfect opponent takes after 1,000 iterations3 spots, every one matched by a separate checkerRead the proof
- PLO8Heads-up river, solved exactly, hi-lo eight or better0.00081%of the pot, the most a perfect opponent takes after 1,000 iterations3 spots, every one matched by a separate checkerRead the proof
- Big OHeads-up river, solved exactly, hi-lo eight or better0.0013%of the pot, the most a perfect opponent takes after 1,000 iterations3 spots, every one matched by a separate checkerRead the proof
Stud games
Each proof solves three spots heads-up from the street where HydraSolver’s exact solve takes over, and shows what a perfect opponent could win against the result.
- RazzHeads-up, 5th street to the showdown0.0049%of the pot, the most a perfect opponent takes3 spots, every one matched by a separate checkerRead the proof
- Seven Card StudHeads-up, 6th street to the showdown0.0027%of the pot, the most a perfect opponent takes3 spots, every one matched by a separate checkerRead the proof
- Stud Hi-LoHeads-up, 6th street to the showdown0.00076%of the pot, the most a perfect opponent takes3 spots, every one matched by a separate checkerRead the proof
- High-Low ChicagoHeads-up, 6th street to the showdown0.00065%of the pot, the most a perfect opponent takes3 spots, every one matched by a separate checkerRead the proof
- Five Card StudHeads-up, 4th street to the showdown0.0078%of the pot, the most a perfect opponent takes3 spots, every one matched by a separate checkerRead the proof
Draw games
Each proof solves the last betting round of three heads-up hands, between the hands each player brings to it, and shows what a perfect opponent could win against the result.
- 2-7 Triple DrawHeads-up, the last betting round0.0016%of the pot, the most a perfect opponent takes3 spots, every one matched by a separate checkerRead the proof
- 2-7 Single DrawHeads-up, the last betting round0.0030%of the pot, the most a perfect opponent takes3 spots, every one matched by a separate checkerRead the proof
- 2-7 Double DrawHeads-up, the last betting round0.0022%of the pot, the most a perfect opponent takes3 spots, every one matched by a separate checkerRead the proof
- A-5 Triple DrawHeads-up, the last betting round0.0018%of the pot, the most a perfect opponent takes3 spots, every one matched by a separate checkerRead the proof
- A-5 Single DrawHeads-up, the last betting round0.0027%of the pot, the most a perfect opponent takes3 spots, every one matched by a separate checkerRead the proof
- A-5 Double DrawHeads-up, the last betting round0.0023%of the pot, the most a perfect opponent takes3 spots, every one matched by a separate checkerRead the proof
- BadugiHeads-up, the last betting round0.0018%of the pot, the most a perfect opponent takes3 spots, every one matched by a separate checkerRead the proof
- BadaceyHeads-up, the last betting round0.000082%of the pot, the most a perfect opponent takes3 spots, every one matched by a separate checkerRead the proof
- BadeuceyHeads-up, the last betting round0.000064%of the pot, the most a perfect opponent takes3 spots, every one matched by a separate checkerRead the proof
How each proof is checked
A number from a solver about its own strategy is only as good as the code that computed it. Every proof is checked by a separate program, and most a second way too.
A second program, written separately
A checker in a different language reads only the saved strategy, rebuilds the game from its rules (the betting, who acts first, the cards each hand can meet, the showdown) and computes its own best responses. On every spot solved exactly it found the same figures, and every decision matched the rules.
A second check for stud and draw
Stud: a reference solver written separately in Python valued a spot in each game, and HydraSolver agrees with it. Draw: which hands can meet, and what each wins at the showdown, matches counting every pair of hands one at a time.
A spot with a textbook answer
A bet with the best hand or nothing against a hand that only catches bluffs has a known answer. In stud and draw, a bet of 1 into a pot of 5: bluff a sixth of the time, call five times in six (single and double draw’s smaller pots have answers of their own). In hold’em and Omaha, a pot-sized bet: bluff 1.5 of 8 air hands, call half the time. HydraSolver finds every answer.
What a proof covers
Exact
Heads-up hold’em and short deck flop sims that fit in memory, heads-up Omaha river sims, heads-up stud from the street where each game’s exact solve takes over, and the last betting round of each draw game: every hand, every card.
Estimated
Everything else is solved from sampled deals, most of it with similar hands grouped together: the earlier streets and rounds, three-handed stud, Omaha flop and turn sims, most multiway sims, and hold’em and short deck flop sims too big for memory. The flop test grades those flop sims’ flop strategy; the rest is measured in play, which is an estimate, not a proof.
Not yet
The double-board games have no published proof yet. Theirs will follow here.
Measured with the solvers in HydraSolver 1.1.96, 1.1.97 and 1.1.98 (October 13 to 18, 2026). Exploitability is the average of what a best response wins against each seat’s strategy, as a share of the pot at the start of the spot.