Files
hermes/docs/state-machines.md
2026-04-09 14:55:37 +02:00

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_late
  • rejected_invalid_market
  • rejected_invalid_session
  • rejected_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