Help Center

Betting

Resolution & disputes

How a contract reaches a final outcome and how disputes are handled.

This guide explains how a contract reaches a final outcome, what that does to your open bets and wagers, and how disputes are handled at a high level.


Resolver types

Every contract has a resolver type that determines who decides the winning outcome:

Resolver Status How it decides
ADMIN Live (in use today) The contract's issuer or an admin sets the winning outcome directly.
CONSENSUS / Judge Supported Designated judges vote; an outcome wins once it reaches the configured vote threshold.
AI_JUDGE Supported An automated AI judge reviews the contract and evidence and recommends an outcome (counts as one vote toward the threshold; by default still needs a human vote too).
UMA Supported (on-chain) Resolution is requested from the UMA optimistic oracle on-chain.

In practice today, resolution is ADMIN-based: the person who issued the contract (or a platform admin/moderator) declares the winning outcome.


How an ADMIN resolution happens

To resolve, the actor must be the contract creator (issuer) or an admin/moderator (privilege comes from the user's role in the database).

When they resolve:

  1. The contract's status is set to RESOLVED, the winning outcome is recorded, and a resolution timestamp is stored.
  2. Both bet systems settle immediately and off-chain at that outcome:
    • House-book bets — winners paid (stake returned in kind + profit-minus-fee in minted trophies), losers' stakes go to the issuer, as described in How Payouts & Fees Work.
    • P2P trophy wagers — matched wagers pay the winner; unmatched (still-open) wagers are refunded to their opener.

Settlement is best-effort and isolated: each bet/wager settles in its own transaction, and a failure on one is logged without blocking the resolution or the others. The settlement step is idempotent — re-running it never double-pays.

A contract can only be finalized once — already-resolved or already-cancelled contracts are rejected.


What happens to open bets & wagers

On RESOLVE

Winning side Losing side Side nobody is on
House bet WON — stake back in kind + winnings (minted trophies, fee on profit) LOST — stake (cash + trophies) goes to the issuer n/a
Matched wager Winner takes the entire pot Loser gets nothing If the resolved outcome matches neither side: push — both refunded
Unmatched (open) wager Refunded to the opener (never stranded)

On CANCEL

Cancelling a contract (also creator/admin-only) sets status to CANCELLED and triggers a full refund of everything:

  • Every house bet is PUSHED — cash and trophies returned in kind.
  • Every matched wager is refunded to both sides.
  • Every unmatched wager is refunded to its opener.

No fees are charged and no funds move between users on a cancel.


Judge / AI / UMA flows (supported, not the default path)

For contracts configured with a judge-style resolver:

  • Votes are submitted per judge; an outcome resolves once it reaches the contract's judge threshold (default 2).
  • The AI judge can be requested by the creator/admin; its recommendation is recorded as a vote. By default an AI-only majority waits for at least one human vote before finalizing.
  • UMA contracts (which must be deployed on-chain) request resolution from the UMA oracle via the platform operator wallet.

These paths drive the same underlying settlement once a final outcome is reached.


Disputes (high level)

The dispute path exists to challenge a resolution before money is treated as final:

  • Resolution is deliberately gated to the issuer or platform admins/moderators — an ordinary bettor cannot self-resolve a contract in their own favour, and the issuer is barred from betting on their own contract, removing the most obvious conflict of interest.
  • A flagged or contested contract is reviewed by an admin/moderator, who can resolve it to the correct outcome or cancel it — and cancellation refunds every stake in kind, which is the safe fallback whenever the true outcome is unclear or contested.
  • Because settlement is idempotent and per-item isolated, an admin correction re-runs settlement cleanly without double-paying anyone.

In short: if you believe a contract was resolved incorrectly, the remedy is an admin review, whose outcomes are either a corrected resolution or a full-refund cancel — never a silent loss of your staked cash or trophies without one of those two paths.


Status reference

Contract status Meaning for your stake
OPEN Bets and wagers can still be placed; nothing settled.
CLOSED Awaiting resolution (e.g. votes/oracle); no new bets.
RESOLVED Final outcome set; all bets & wagers settled.
CANCELLED Voided; everything refunded in kind.