Adjusting Solver Solutions for Real Opponents

GTO tells you how to play against perfect opponents. Node locking tells you how to exploit imperfect ones.
Poker solvers have revolutionized how we study the game. They calculate game theory optimal (GTO) strategies—the mathematically perfect approach against opponents who also play perfectly. But real opponents don’t play perfectly. They have leaks, tendencies, and predictable deviations from GTO.
Node locking is the solver technique that lets you exploit these deviations. By “locking” an opponent’s strategy at a decision point (node), you can calculate the optimal counter-strategy. This guide explains how node locking works and how to apply its insights to your game.
Understanding Solver Basics
Before diving into node locking, let’s clarify how solvers work.
What Solvers Calculate
A solver takes a poker situation: ranges, board, stack sizes, and calculates the Nash equilibrium strategy for both players. At equilibrium:
- Neither player can improve their expected value by changing strategy
- Both players are playing unexploitably
- The strategies are mathematically optimal against each other
The Limitation of GTO
GTO strategies assume your opponent also plays GTO. Against a perfectly balanced opponent, GTO is optimal. But against opponents who deviate from perfect poker, which everyone does, GTO leaves money on the table.
A recreational player who never bluffs the river should be called less frequently. A maniac who bluffs too much should be called more frequently. GTO doesn’t account for these tendencies as it treats all opponents identically.
That’s where node locking comes in.

What Is Node Locking?
Node locking is a solver feature that lets you fix an opponent’s strategy at specific decision points (nodes) in the game tree. Instead of letting the solver optimize both players’ strategies, you tell it: “Assume my opponent plays this specific way at this point.”
The solver then calculates your optimal response to that fixed strategy.
A Simple Example
Assume your opponent never bluffs on the river. In a normal solver run, the opponent would bluff at a balanced frequency, around 33%, with pot-sized bets. But you know this specific opponent bluffs 0%.
You lock their river betting node to show 100% value, 0% bluffs. The solver recalculates your best response:
- Normal GTO: Call with all bluff catchers
- Against locked node: Fold all bluff catchers (you’re never good)
This is a dramatic example, but it illustrates the power of node locking.
Common Exploits Revealed by Node Locking
Let’s explore specific opponent tendencies and what node locking reveals about exploiting them.
Exploit: Opponent Over-Folds to C-Bets
The tendency: Opponent folds more than 60% to continuation bets on the flop.
Node lock setting: Lock opponent’s defending frequency to 40% or lower.
Solver output:
- Your c-betting range expands dramatically
- You can profitably c-bet with any two cards
- Optimal sizing may decrease (smaller bets achieve the same fold frequency)
Practical application: Against this player, c-bet almost your entire range with a small sizing. Don’t slow down with monsters—bet them too, as they fold enough that you still profit from weak hands.
Exploit: Opponent Never Folds to River Bets
The tendency: Opponent calls river bets with any pair or better.
Node lock setting: Lock opponent to call with 100% of made hands.
Solver output:
- Your bluffing frequency drops to near zero
- Your value betting range expands to include thin value
- Bet sizing can increase (they’re calling anyway)
Practical application: Never bluff this player on the river. Value bet thinner than normal. Consider larger sizing since their calling range doesn’t shrink with bet size.
Exploit: Opponent Over-Bluffs Rivers
The tendency: Opponent bluffs rivers more than 50% of their betting range.
Node lock setting: Lock opponent’s river betting range to 50%+ bluffs.
Solver output:
- Your calling frequency increases substantially
- Hands you’d normally fold become calls
- You might even call with ace-high against some bet sizes
Practical application: Widen your bluff-catching range significantly. Call with medium pairs and sometimes ace-high. Let them hang themselves.
Exploit: Opponent Never Check-Raises
The tendency: Opponent only calls or folds facing bets, never check-raises.
Node lock setting: Lock opponent’s check-raise frequency to 0%.
Solver output:
- Your betting frequency increases
- You can bet thinner for value without fear of raises
- Smaller bet sizes become more attractive (less risk, same reward)
Practical application: Bet more often, especially thin value hands that would fold to a raise. Use smaller sizing since you don’t need to charge draws for their check-raise equity.
How to Use Node Locking in Your Study
Here’s a practical workflow for incorporating node locking into your poker study:
Step 1: Identify Opponent Tendencies
Use HUD data from GGPoker’s Smart HUD or your own observations to identify specific leaks:
- Fold to c-bet %
- River call frequency
- Check-raise frequency
- 3-bet frequency
- Aggression factor by street
Step 2: Set Up the Solver Scenario
Build the situation in your solver:
- Define preflop ranges based on position and action
- Input the board texture you want to study
- Set stack sizes and pot size
Step 3: Lock the Relevant Node
Find the decision point where your opponent deviates and lock their strategy:
- If they over-fold flops, lock their flop defending frequency
- If they never bluff rivers, lock their river betting range to 100% value
- If they call too much, lock their calling frequency higher than GTO
Step 4: Solve and Analyze
Run the solver and study the output:
- How does your optimal strategy change?
- Which hands change from bet to check or vice versa?
- Does optimal sizing change?
Step 5: Apply to Your Game
Take the solver insights and implement them against similar opponents at the tables.

Node Locking Limitations
Node locking is powerful but has important limitations:
Requires Accurate Reads
Node locking is only useful if your opponent’s read is correct. Locking someone to “never bluffs” when they actually bluff at normal frequency gives you a less-than-optimal strategy.
Ensure you have a sufficient sample size and confidence before heavily exploiting perceived tendencies.
Opponents May Adjust
If you exploit someone heavily, they might notice and adjust. A player who starts bluffing because you keep folding makes your locked strategy counterproductive.
Continuously reassess whether your reads remain accurate.
Cascading Effects
Strategies interact across streets. Locking one node affects optimal play at other nodes. Sometimes the adjustments are counterintuitive.
Always examine the full game tree output, not just the locked node.
Computational Complexity
Some node locks create complex re-solving requirements. Simple locks (opponent calls 100% of hands) are solved quickly. Complex locks (opponent calls these specific hand combinations) take longer.
Practical Node Locking Scenarios
Let’s walk through specific scenarios you’ll encounter at GGPoker:
Scenario 1: Recreational Player in the Big Blind
Observation: Recreational player defends big blind with any ace, any suited, any connected cards. Folds to c-bets with bottom pair or worse.
Node lock: Wide preflop defending range, 70% fold to flop c-bet.
Exploitative adjustment: C-bet 100% on dry boards with any holding. Use small sizing (1/4 pot). Your EV skyrockets because they fold too much.
Scenario 2: Tight Regular Who Never Bluffs
Observation: Tight regular only bets river for value. Checks back all non-nut hands.
Node lock: River betting range = top 15% of hands, 0% bluffs.
Exploitative adjustment: Fold all bluff catchers to their river bets. When they bet, they have it. Save money by not paying them off.
Scenario 3: Aggressive Player Who 3-Bets Too Much
Observation: Aggressive player 3-bets 15%+ from all positions.
Node lock: 3-bet range includes many weak hands beyond a typical value range.
Exploitative adjustment: 4-bet bluff more frequently. Call 3-bets with hands that dominate their weak holdings. Trap with monsters occasionally since they’re aggressive postflop too.

Applying Node Lock Insights Without a Solver
Not everyone uses solvers, but you can apply node locking principles conceptually:
If Opponent Over-Folds
- Bluff more frequently
- Use smaller bet sizes (less risk, same fold frequency)
- Don’t worry about balance—print money with aggression
If Opponent Over-Calls
- Bluff less or not at all
- Value bet thinner
- Use larger sizes to extract more when ahead
If Opponent Over-Bluffs
- Call down lighter
- Let them bluff into you
- Check strong hands to induce bluffs
If Opponent Under-Bluffs
- Fold to aggression more frequently
- Don’t call hoping to catch bluffs—there aren’t any
- Respect their bets
Using GGPoker Data for Node Locking
GGPoker provides data to inform your node locking decisions:
Smart HUD Statistics
Key stats for identifying tendencies:
- VPIP: How wide are their preflop ranges?
- PFR: How aggressive preflop?
- 3-Bet: Are they 3-betting light or only value?
- Fold to C-Bet: Can you print money with c-bets?
- Aggression: Are they passive or aggressive postflop?
PokerCraft Analysis
Filter for specific situations against specific opponents:
- How often does this player fold to river bets?
- What hands have they shown down after calling multiple streets?
- Do they ever bluff in large pots?
This data informs what nodes to lock and how.
Player Notes
Your notes on specific opponents provide node locking inputs:
- “Never folds top pair” → Lock calling range wide
- “Only raises river with nuts” → Lock raising range to value only
- “3-bets garbage from blinds” → Lock 3-bet range very wide

Key Takeaways
- GTO isn’t optimal against imperfect opponents: Exploit deviations for extra profit
- Node locking shows maximum exploitation: Lock opponent strategies to see optimal adjustments
- Accurate reads are essential: Wrong reads produce wrong strategies
- Common exploits include: More bluffs vs. folders, fewer bluffs vs. callers, more calls vs. bluffers
- Use GGPoker data: Smart HUD and PokerCraft inform your opponent models
- Apply concepts even without solvers: The principles work intuitively
Start Exploiting
Node locking transforms abstract GTO knowledge into practical exploitation. Every opponent has tendencies. Your job is to identify them and calculate the optimal response.
Whether you use a solver or apply the concepts intuitively, the core insight remains: adapt to your opponents rather than playing a static strategy. The players who exploit deviations most effectively win the most money.
Study your GGPoker opponents through the Smart HUD. Identify their tendencies. Then punish them.





