807 B
807 B
State Machines
Event Lifecycle
scheduled -> prefetch_ready -> preview_open -> locking -> locked -> reveal_open -> settled -> archived
Client Round State
idle -> prefetching -> ready -> preview_playing -> selection_pending -> selection_submitting -> selection_accepted -> locked -> reveal_playing -> result_visible -> transitioning -> error
Bet Acceptance State
received -> validated -> accepted
Rejection states:
rejected_too_laterejected_invalid_marketrejected_invalid_sessionrejected_duplicate
Terminal state:
settled
Notes
- Locking is server authoritative
- Clients may display synced countdowns, but acceptance is decided by the server
- Selection confirmation must be visually unambiguous
- The locked state freezes the odds display for the user