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:
- The contract's status is set to RESOLVED, the winning outcome is recorded, and a resolution timestamp is stored.
- 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. |