Poker Hand History Replayer Skips the Blinds and 29% Misread
A hand-history replayer that positions the small blind on the button for one hand in four, and misreads 29% of checked-through rivers, is not a cosmetic bug. It is a data-integrity problem that quietly corrupts the study sessions, leak-finder outputs, and solver inputs that US online poker players rely on to improve. The claim comes from a 14-month audit of three commercially licensed replayers used by US-facing sites, and the blind-rotation defect reproduced in all three.
The audit, run by a small independent group of mid-stakes grinders and one former support engineer, logged 8,412 imported hand histories across no-limit hold'em, pot-limit Omaha, and fast-fold variants. They compared each replayer's rendered action sequence against the raw hand-history text and against a reference parser built to the sites' published formats. The blind-position error appeared in 24.6% of hands where a player was eliminated or sat out mid-orbit—the replayer shifted seat labels by one and never corrected the button marker. The 29% figure is narrower: among hands that reached showdown after all streets were checked, the replayer dropped the final check and displayed a bet of zero, which downstream tools read as an incomplete hand and excluded from samples.
The blind-rotation defect is a seating problem, not a math problem
The replayers that failed share an architecture. They reconstruct table state from the hand text incrementally, assigning seats as players appear in the action log. When a seat goes empty—a player busts, times out, or posts and sits out—the next hand's text may list the same six or nine players in a different order. The replayer trusts the order. The button, which the site's hand text usually states explicitly, gets overwritten by the replayer's internal counter.
That matters because position is the single largest driver of preflop range construction. A hand where the cutoff is mislabeled as the hijack shifts the assumed opening range by roughly 4 to 6 percentage points at 100bb, depending on the solver preset. Stack 300 of those hands into a leak report and the aggregate "open from late position" figure drifts enough to send a player chasing a leak that does not exist.
Where the error concentrates
The audit broke the 24.6% failure rate down by format:
- Six-max no-limit hold'em: 18.2% of affected hands
- Nine-max no-limit hold'em: 31.4%
- Pot-limit Omaha (six-max): 27.9%
- Fast-fold variants: 41.7%
Fast-fold is the worst case because the player pool rotates every hand and the seat order in the hand text is effectively randomized. Nine-max suffers because more seats mean more opportunities for a mid-orbit departure.
The fix is not exotic. Two of the three vendors shipped a patch within 60 days of the audit's disclosure; the third disputed the finding for four months before conceding that its seat-mapping logic used the action order rather than the explicit button field. The concession is worth noting because it confirms the defect was in how the replayer parsed the hand, not in the hand itself.
The 29% misread is a parsing bug with a narrow trigger
The checked-through river error is more specific and, in some ways, more damaging. When every player checks the river, many hand-history formats record the street's end with a single summary line rather than per-player check actions. A replayer that expects an action token per player finds none, marks the hand as incomplete, and either truncates it or flags it for exclusion.
The audit found this in 29% of checked-through rivers, but the variance across formats was wide: 12% in one site's format, 38% in another. The difference tracks how verbose the site's hand text is. Sites that log each check individually produce no error. Sites that compress the street produce the error every time.
Why care about a hand where nobody bet the river? Because those hands are not noise. They are the population of hands where ranges are widest and where a player's checking frequency with marginal made hands is most diagnostic. Exclude them and a leak report overstates aggression on the river, because the passive hands have been filtered out before the analysis runs. A player reviewing 1,000 river decisions may actually be reviewing 710 of them, skewed toward the ones where somebody bet.
The downstream contamination
Solver workflows amplify the problem. Export a filtered sample to a solver and the solver optimizes against a distribution that does not match the population. The output looks authoritative—it is a solver, after all—but it is solving a different game than the one the player actually played. The audit's authors flagged this as the highest-severity consequence, above the blind error, because the blind error is visible to anyone who checks the button marker, while the river exclusion is silent.
What US players can actually check
The practical takeaway is not to abandon replayers but to verify them. Three checks catch most of the audit's findings:
- Button spot-check. Open ten hands from a session where a player busted and confirm the button marker matches the site's hand text. If the replayer's marker and the text disagree, the session's position data is unreliable.
- River check-count. Find a hand where all players checked the river and confirm the replayer displays the checks. If it shows a blank or a zero, the sample is being filtered.
- Export reconciliation. Compare the number of hands the replayer exports against the number the site's own history reports for the same session. A gap of more than 1% warrants a closer look.
None of these require a background in parsing. They require ten minutes and a willingness to distrust a tool that looks finished.
The regulatory angle is thin but not absent. US state regulators license the underlying platforms, not the third-party study tools, and no state has published guidance on replayer accuracy. That leaves the burden on players, which is the usual arrangement for study software but an uncomfortable one when the software is feeding decisions about real money.
Responsible gambling note, briefly: study tools exist to make sessions more deliberate, and a tool that miscounts the hands you review works against that. If leak-finding has become a grind in itself, the tool is not the problem worth solving first.
The vendors' responses and what they reveal
The two vendors that patched quickly described the fixes as "seat-mapping improvements" and "format coverage expansion." Neither used the word "bug" in public notes. The third vendor's four-month dispute centered on whether the replayer or the site's hand text was at fault—a defensible position until the audit produced a hand where the site's text stated the button explicitly and the replayer ignored it.
The episode is a reminder that replayers are parsers first and interfaces second. The interface is what gets reviewed and marketed. The parser is what determines whether the numbers mean anything. A replayer with a beautiful equity graph and a broken seat map is a calculator with a cracked screen.
One open question the audit does not answer: how many of the excluded river hands would have changed a player's leak profile if they had been included? The authors estimate the direction—more passivity, less aggression—but not the magnitude. That estimate would require re-running leak reports on corrected samples, which none of the three vendors has published. Until somebody does, the 29% figure stands as a known error with an unknown cost, and the players most affected are the ones least likely to check.