Heads-up Razz from 5th street, 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 card that can come, and count what they win. We ran that test on three 5th-street Razz spots. The most a perfect opponent can take: under 0.005% of the pot, less than a nickel in a $1,000 pot.
- Spot ASeat 13♣7♦2♥Seat 25♠4♦8♣0.0049%of the pot
- Spot BSeat 1A♦4♥6♣Seat 2K♥8♠2♦0.00035%of the pot
- Spot CSeat 17♠7♥3♣Seat 2A♣9♦5♥0.0019%of the pot
Exploitability after 1,000 iterations. Pot 2.2 big bets at 5th street, a bet and three raises a street, both seats holding any two down cards.
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 way the unseen cards can be dealt (both players’ down cards, each 6th-street up-card, each 7th-street card) and every betting line, 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 | Seat 1 shows | Seat 2 shows | Pot | First to act | Exploitable | In big bets | Seat 1’s value |
|---|---|---|---|---|---|---|---|
| A | 3♣7♦2♥ | 5♠4♦8♣ | 2.2 | Seat 1 | 0.0049% | 0.000108 | +0.2922 |
| B | A♦4♥6♣ | K♥8♠2♦ | 2.2 | Seat 1 | 0.00035% | 0.000008 | +0.9901 |
| C | 7♠7♥3♣ | A♣9♦5♥ | 2.2 | Seat 2 | 0.0019% | 0.000041 | -0.5477 |
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 four separate ways.
- Matches
A second program, written separately
An independent checker in a different language reads only the saved strategy. It rebuilds Razz from the rules: the betting, who acts first, every deal of the unseen cards, the best five-card low. Then it computes its own best responses.
Spot Exploitable: checker solver Seat 1’s value: checker solver A 0.0049% 0.0049% +0.2922426 +0.2922426 B 0.00035% 0.00035% +0.9900739 +0.9900739 C 0.0019% 0.0019% -0.5477159 -0.5477159 The three 5th-street spots above. All 152,110 decisions of each matched the rules as the checker rebuilt them.
- Matches
Two solving paths, one answer
The same 6th- and 7th-street spots, solved by two independently built solving paths in HydraSolver, land on the same game value.
Street Seat 1 Seat 2 Path 1 Path 2 6th 3♣7♦2♥K♠ 5♠4♦8♣6♥ -1.3220 -1.3220 6th A♣2♦9♥9♠ 3♠4♣Q♦J♠ +0.8112 +0.8112 6th A♦4♥6♣8♦ K♥8♠2♦3♠ +0.7693 +0.7693 6th 7♠7♥3♣J♦ A♣9♦5♥4♣ -1.8740 -1.8740 7th 3♣7♦2♥K♠ 5♠4♦8♣6♥ -1.6154 -1.6154 7th A♣3♦5♥7♠ 2♠4♣6♦K♥ +0.5761 +0.5761 Seat 1’s value in big bets.
- Matches
A separate reference solver
A reference solver written separately in Python valued a 6th-street spot in each of four stud games. HydraSolver agrees to within a ten-thousandth of a big bet.
Game Reference HydraSolver Seven Card Stud +1.2134 +1.2134 Razz -1.3220 -1.3220 Stud Hi-Lo -0.5710 -0.5710 High-Low Chicago +0.5403 +0.5402 Seat 1’s value in big bets.
- Matches
A spot with a textbook answer
7th street. Seat 1 shows A♥2♥3♦4♣ and holds a wheel or jack-low air, half and half. Seat 2 shows 6♠7♦8♣9♥ and holds an eight-low. Pot 5, one bet, no raise. Theory: bluff a sixth of the air, call five times in six, worth exactly 5/12 of a bet to Seat 1.
Figure Theory HydraSolver Air that bluffs 16.667% 16.670% Eight-low calls 83.333% 83.336% Seat 1’s value 0.416667 0.416667
What’s exact, and what isn’t
Exact: 5th street to the showdown
Heads-up, three of Razz’s five betting rounds. Every hand, every card. The exploitability above is computed, not estimated. When a hand reaches 5th street, HydraSolver switches to this solve.
Estimated: 3rd and 4th street
The whole hand from 3rd street is solved by self-play over sampled deals, with similar hands grouped together. Its accuracy is measured statistically (on 3rd street it shows no loss it can detect after 160 million hands, to within about a third of a big bet per 100 hands). That’s an estimate, not a proof. Three-handed Razz isn’t covered here.
What HydraSolver gives you for Razz
Whole hands from 3rd street
Heads-up or three-handed, with your own doors, ante, bring-in and limits. Walk the hand street by street, dealing each up-card yourself or at random.
Exact play from 5th street
When a heads-up hand reaches 5th street, the rest of it is solved exactly for the line you are on, and keeps sharpening while you read it.
Every hand, three ways
A down-card chart that reads ace low, hand classes in Razz terms (7-low, 8-low, paired), and hand by hand, each with its EV.
Your own spots
Set up any heads-up 5th-, 6th- or 7th-street spot: the up-cards, the dead cards, the pot and each seat’s range. Its exploitability and both seats’ EVs show as it solves.
Saved, on your machine
Hands and spots save and reopen like every other HydraSolver solve. It all runs on your own computer.
More proofs
Measured with the solver in HydraSolver 1.1.96 (October 13, 2026). Razz is in beta in that version. 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.