Skip to main content
Room ID: polymarket_oracle_events
Endpoint: wss://api.struct.to/ws
Rate: 0.002 credits per message
Stream typed UMA OOv2/OOv3 oracle lifecycle events plus CTF and NegRisk adapter resolution events. Filter by event type, condition ID, market slug, or event slug. If no filters are provided the room subscribes to all oracle events.

Subscribe

All filters are optional. Combine multiple filters to narrow the stream. If all filters are empty and subscribe_all is false, the room automatically subscribes to all oracle events.

Filters

FilterTypeRequiredDescription
condition_idsstring[]NoFilter by 64-char hex condition IDs (with or without 0x prefix)
market_slugsstring[]NoFilter by market slug
event_slugsstring[]NoFilter by event slug (subscribes to all markets under each event)
oracle_event_typesstring[]NoRestrict to specific event types (see list below)
statusstringNoOne of confirmed (default), pending, or all
subscribe_allbooleanNoExplicitly subscribe to all oracle events

Event types

Valid values for oracle_event_types: AssertionMade, AssertionDisputed, AssertionSettled, RequestPrice, ProposePrice, DisputePrice, Settle, QuestionResolved, QuestionEmergencyResolved, QuestionReset, QuestionInitialized, QuestionPaused, QuestionUnpaused, QuestionFlagged, QuestionUnflagged, ConditionResolution, NegRiskOutcomeReported.

Example

{
  "type": "join_room",
  "payload": {
    "room_id": "polymarket_oracle_events"
  }
}
{
  "type": "room_message",
  "payload": {
    "room_id": "polymarket_oracle_events",
    "message": {
      "action": "subscribe",
      "oracle_event_types": ["QuestionResolved", "ConditionResolution"],
      "condition_ids": ["0xabc123..."]
    }
  }
}

Response

{
  "type": "oracle_events_stream_subscribe_response",
  "room_id": "polymarket_oracle_events",
  "data": {
    "condition_ids": ["0xabc123..."],
    "market_slugs": [],
    "event_slugs": [],
    "oracle_event_types": ["QuestionResolved", "ConditionResolution"],
    "status": "confirmed",
    "subscribe_all": false,
    "rejected": []
  }
}

Events

oracle_event_update

The payload is a discriminated union based on the event_type field. Each variant carries its own fields. All variants share an on-chain envelope (id, hash, block, confirmed_at, log_index, block_index, oracle_contract) and may include the optional market metadata condition_id, question, image_url, slug, event_slug.

AssertionMade

UMA OOv3 truth assertion submitted.
{
  "type": "oracle_event_update",
  "room_id": "polymarket_oracle_events",
  "status": "confirmed",
  "data": {
    "event_type": "AssertionMade",
    "id": "0xassert123",
    "hash": "0xasserthash",
    "block": 65000700,
    "confirmed_at": 1743500700,
    "log_index": 1,
    "block_index": 0,
    "oracle_contract": "0x157Ce2d672854c848c9b79C49a8Cc6cc89176a49",
    "assertion_id": "0x1111111111111111111111111111111111111111111111111111111111111111",
    "domain_id": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "claim": "0x59657300000000000000000000000000000000000000000000000000000000",
    "asserter": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
    "callback_recipient": "0xCB1822859cEF82Cd2Eb4E6276C7916e692995130",
    "escalation_manager": "0x0000000000000000000000000000000000000000",
    "caller": "0xCB1822859cEF82Cd2Eb4E6276C7916e692995130",
    "expiration_time": 1743600000,
    "currency": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
    "bond": "5000000000",
    "identifier": "0x59455320204f5220204e4f000000000000000000000000000000000000000000",
    "condition_id": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
    "proposed_outcome": "Yes",
    "slug": "will-bitcoin-hit-100k",
    "event_slug": "bitcoin-price-markets"
  }
}

AssertionDisputed

UMA OOv3 assertion challenged within liveness.
{
  "type": "oracle_event_update",
  "room_id": "polymarket_oracle_events",
  "status": "confirmed",
  "data": {
    "event_type": "AssertionDisputed",
    "id": "0xdispute123",
    "hash": "0xdisputehash",
    "block": 65000800,
    "confirmed_at": 1743500800,
    "log_index": 4,
    "block_index": 0,
    "oracle_contract": "0x157Ce2d672854c848c9b79C49a8Cc6cc89176a49",
    "assertion_id": "0x1111111111111111111111111111111111111111111111111111111111111111",
    "caller": "0xCB1822859cEF82Cd2Eb4E6276C7916e692995130",
    "disputer": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
    "condition_id": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
  }
}

AssertionSettled

UMA OOv3 assertion finalized (liveness expired or DVM resolved).
{
  "type": "oracle_event_update",
  "room_id": "polymarket_oracle_events",
  "status": "confirmed",
  "data": {
    "event_type": "AssertionSettled",
    "id": "0xsettle123",
    "hash": "0xsettlehash",
    "block": 65000900,
    "confirmed_at": 1743500900,
    "log_index": 2,
    "block_index": 0,
    "oracle_contract": "0x157Ce2d672854c848c9b79C49a8Cc6cc89176a49",
    "assertion_id": "0x1111111111111111111111111111111111111111111111111111111111111111",
    "bond_recipient": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
    "disputed": false,
    "settlement_resolution": true,
    "settle_caller": "0xCB1822859cEF82Cd2Eb4E6276C7916e692995130",
    "condition_id": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
  }
}

RequestPrice

UMA OOv2 price request created (resolution lookup begins).
{
  "type": "oracle_event_update",
  "room_id": "polymarket_oracle_events",
  "status": "confirmed",
  "data": {
    "event_type": "RequestPrice",
    "id": "0xreq123",
    "hash": "0xreqhash",
    "block": 65001000,
    "confirmed_at": 1743501000,
    "log_index": 0,
    "block_index": 0,
    "oracle_contract": "0x157Ce2d672854c848c9b79C49a8Cc6cc89176a49",
    "requester": "0xCB1822859cEF82Cd2Eb4E6276C7916e692995130",
    "identifier": "0x59455320204f5220204e4f000000000000000000000000000000000000000000",
    "timestamp": "1743501000",
    "ancillary_data": "0x713a2057696c6c20425443206869742024313030483f",
    "currency": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
    "reward": "0",
    "final_fee": "1500000000",
    "condition_id": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
  }
}

ProposePrice

UMA OOv2 outcome proposed by a proposer.
{
  "type": "oracle_event_update",
  "room_id": "polymarket_oracle_events",
  "status": "confirmed",
  "data": {
    "event_type": "ProposePrice",
    "id": "0xpropose123",
    "hash": "0xproposehash",
    "block": 65001100,
    "confirmed_at": 1743501100,
    "log_index": 1,
    "block_index": 0,
    "oracle_contract": "0x157Ce2d672854c848c9b79C49a8Cc6cc89176a49",
    "requester": "0xCB1822859cEF82Cd2Eb4E6276C7916e692995130",
    "proposer": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
    "identifier": "0x59455320204f5220204e4f000000000000000000000000000000000000000000",
    "timestamp": "1743501000",
    "ancillary_data": "0x713a2057696c6c20425443206869742024313030483f",
    "proposed_price": 1000000000000000000,
    "expiration_timestamp": "1743600000",
    "currency": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
    "condition_id": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
    "proposed_outcome": "Yes"
  }
}

DisputePrice

UMA OOv2 proposal challenged.
{
  "type": "oracle_event_update",
  "room_id": "polymarket_oracle_events",
  "status": "confirmed",
  "data": {
    "event_type": "DisputePrice",
    "id": "0xdispprice123",
    "hash": "0xdispricehash",
    "block": 65001200,
    "confirmed_at": 1743501200,
    "log_index": 3,
    "block_index": 0,
    "oracle_contract": "0x157Ce2d672854c848c9b79C49a8Cc6cc89176a49",
    "requester": "0xCB1822859cEF82Cd2Eb4E6276C7916e692995130",
    "proposer": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
    "disputer": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
    "identifier": "0x59455320204f5220204e4f000000000000000000000000000000000000000000",
    "timestamp": "1743501000",
    "ancillary_data": "0x713a2057696c6c20425443206869742024313030483f",
    "proposed_price": 1000000000000000000,
    "condition_id": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
  }
}

Settle

UMA OOv2 request settled (proposer or DVM payout).
{
  "type": "oracle_event_update",
  "room_id": "polymarket_oracle_events",
  "status": "confirmed",
  "data": {
    "event_type": "Settle",
    "id": "0xs123",
    "hash": "0xshash",
    "block": 65001300,
    "confirmed_at": 1743501300,
    "log_index": 1,
    "block_index": 0,
    "oracle_contract": "0x157Ce2d672854c848c9b79C49a8Cc6cc89176a49",
    "requester": "0xCB1822859cEF82Cd2Eb4E6276C7916e692995130",
    "proposer": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
    "disputer": "0x0000000000000000000000000000000000000000",
    "identifier": "0x59455320204f5220204e4f000000000000000000000000000000000000000000",
    "timestamp": "1743501000",
    "ancillary_data": "0x713a2057696c6c20425443206869742024313030483f",
    "proposed_price": 1000000000000000000,
    "payout": "5000000000",
    "disputed": false,
    "condition_id": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
  }
}

QuestionResolved

UMA CTF Adapter: market resolved with definitive outcome.
{
  "type": "oracle_event_update",
  "room_id": "polymarket_oracle_events",
  "status": "confirmed",
  "data": {
    "event_type": "QuestionResolved",
    "id": "0xresolved123",
    "hash": "0xresolvedhash",
    "block": 65001400,
    "confirmed_at": 1743501400,
    "log_index": 2,
    "block_index": 0,
    "oracle_contract": "0x157Ce2d672854c848c9b79C49a8Cc6cc89176a49",
    "condition_id": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
    "settled_price": 1000000000000000000,
    "proposed_outcome": "Yes",
    "slug": "will-bitcoin-hit-100k",
    "event_slug": "bitcoin-price-markets"
  }
}

QuestionEmergencyResolved

UMA CTF Adapter: admin emergency resolution.
{
  "type": "oracle_event_update",
  "room_id": "polymarket_oracle_events",
  "status": "confirmed",
  "data": {
    "event_type": "QuestionEmergencyResolved",
    "id": "0xemerg123",
    "hash": "0xemerghash",
    "block": 65001500,
    "confirmed_at": 1743501500,
    "log_index": 0,
    "block_index": 0,
    "oracle_contract": "0x157Ce2d672854c848c9b79C49a8Cc6cc89176a49",
    "condition_id": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
    "proposed_outcome": "No"
  }
}

QuestionReset

UMA CTF Adapter: dispute succeeded, market returns to active.
{
  "type": "oracle_event_update",
  "room_id": "polymarket_oracle_events",
  "status": "confirmed",
  "data": {
    "event_type": "QuestionReset",
    "id": "0xreset123",
    "hash": "0xresethash",
    "block": 65001600,
    "confirmed_at": 1743501600,
    "log_index": 0,
    "block_index": 0,
    "oracle_contract": "0x157Ce2d672854c848c9b79C49a8Cc6cc89176a49",
    "condition_id": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
  }
}

QuestionInitialized

UMA CTF Adapter: questionID first initialized on-chain.
{
  "type": "oracle_event_update",
  "room_id": "polymarket_oracle_events",
  "status": "confirmed",
  "data": {
    "event_type": "QuestionInitialized",
    "id": "0xinit123",
    "hash": "0xinithash",
    "block": 65001700,
    "confirmed_at": 1743501700,
    "log_index": 1,
    "block_index": 0,
    "oracle_contract": "0x157Ce2d672854c848c9b79C49a8Cc6cc89176a49",
    "condition_id": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
    "creator": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
    "reward_token": "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
    "reward": "0",
    "proposal_bond": "5000000000"
  }
}

QuestionPaused / QuestionUnpaused

UMA CTF Adapter: market paused or unpaused by admin.
{
  "type": "oracle_event_update",
  "room_id": "polymarket_oracle_events",
  "status": "confirmed",
  "data": {
    "event_type": "QuestionPaused",
    "id": "0xpause123",
    "hash": "0xpausehash",
    "block": 65001800,
    "confirmed_at": 1743501800,
    "log_index": 0,
    "block_index": 0,
    "oracle_contract": "0x157Ce2d672854c848c9b79C49a8Cc6cc89176a49",
    "condition_id": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
  }
}

QuestionFlagged / QuestionUnflagged

UMA CTF Adapter: market flagged for emergency resolution, or flag removed.
{
  "type": "oracle_event_update",
  "room_id": "polymarket_oracle_events",
  "status": "confirmed",
  "data": {
    "event_type": "QuestionFlagged",
    "id": "0xflag123",
    "hash": "0xflaghash",
    "block": 65002000,
    "confirmed_at": 1743502000,
    "log_index": 0,
    "block_index": 0,
    "oracle_contract": "0x157Ce2d672854c848c9b79C49a8Cc6cc89176a49",
    "condition_id": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
  }
}

ConditionResolution

CTF: positions become redeemable.
{
  "type": "oracle_event_update",
  "room_id": "polymarket_oracle_events",
  "status": "confirmed",
  "data": {
    "event_type": "ConditionResolution",
    "id": "0xcondres123",
    "hash": "0xcondreshash",
    "block": 65002200,
    "confirmed_at": 1743502200,
    "log_index": 5,
    "block_index": 0,
    "oracle_contract": "0x4D97DCd97eC945f40cF65F87097ACe5EA0476045",
    "condition_id": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
    "oracle": "0x157Ce2d672854c848c9b79C49a8Cc6cc89176a49",
    "proposed_outcome": "Yes"
  }
}

NegRiskOutcomeReported

NegRisk Adapter: neg-risk market outcome determined.
{
  "type": "oracle_event_update",
  "room_id": "polymarket_oracle_events",
  "status": "confirmed",
  "data": {
    "event_type": "NegRiskOutcomeReported",
    "id": "0xnegrisk123",
    "hash": "0xnegriskhash",
    "block": 65002300,
    "confirmed_at": 1743502300,
    "log_index": 0,
    "block_index": 0,
    "oracle_contract": "0xd91E80cF2E7be2e162c6513ceD06f1dD0dA35296",
    "condition_id": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
    "proposed_outcome": "Yes"
  }
}
Pending events: With status: "pending" or status: "all", mempool entries are delivered as soon as the transaction is seen. Fields unavailable from mempool (block, confirmed_at, log_index, block_index) are omitted, and received_at (Unix milliseconds) is included instead.
Last modified on April 25, 2026