F011 — Bet Placement
Business Rule
Players may place one or more chip-value bets on any live hand during each of the three betting windows (hole, flop, turn). Bets are accumulated per hand per stage. A hand is live if its current odds are> 1. Once a hand dies (odds = 0, not a winner) it cannot be bet
on. No bet may cause a hand’s cumulative stake to exceed £50.00 (5000 pence).
The payout at resolution is:
JavaScript Reference
JS Source:hedgeem-v4/odobo/src/js/
JS Live: hedgeem.qeetoto.com — verified working reference
Key JS data structures
JS betting gate
JS payout formula
JS credit deduction timing
Credits are not deducted when a bet is placed. They are deducted in one batch atCC_DEDUCT_BETS (after the turn betting window closes, immediately before river reveal):
JS cancel
A single global CANCEL button callsClearRoundBets(), which zeros bets for the
current deal stage across all hands. It does not refund credits (because credits
haven’t been deducted yet).
TypeScript Implementation
File:standalone_reference_client/src/engine/GameEngine.ts
Fixes applied (F011 audit)
Design differences (intentional)
TS placeBet() after fix
TS resolveBets() after fix
Dead Hand Logic
A hand is considered dead whenoddsRounded === 0 AND statusIsWinner === false.
Both approaches yield 0 payout for dead hands because bets can only be placed when odds > 1,
so
oddsAtBet will always be > 1 for any valid bet.
Maths
Payout identity
Max bet capacity
House edge
The odds presented at each stage are computed from simulation data (percentWinOrDraw).
The payout odds (oddsRounded) are set slightly below the inverse of true probability,
providing the house margin. Example from coredata game 1, hand 2 at hole:
percentWinOrDraw = 0.3311→ true odds = 3.02oddsRounded = 3→ payout odds = 3.00- House margin ≈ 0.7%