> ## 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

> Get notified once when a market reaches a terminal resolution.

<Note>
  **Event:** `market_resolved` \
  **Endpoint:** `wss://api.struct.to/ws/alerts` \
  **Cost:** 0.1 credits per event
</Note>

Get notified once when a market reaches a terminal resolution. The alert collapses the underlying oracle events (`QuestionResolved`, `QuestionEmergencyResolved`, `ConditionResolution`, `NegRiskOutcomeReported`) into a single notification carrying the winning outcome and, when available, the settled price.

<Tip>
  Prefer this over [`oracle_events`](/websockets/alerts/oracle-events) when you only care about the final result. A single resolution emits several raw oracle events; `market_resolved` deduplicates them into one delivery per market.
</Tip>

## Filters

| Filter                      | Type      | Required | Description                                                                                                                                                                  |
| --------------------------- | --------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `condition_ids`             | string\[] | No       | Restrict to specific conditions (max 500)                                                                                                                                    |
| `event_slugs`               | string\[] | No       | Restrict to specific events (max 500)                                                                                                                                        |
| `outcomes`                  | string\[] | No       | Only fire when the winning outcome matches, 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   | No       | Exclude short-term `updown` markets from results                                                                                                                             |

## Subscribe

```json theme={null}
{
  "op": "subscribe",
  "event": "market_resolved",
  "event_slugs": ["us-presidential-election-2028"]
}
```

## Response

```json theme={null}
{
  "event": "market_resolved",
  "timestamp": 1775913505260,
  "data": {
    "condition_id": "0x4fec624c0ff2bfae89956cebd6fbc9c58f995f824382dc587dc5a32a4b15940b",
    "winning_outcome": "Yes",
    "settled_price": 1.0,
    "resolution_kind": "question_resolved",
    "question": "Will candidate X win the 2028 election?",
    "market_slug": "will-candidate-x-win",
    "event_slug": "us-presidential-election-2028",
    "image_url": "https://polymarket-upload.s3.us-east-2.amazonaws.com/will-candidate-x-win.png",
    "hash": "0x1f2e3d4c5b6a7988deadbeefcafebabe0011223344556677889900aabbccddee",
    "block": 19456789,
    "confirmed_at": 1713012000
  }
}
```

`resolution_kind` is one of `question_resolved`, `question_emergency_resolved`, `condition_resolution`, or `neg_risk_outcome_reported`. `settled_price` is present only for `QuestionResolved` (`1.0` = full YES, `0.0` = full NO, `0.5` = split).
