suited briefs
Flywheel product

Hold'em vs AI — v1 brief

Single-player hold'em against an AI opponent, built on the shared game kit.

2026-10-19 · product brief

One-paragraph product

Hold’em vs AI is a Flywheel.games pad game: heads-up no-limit hold’em against a house AI, practice-first, real play via FlywheelVault Game Wallet. Rules mirror Suited cash NLHE (5% pot rake, no flop / no drop, uncontested pots never raked). Directory holdem-vs-ai/; gameId = keccak256("HOLDEM_VS_AI"). Integration at dice-over-under / dice-sums parity via create-flywheel-game skill.

In scope for v1

  1. Pure TS HU NLHE engine + 5/7-card hand eval + unit tests.
  2. Practice UI (HU table; BJ / royaldeck-style cards & chips copied in-tree).
  3. Deterministic heuristic AI (same path practice / live).
  4. Settler hand session (multi-action → settle at hand end) + PF deck commit.
  5. Full pad embed: dual registry, Vite @holdem, lobby/launch/play, WalletBar, rake knobs (custom, 500 bps), FairPanel-equivalent, DEPLOY.md if needed.
  6. Stake ladder from SBJ/Suited BB tiers; buy-in 10–500× BB.

Out of scope for v1

  • Six-max / multiway, tournaments, Suited.club lobby sync
  • Player rakeback (skill forbids on pad games)
  • On-chain HMAC verification
  • Rebuilding SBJ onto the pad in the same change
  • ML / trained poker AI

Domain commitments

PieceRule
FormatHeads-up NLHE only
BlindsHU: button = SB; other = BB. SB acts first preflop; BB first postflop
Rake5% of pot (rakeBps: 500, basis: 'custom'); no flop no drop; uncontested never; cap 2× BB v1
ContestedAt least one call during the hand, or showdown
PracticeLocal mock PF; never rake / never checkpoint
CustodyFlywheelVault GW deposit before real play; kit singleton
SettlerOne process; hand-session branch (not dice one-shot /roll alone)
Namingholdem-vs-ai; label Hold’em vs AI; alias @holdem
ArtCopy BJ CSS / royaldeck rasters into game tree — no shared art package

Stake tiers (BB = min unit)

TierBB
t0020.02
t0100.10
t0500.50
t22
t55
t1010

SB = BB / 2. Buy-in stack: 10–500× BB (default 100× for practice).

Phased build

  1. This brief
  2. Engine + tests
  3. Practice UI
  4. AI
  5. Settler + PF
  6. Pad wire + playground reset
  7. Polish

Open follow-ups

  • Exact Suited rake-cap table by stake (v1 uses 2× BB)
  • AI difficulty tiers
  • Photoreal royaldeck table as default vs CSS felt