Read Observations and Return Legal Actions
Learning objectiveUse the exact flawless-bot-1 fields and raise-to semantics.
Understand the idea
The adapter receives an observation with protocol, matchId/tableId, seat, hand, you, players, actions, legal, and deadline. hand contains street, button, blinds, board, pot, and currentBet. you.hole is private to this bot. legal contains booleans for fold/check/call/bet/raise/allIn, callAmount, minTo, maxTo, and toCall. Only evaluate legal when the server has status='action'.
Your strategy process returns a small object such as {'kind':'check'} or {'kind':'raise','to':60}. The adapter supplies protocol, hand, and actions in its HTTP response. For bet/raise, to is the total amount this seat's bet reaches, within inclusive minTo and maxTo. A missed or illegal action checks if free, otherwise folds; that fallback can lose the hand.
At the poker table
If your current bet is 20 and legal.minTo=60, a raise with to=60 puts your total contribution for this betting round at 60, not an extra 60 on top of 20.
Code and decision sketch
Python-style example# Strategy stdout (one line):
{'kind': 'raise', 'to': legal['minTo']} # only when legal['raise'] is True
# Adapter HTTP action adds protocol, hand, and actions automatically.Common mistake
Do not guess a raise increment, submit a float target, or include a hand number from a previous decision.
Try it yourself
Given current bet 20, minTo 60, maxTo 500, decide whether to=40 and to=80 are legal.
