Skip to main content
Event: market_resolved
Cost: 0.1 credits per delivery
The market_resolved event fires once when a market reaches a terminal resolution. It collapses the underlying oracle events (QuestionResolved, QuestionEmergencyResolved, ConditionResolution, NegRiskOutcomeReported) into a single notification carrying the winning outcome and, when available, the settled price. The full payload schema is in the auto-generated Market Resolved callback reference; this page documents the filters and matching behavior.

When to use this

  • Settle positions and update balances the moment a market resolves, without parsing raw oracle events.
  • Notify users of the final outcome on markets they follow.
  • Trigger payout, accounting, or archival workflows on resolution.

Why not oracle_events?

oracle_events delivers every raw on-chain oracle action, and a single resolution can emit several of them in a burst. market_resolved projects that burst into one clean, deduplicated delivery per market with the winning outcome already resolved, so you do not have to reconcile the lifecycle yourself.

Subscription filters

Add these to the filters object when you create the subscription. All filters are optional.
FilterTypeDescription
condition_idsstring[]Restrict to specific markets by condition ID (max 500).
event_slugsstring[]Restrict to specific events by slug (max 500).
outcomesstring[]Only fire when the winning outcome matches one of these, e.g. ["Yes"] (max 500).
exclude_shortterm_marketsbooleanExclude short-term Up/Down markets.

Example

{
  "url": "https://your-server.com/webhooks",
  "event": "market_resolved",
  "filters": {
    "event_slugs": ["us-presidential-election-2028"]
  }
}

Notes

  • Fires once per market. The resolution burst is deduplicated, so you receive a single delivery even though several oracle events back it.
  • resolution_kind reports which oracle event produced the resolution (question_resolved, question_emergency_resolved, condition_resolution, or neg_risk_outcome_reported).
  • settled_price is present only when the resolution event carries one (QuestionResolved): 1.0 = full YES, 0.0 = full NO, 0.5 = split.
Last modified on June 15, 2026