Calculation methodology
How Sharper Edge calculates a hold
The trainer does not use a shortcut strategy chart to grade a hand. It evaluates every hold against every legal draw for the active pay table, preserves the result as exact rational arithmetic, and reports all exact ties.
Methodology reviewed July 25, 2026
Exact 32-hold analysis
A five-card hand has 25, or 32, possible hold masks. Bit by bit, each mask says whether to keep or discard each dealt position. For every mask, the engine removes all five dealt cards from the deck, keeps the selected cards, and enumerates every combination needed to complete the final five-card hand from the remaining 47 cards.
If a mask holds h cards, it has C(47, 5 − h) legal completions. Across all 32 masks, one complete analysis evaluates 2,598,960 final-hand outcomes.
| Cards held | Cards drawn | Legal completions |
|---|---|---|
| 0 | 5 | 1,533,939 |
| 1 | 4 | 178,365 |
| 2 | 3 | 16,215 |
| 3 | 2 | 1,081 |
| 4 | 1 | 47 |
| 5 | 0 | 1 |
EV(hold) = sum of per-coin payouts for all completions ÷ number of completions
The numerator and denominator are reduced using integer arithmetic. Hold comparisons use BigInt cross-multiplication, not rounded display values. Every hold whose rational EV exactly equals the best rational EV is returned as optimal. Decimal EVs shown in the interface are display approximations only.
Hand resolution and draw probabilities
Every completed five-card hand is resolved against the categories configured for the active game. Applicable categories are ordered by payout; an explicit specificity order breaks a payout tie so a hand receives one mutually exclusive result. Non-paying results become “No Win.”
For each hold, the same exhaustive loop counts how many completions resolve to every pay-table category and to No Win. A displayed probability is the exact category count divided by all legal completions for that hold. An em dash means the count is exactly zero—it is impossible from that hold—not merely a small value rounded to zero.
Deuces Wild uses configuration-specific wild-card predicates. The evaluator asks whether the natural cards and available deuces can form each category, then resolves the best applicable payout. It does not randomly assign a value to a wild card.
Pay tables and return figures
Sharper Edge currently supports 10 fixed configurations across Jacks or Better, Bonus Poker, Bonus Poker Deluxe, Double Bonus, Double Double Bonus, Triple Double Bonus, and Deuces Wild. Each configuration defines its own category-to-payout map. The engine uses that map—not only a family name such as “Jacks or Better”—when it scores a hand.
Payouts are normalized to per-coin values for a five-credit maximum bet, including an 800-for-1-per-coin royal at max bet. The trainer always plays five credits. Non-max royal schedules can change both return and strategy and are outside the current engine.
The configured pay-table catalog cites Wizard of Odds summary tables for most payout tables and rounded optimal-play returns, and vpFREE2's pay-table guide for pay-table semantics and the max-bet convention. vpFREE2 inventory data was used to help prioritize common configurations, not as an independent proof of EV.
Return percentages on the Games pages are configured reference values, commonly rounded to two decimals. They are not estimated from the visitor's session and are not dynamically rederived for each page view. The active payout map is the controlling input for per-hand engine decisions. You can inspect the current set on the Games page.
Verification and tests
The engine repository includes automated tests for deck integrity, all 32 masks, outcome counts, category examples across each game family, exact ties, known strategy decisions, cache remapping, ledger serialization, and the identity used to decompose session results.
An exhaustive verifier runs the no-wild evaluator through all 2,598,960 distinct five-card hands and checks its category frequencies against known five-card poker counts. The same verifier compares both supported Deuces Wild evaluators with a separate, slower substitution-based oracle across all 2,598,960 five-card hands. Keeping the oracle structurally separate reduces the chance that both implementations repeat the same wild-card shortcut.
Golden strategy tests cover representative published decisions and exact-tie cases. They are useful regression checks, but no finite set of examples proves every future code change correct. A release should rerun relevant unit tests and exhaustive verification after changes to card evaluation, category ordering, payouts, or rational comparisons.
Production dealing and performance
Production deals use a Fisher–Yates shuffle driven by the browser's Web Crypto API. Random integers use rejection sampling to avoid modulo bias. Deterministic seeded randomness exists for repeatable tests only and is not the production dealing path.
Exact analysis runs in a browser Web Worker when available so millions of evaluator calls do not block the interface. Results are cached by game and a suit-permutation-normalized hand key. Cache hits remap positional hold masks back to the original deal order; suit normalization does not change the strategy.
Web Crypto is an appropriate browser randomness source for this practice simulation, but the trainer is not a regulated gaming system and makes no certification claim about its shuffle.
Scope, limits, and corrections
The current engine models a single 52-card deck, five cards dealt without replacement, one draw, and any number of cards held. It does not model progressive meters, non-max wagering, jokers, multi-hand correlation, multipliers, extra-wager features, multi-stage games, or a casino's machine-specific rule variation.
Exact EV is conditional on the dealt cards, selected pay table, and stated rules. It is a long-run mathematical expectation, not a forecast of the next hand or a promise of profit. A casino label that resembles one of the supported games is not enough: visitors should compare the complete machine pay table before applying the trainer's result.
The project does not currently publish a dedicated correction address or named technical reviewer. When a reproducible issue is found, the intended correction process is to add a failing test, update the smallest affected evaluator or pay-table configuration, rerun the relevant exhaustive check, update version stamps, and revise affected documentation. The lack of a public intake channel remains a limitation until contact information is published.
Sharper Edge is educational software with no real-money wagering or prizes. Even correct strategy cannot remove variance or make a negative-expectation game safe money. Read Playing responsibly before treating practice results as a reason to gamble.
