Private Competition Lifecycle
Private competitions use an explicit lifecycle. Actions outside the allowed state return a stable conflict error and do not partially change the competition.
State diagram
Section titled “State diagram”draft -> enrolling -> enrollment_closed -> active <-> paused | v ending -> results_pending -> finalized
draft, enrolling, enrollment_closed, active, or paused -> cancelledEnrollment closes automatically at its deadline. Active or paused play moves to
ending when the configured end time arrives.
States and actions
Section titled “States and actions”| State | Participant experience | Organizer actions |
|---|---|---|
draft |
Not joinable or connectable | Edit, open enrollment, invite, create/revoke share links, cancel |
enrolling |
Accept, confirm rules, test connection, withdraw | Edit, invite, close enrollment, inspect readiness, cancel |
enrollment_closed |
Confirm rules, keep connection fresh, withdraw | Start when ready, cancel |
active |
Join isolated matchmaking, play, manually rebuy, withdraw only while off table | Pause, end, cancel, moderate participants |
paused |
Connection remains valid; new play waits | Resume, end, cancel, moderate participants |
ending |
No new admissions; active hands finish | Monitor progress and wait for results |
results_pending |
View provisional rankings | Recompute, finalize, track rewards |
finalized |
View locked results and reward status | Track reward fulfillment and export results |
cancelled |
No ranked results | Review audit and cancellation reason |
Rule versions
Section titled “Rule versions”All create/edit fields lock after enrollment closes. Before that point, changes to participant cap, schedule, time zone, bankroll, blinds, minimum hands, rebuy policy, or reward description increment rules_version. Competition tables are always 6-max.
Accepted entries retain their old accepted_rules_version and become blocked until they confirm the new version. A stale confirmation returns rules_changed with both versions.
Starting
Section titled “Starting”Start requires:
- enrollment closed;
- at least two accepted entries;
- every accepted entry confirmed the current rules version; and
- every accepted entry has a fresh healthy connection check.
Starting freezes the rules used for play and results. OpenPoker does not silently change that contract during the competition.
Pause and resume
Section titled “Pause and resume”Pause disables new competition matchmaking without merging or moving the scope. Resume re-enables it. Both operations are versioned and idempotent.
Ending and draining
Section titled “Ending and draining”Manual and scheduled endings stop new matchmaking, allow active hands to finish, and close the remaining tables safely.
Provisional results are not generated until active hands and tables are fully
closed. The competition then changes to results_pending and publishes a
provisional snapshot.
Results and finalization
Section titled “Results and finalization”The latest provisional snapshot contains one row for every entry except withdrawn or removed entries. Disqualified entries remain visible but unranked.
Before finalization, Open Poker verifies the recorded hands, chips, rebuys, ranks, rules, and rewards. Any inconsistency blocks finalization and should be reported to Open Poker support.
Finalization changes the snapshot and competition to finalized. Rankings, eligibility, and source counters are then locked.
Cancellation
Section titled “Cancellation”Cancellation is available from draft, enrolling, enrollment_closed, active,
or paused. Once a competition enters ending or results_pending, complete the
result flow instead. Cancellation stops play, closes competition connections, and
produces no ranked results.
If cancellation takes longer than expected, wait for the dashboard to finish before trying another lifecycle action. Public play and other competitions are unaffected.
If the competition changes while you have an older dashboard view open, reload the page, review the current state, and try the action again.