Resolutions

Current resolution lifecycle snapshot for one market

Returns the current resolution state for one market — status (e.g. proposed/disputed/resolved), the UMA-style proposal/dispute metadata, and (once resolved) the payout numerators. For kalshi-style providers the ticker identifies the market directly; for CTF venues (polymarket, predictfun, opinion) the market id is resolved to its on-chain condition id internally. Rate-limit bucket: LIGHT.

The response caches for a short window (Cache-Control header with a strong ETag / 304 support) because proposals move through a roughly 2-hour challenge window — a longer cache lifetime would routinely misreport "proposed" as already final.

get/v1/markets/{provider}/{market_id}/resolution

Request

  • Base URL
    https://md.kairos.trade
  • Auth
    • none
    • or API key in header X-Client-Id and API key in header X-Api-Key and API key in header X-Api-Secret

Path parameters

provider'kalshi' | 'polymarket' | 'opinion' | 'predictfun' | 'hyperliquid' | 'kalshi_offchain' | 'dome' required
market_idstring required

For kalshi, the ticker (used directly as market_key). For CTF venues, the market id — resolved to its condition_id internally.

Response

Resolution lifecycle snapshot.

providerstring required

Canonical provider name.

market_idstring required

Echoes the requested market_id/ticker.

condition_idstring required

On-chain condition id (CTF venues); empty string for kalshi.

statusstring required

Lifecycle status. Observed values include proposed, disputed, and resolved; not an exhaustive enum.

proposed_pricenumber nullable required

Normalized proposed settlement price, or null if none proposed yet.

proposed_atstring nullable required

ISO8601 UTC.

challenge_window_ends_atstring nullable required

ISO8601 UTC. Null until a proposal starts the challenge window.

proposerstring required

Proposer address; empty string if none.

disputerstring required

Disputer address; empty string if undisputed.

dispute_countinteger required
reset_countinteger required
payout_numeratorsinteger[] required

Empty array until resolved.

resolved_tsstring nullable required

ISO8601 UTC. Null until resolved.

last_event_tsstring required

ISO8601 UTC timestamp of the most recent lifecycle event.

Example response

{
  "provider": "polymarket",
  "market_id": "516710",
  "condition_id": "0xcond123",
  "status": "proposed",
  "proposed_price": 0.5,
  "proposed_at": "2026-07-15T09:30:00+00:00",
  "proposer": "0xprop",
  "dispute_count": 1,
  "last_event_ts": "2026-07-15T09:30:00+00:00"
}

Changes

No recorded changes to this operation across all 1 revision of this API.