Heads-up No-Limit Hold’em from the flop, solved exactly
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 turn and river card, and count what they win. We ran that test on three flops of a single-raised pot, solved the way the app solves a heads-up flop sim that fits in your computer’s memory: exactly, every hand on every turn and river card. After 1,000 iterations, the most a perfect opponent can take: under 0.03% of the pot.
- Spot AFlop2♠3♠4♥Pot 6.5 big blinds, 47 behind0.021%of the pot after 1,000 iterations
- Spot BFlop10♠Q♠A♥Pot 6.5 big blinds, 47 behind0.014%of the pot after 1,000 iterations
- Spot CFlop9♠10♥J♦Pot 6.5 big blinds, 47 behind0.011%of the pot after 1,000 iterations
Each spot: Button opens to 3 big blinds, the small blind folds, the big blind calls. Every street offers a bet of 75% of the pot, a raise of 75% and all in. Exploitability measured exactly after 25, 50, 100, 200, 400, 700 and 1,000 iterations.
What “solved” means
A strategy pair is solved when neither player can win more by changing their play. How far a strategy is from that has a name: exploitability. Let an opponent see the strategy, play the best possible response to it, and count what they win; average that over both seats. Zero means nobody can beat it.
We compute that number exactly, not by sampling. The best response is worked out over every turn and river card and every betting line, two hands meeting only when they share no card, with no hands lumped together. It’s the same yardstick researchers used when they declared heads-up limit hold’em “essentially solved” (Bowling et al., Science, 2015).
The result
| Spot | Flop | Big blind’s hands | Button’s | Exploitable | In big blinds | Big blind’s share |
|---|---|---|---|---|---|---|
| A | 2♠3♠4♥ | 561 | 617 | 0.021% | 0.0014 | 2.8918 |
| B | 10♠Q♠A♥ | 506 | 555 | 0.014% | 0.0009 | 2.6520 |
| C | 9♠10♥J♦ | 511 | 575 | 0.011% | 0.0007 | 2.4386 |
In big blinds. The big blind’s share of the 6.5 big blind pot when both seats play the solve.
Checking the check
A number from a solver about its own strategy is only as good as the code that computed it. So we checked it two separate ways.
- Matches
A second program, written separately
An independent checker in a different language reads only the solve’s saved strategy, each seat’s hands and each node’s chips. It rebuilds the rest from the rules: the betting (a fold only facing a bet, every raise at least the last one or all in, a street closing on a call or a second check), every turn and river card, every all-in run out over the cards still to come, two hands meeting only when they share no card, the best five of seven cards by its own hand evaluator, and the pot. Then it computes its own best responses.
Spot Exploitable: checker solver Big blind’s share: checker solver A 0.021% 0.021% 2.891761 2.891761 B 0.014% 0.014% 2.651976 2.651976 C 0.011% 0.011% 2.438592 2.438592 The three spots above, after 1,000 iterations, in big blinds. All 122 decisions of each matched the rules as the checker rebuilt them. Its hand evaluator agrees with checking every five-card subset on 20,000 random deals.
- Matches
A spot with a textbook answer
The river, the board K♠7♦2♣9♥3♦, with as much behind as the pot, so the one bet, the pot, is all in. The big blind holds a set of kings (3 hands) or air, suited six-five and five-four (8 hands); the button holds aces, which beat the air and lose to the set. Theory: bet every set and bluff 1.5 of the 8 air hands, so the aces call half the time, worth exactly 9/22 of the pot to the big blind. HydraSolver’s exact solve, after 1,000 iterations:
Figure Theory HydraSolver Air that bluffs 18.750% 18.763% Aces call 50.000% 50.002% Big blind’s share of the pot 0.409091 0.409091
The flop sims, by the flop test
A heads-up flop sim too big for your computer’s memory is solved with similar hands and boards grouped on the turn and river, as is every flop sim with three or more players. Flop strategies like these have a standard test, the figure postflop solvers quote for their flops: lock one seat’s flop strategy, solve the rest of the hand exactly with the lock in place, and count what the locked seat gives up against the whole hand solved exactly. Zero means the flop is perfect. The turn and river are played perfectly in the test, so it grades the flop alone.
On the same three flops, the app’s flop sims at High detail, after 2.5 to 3.0 million iterations: on all three, each seat’s flop strategy gives up between 0.049% and 0.173% of the pot.
| Spot | Flop | Seat locked | Gives up | Certainly between |
|---|---|---|---|---|
| A | 2♠3♠4♥ | Big blind | 0.085% | 0.059%–0.116% |
| A | 2♠3♠4♥ | Button | 0.112% | 0.081%–0.150% |
| B | 10♠Q♠A♥ | Big blind | 0.085% | 0.065%–0.109% |
| B | 10♠Q♠A♥ | Button | 0.173% | 0.152%–0.201% |
| C | 9♠10♥J♦ | Big blind | 0.049% | 0.032%–0.070% |
| C | 9♠10♥J♦ | Button | 0.113% | 0.095%–0.134% |
Each seat’s flop locked in turn, the rest solved exactly for 1,000 iterations. “Certainly between” is what the exact solves’ own accuracy allows: the true figure lies inside it. The same test run on an exact solve’s own flop, where there is nothing to find, reads within 0.001% of zero for both seats on Spot A: the test itself adds almost nothing.
What’s exact, and what isn’t
Exact: heads-up flop sims that fit in memory
Every hand on every turn and river card, nothing grouped. The exploitability above is computed, not estimated. When a heads-up flop sim fits in your computer’s memory, HydraSolver solves it this way.
By the flop test: the other flop sims
Flop sims too big for memory, and flop sims with three or more players, group similar hands and boards on the turn and river. The flop test grades their flop strategy, not how well they play the turn and river.
What HydraSolver gives you for No-Limit Hold’em
Flop sims
Pick the flop, the ranges and the bet sizes. Heads-up, the app solves the spot exactly when it fits in memory, every hand on every turn and river card; otherwise it groups similar hands and boards on the turn and river.
Every hand on every runout
Walk any line to the river and read each hand’s play and EV on the cards that came.
Your own trees
Set the stacks, bet sizes and raises for every street in the Tree Wizard.
Saved, on your machine
Sims save and reopen like every other HydraSolver solve. It all runs on your own computer.
The exact solves measured with HydraSolver 1.1.98 (October 18, 2026), the flop sims with HydraSolver 1.1.97 (October 14 to 16, 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.