Skip to main content
Every market has a scheduled resolution time (resolveBy). From there, a permissionless escalation ladder enforced by the on-chain CalibriResolver guarantees the market always settles or refunds — the one thing you trust Calibri for is reporting the correct outcome on time, and that trust is bounded at every step.

Before that: what the outcome is judged against

Two things are published on the market itself, before you trade, so the rules are not something you have to take on trust after the fact.

The answer deadline

Closing and answering are not the same moment. A market carries an answer deadline — when the outcome is expected to become knowable — separately from its close time, which is only when trading stops. Some markets legitimately wait hours after close because the authoritative report publishes later. Without the deadline stated up front that reads as a stuck market; with it, the wait is documented. Where the outcome is expected at close, no separate deadline is shown.

The settlement panel

Manually-settled markets publish the ordered list of authorities their outcome may be determined from. Each source is either a primary (consulted first — a body that publishes the answer itself) or a fallback (used only where no primary has spoken). The order is the content. It is what decides the outcome when two sources disagree, which is the one situation the hierarchy exists for. Some panels are inherited from the market’s series rather than set on the market itself; either way it is shown on the market page and in the API before a single order is placed. A hierarchy that lives only in an admin tool cannot be quoted back at anyone. That is why this is published rather than internal.
Machine-settled markets — a candle direction, a scoreboard — usually carry no panel: the resolution source is the market’s own rule. For the specific feed behind each market type, and the rule that a settlement is never revised, see How markets are resolved.

The escalation ladder

1

Operator report — the normal path

At or after resolveBy, Calibri reports the outcome on-chain. Your winning outcome token becomes redeemable for the full 1.00 USDC/share (see Redeeming winnings); the losing token for 0. One call per market — this is what happens in virtually all cases.
2

Grace window → UMA escalation (≈ 7 days)

If Calibri has not reported by resolveBy + grace window, resolution becomes permissionless: anyone may escalate the question to UMA’s Optimistic Oracle, which returns the true outcome trustlessly — so the market still settles to the correct result and winners are paid, even if Calibri never acts.
3

Deadman forceVoid → 50/50 (hard cap, ≈ 30 days)

As a last resort, once resolveBy + grace window + UMA extension has elapsed (a strictly-later hard cap), anyone may call forceVoid. This resolves the market to an equal [1,1] payout: every YES and every NO share redeems for 0.50 USDC directly from the on-chain contracts.

Timeframes

These windows (≈7-day grace, ≈30-day hard cap) are the resolver’s configured defaults; the contract bounds the grace window to 1 hour–14 days.
Reaching step 2 or 3 means Calibri failed to report. They are a safety net, not the normal path — and they exist so that your funds never depend on Calibri continuing to operate.
A voided market (admin- or deadman-voided) pays 0.50 per share on both sides (see Voids and postponements below). Because each step is permissionless and enforced on-chain, your funds are never frozen: you either get paid the correct outcome (operator or UMA), or — once the deadman cap elapses — you redeem the 0.50 per share straight from the contracts. This is the liveness guarantee that makes the model genuinely self-custodial.

Voids and postponements

A market is voided when its question can no longer be answered: the fixture is abandoned, the event is cancelled, or nobody reported an outcome before the deadman cap elapsed. A void is the same whichever way it happens.
  • Every share pays 0.50 USDC, YES and NO alike. The on-chain payout vector is [1,1]; the off-chain ledger pays the same figure from the market’s escrow.
  • The taker fee on every matched trade is refunded.
  • Resting (unmatched) orders are cancelled and their locked collateral released in full. They never became positions.
  • You redeem the 0.50 per share yourself, exactly like a win. See Redeeming winnings.
A void is not a refund of what you paid. Buy YES at 0.20 and you receive 0.50 per share; buy at 0.90 and you receive 0.50. Outcome tokens carry no record of purchase price, so the chain can only pay one figure per outcome, and once shares have changed hands on the book there is no single “stake” to return. Price in cancellation risk when you buy far from 0.50.
Postponed, not cancelled. When a fixture is delayed rather than abandoned, Calibri can reschedule the market instead of voiding it: trading reopens, every position stays exactly as traded, and the close moves to the new fixture time. Open orders were cancelled when the market first closed, so re-place any you still want. A reschedule is bounded by the on-chain clock: the new close must fall no later than 7 days after the market’s original resolveBy, because past that point UMA escalation is open to anyone. A fixture pushed further out than that is voided at 0.50 per share.

How markets are resolved

The specific data source behind each market type, and the finality rule.

Core concepts

The market lifecycle end to end.

Recurring markets

What settles a price-feed window.

Redeeming winnings

Claiming a payout once a market resolves.