Skip to completed result

Two players · turn or river · local browser solve

Live Turn & River Solver

Start with a checked example. Then change the cards, possible hands or bet sizes and solve a small game of your own.

An approximate strategy for this specific finite game—not universal or exact GTO. Showdowns enumerate the remaining cards; learning the strategy takes a limited number of iterations. No GPU training, rake or live flops.

1. Set up a game

Position means who acts first and who acts second on each street. Both players start with the same effective stack—the amount each can win from the other.

Game inputs
Four cards for the turn; five for the river. c = clubs, d = diamonds, h = hearts, s = spades.
Example: AA AQs 7h6h:50%. Separate hands with spaces or commas.
Up to 64 combinations per player after removing board cards.
How ranges and weights work

AA includes all pairs of aces. AQs means suited; AQo means different suits. AsQh names two exact cards. Add :50% for half as much weight. We remove board-blocked hands, reject overlapping entries and normalize relative weights to float32. These are inputs you choose, not recommended or solved preflop ranges.

The money already in the middle; whole chips, at least 4.
What each can still bet. At most 10 times the pot.
One or two sizes, 25–200, or allin. Example: 50 100. Used for both players on each remaining street.
1–10,000. Stops earlier if reported exploitability reaches 0.01% of the starting pot. Also stops after 120 seconds.

Live solver assets are not installed in this build. The saved example works without them. Developers: run npm run prepare:wasm:live after the WASM build, then rebuild the app.

Check size before solving. Editing any input clears that check. The displayed completed result stays unchanged.

Browser limits and offline option

Single-threaded float32 only. Up to 64 hands per player, 100,000 estimated exported states and a 256 MiB solver memory reservation. This is not a cap on total browser memory or a guarantee against running out of memory, especially on phones. Larger solves stay available through the repository’s scripts.

Preflight builds card and game tables, but does not allocate strategy storage. First-street export is an explicit advanced option; it still solves future streets.

Repository and offline instructions

2. Check, then solve

Saved example ready. No live solve has run.

Choose a small game on the left, then select “Check game size”. No solve runs automatically.

3. Inspect the completed result

Saved, independently checked example

This result belongs to the game below, not necessarily the current form inputs.

As 7d 4h 2c · 100 chips in the pot · 100 chips behind each player

Exploitability (engine-reported)
0.009715 chips
Target
0.010000 chips · reached
Completed iterations
520
Exported states
6,507

Exploitability is half the sum of both players’ best-response gains: how much a perfect counter-strategy could improve against this strategy in this game. Smaller is better. It does not certify your input ranges or describe your loss on every hand.

Independent TypeScript check: 0.009716 chips. The engine and independent checker agree within 0.0002 chips.

How often this strategy takes each action with QdQc
ActionFrequency
Check77.09%
Bet to 25 chips0.00%
Bet to 50 chips22.91%
Value following this strategy (chips)
-38.0807
Showdown share if both check down
29.55%

Value includes the strategy’s future bets and folds, with half the starting pot subtracted from the returned pot share. It is not the EV of each action. Showdown share counts ties and remaining cards against the starting opponent range after card removal—not a future calling range.

Game identity, ranges and source
Game ID
referee-turn-v2-dry-value
First-player range
QdQc:1 AdAc:1 AhKd:1
Second-player range
6s5s:1 7h7c:1 AhQh:1
Spot SHA-256
d4efac8db4cd26c80f984b19e739903960c3c0f871787f2d8acd2aa839cc441f
Engine revision
9d1509fe5077d019825f833eed04b16d342dfda1
Saved example SHA-256
b9fac5d1e63b275eb6b4d28bc1c6940e598e449959d52e9f98618dd9b251477d

For action EVs, opponent responses and plain-language lessons at individual river decisions, use the River teaching lab.