> ## Documentation Index
> Fetch the complete documentation index at: https://docs.struct.to/llms.txt
> Use this file to discover all available pages before exploring further.

# Market Resolved

> Fire a webhook once when a market reaches a terminal resolution.

<Note>
  **Event:** `market_resolved` \
  **Cost:** 0.1 credits per delivery
</Note>

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](/api-reference/webhook-callbacks/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`](/webhooks/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.

| Filter                      | Type      | Description                                                                                                                                                                               |
| --------------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `condition_ids`             | string\[] | Restrict to specific markets by condition ID (max 500).                                                                                                                                   |
| `event_slugs`               | string\[] | Restrict to specific events by slug (max 500).                                                                                                                                            |
| `outcomes`                  | string\[] | Only fire when the winning outcome matches one of these, e.g. `["Yes"]` (max 500). Note that multiple choice and esports markets often have non-standard outcome names (e.g. team names). |
| `exclude_shortterm_markets` | boolean   | Exclude short-term Up/Down markets.                                                                                                                                                       |

## Example

```json theme={null}
{
  "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.
