Payouts
Markets resolve through a small set of well-defined steps. Here's what happens between "deadline passes" and "your wallet receives USDC".
Lifecycle
Every market moves through this state machine:
A few notes:
- Deadline enforcement is lazy. The first instruction that touches a market after its deadline auto-transitions it to
PendingResolution. You don't have to call anything yourself. - Only the assigned oracle for a market can call
resolve_market. Oracles are role-gated by on-chain PDAs. - Once
Resolved, anyone holding winning tokens can callclaim_payoutto redeem.
How winning is decided
| Market | Winning condition |
|---|---|
| Binary | The side that matches the resolved outcome (Yes or No) |
| Multi-outcome | The single outcome that matches the oracle's submitted result |
| Continuous | The single bin whose interval contains the resolved value |
For continuous markets, the resolved value is a number on the number line, and that number lands in exactly one bin. Your tokens for that bin pay out at $1 each (less the redemption fee). Tokens for any other bin go to zero.
Why distribution buys still pay off
Even though only one bin wins, you don't have to nail it exactly. When you place a distribution buy, your stake gets split across many bins weighted by the Gaussian. So:
- If the outcome lands in your peak bin, most of your tokens win.
- If the outcome lands one bin off, you win on a slightly smaller share of your tokens (but still a meaningful slice; most of the curve's mass is near the peak).
- If the outcome lands in the deep tail of your curve, only a small fraction of your tokens win.
Sharper curves concentrate more weight near the peak (high reward when correct, less forgiving when off). Wider curves spread the weight (lower peak reward, but you're never completely shut out).
Calculating what you'd actually receive
Your gross payout is roughly:
gross_payout = winning_bin_tokens × $1 × (1 - redemption_fee)
Where winning_bin_tokens is whatever you accumulated in the resolving bin from your distribution buy. This is the on-chain truth.
The "max payout" and "break-even within ±$X" numbers shown in the trading UI are derived from a closed-form approximation that works under realistic AMM conditions but isn't a guarantee. The AMM is dynamic; what other traders do between your buy and resolution will move prices.
Claiming
After resolve_market, you call claim_payout (the UI does this automatically when you visit a resolved market). The protocol burns your winning tokens and transfers USDC to your wallet, less the redemption fee.
There's no time limit on claims. Forgotten positions don't expire.