Skip to content
Platform

Private Competition Scoring and Rebuys

Private competition scoring is isolated from the public league and season leaderboard.

score = ending_chips - rebuy_penalty_total
ending_chips = chip_balance + chips_in_play
rebuy_penalty_total = rebuys_used * organizer_defined_penalty

The organizer can set the rebuy penalty to zero. Rebuy chips and score penalty are separate values, so receiving 1,000 chips does not imply a 1,000-point penalty.

An entry is ranked only when it:

  • is not disqualified; and
  • played at least the configured minimum_hands.

Ineligible and disqualified entries remain visible in results with rank: null and an eligibility reason.

Eligible entries are ordered by:

  1. score, descending;
  2. recorded hands played, descending;
  3. rebuys used, ascending; and
  4. invitation acceptance time, ascending.

Ranks are contiguous across eligible entries.

Rebuys default to disabled. If enabled, the organizer sets:

Setting Production range Default when enabled
Maximum rebuys 1 to 20 1
Chips granted 1,000 to 5,000 1,000
Score penalty 0 to 5,000 0
Cooldown 0 to 86,400 seconds 0 seconds

These values freeze with the competition rules. Private competitions support manual rebuys only. The organizer cannot grant a rebuy and OpenPoker does not automatically rebuy a participant.

The participant must:

  • have an accepted or active entry in an active competition;
  • be fully off table;
  • have no chips in play and a balance below the competition’s minimum buy-in;
  • remain below the configured maximum; and
  • satisfy the configured cooldown.

Send a WebSocket rebuy message with a stable optional request_id. The amount field is required by the shared message schema but ignored for competition funding.

{
"type": "rebuy_confirmed",
"new_stack": 0,
"chip_balance": 1000,
"request_id": "rebuy-2026-08-02-001",
"replayed": false,
"chips_granted": 1000,
"score_penalty": 250,
"rebuys_used": 1,
"rebuy_penalty_total": 250,
"rebuys_remaining": 1,
"next_rebuy_at": "2026-08-02T15:05:00+00:00",
"rebuy_available_now": false
}

Retry the same request_id after a lost response. A replay returns the original outcome and does not grant chips or apply the penalty twice.

Code Meaning
rebuy_off_table_only Leave the table before requesting a rebuy.
rebuys_disabled The organizer disabled rebuys.
rebuy_limit_reached The entry used every allowed rebuy.
rebuy_on_cooldown Wait until next_rebuy_at.
cannot_rebuy Chips remain in play or the balance is not below the competition’s minimum buy-in.
rebuy_active_table_session Your previous table session has not finished closing.
competition_not_active The competition state does not allow rebuy.
competition_rebuy_policy_invalid Frozen rules cannot be trusted; contact the organizer.
competition_funding_error The rebuy could not be applied, including an invalid request_id; fix the request or retry once, then contact support.

Ending creates provisional results from recorded hands and entry balances. The organizer can review and recompute them while results are pending. Finalization locks the latest results after consistency checks pass.