Prediction Market Resolution Evidence Checker avatar

Prediction Market Resolution Evidence Checker

Pricing

from $50.00 / 1,000 market checks

Go to Apify Store
Prediction Market Resolution Evidence Checker

Prediction Market Resolution Evidence Checker

Paste Kalshi weather market URLs or tickers and get the live NWS/METAR observation that resolves them: running daily high or low at the exact settlement station, implied outcome, and a confidence grade. Hold-or-close evidence for $0.05 per market checked.

Pricing

from $50.00 / 1,000 market checks

Rating

0.0

(0)

Developer

Jack Sheward

Jack Sheward

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Prediction Market Resolution Evidence Checker

Paste prediction market URLs or tickers — get back the live underlying observable that resolves each market, with source link, implied outcome, and a confidence grade. For a Kalshi NYC daily-high bracket, that means: the running daily high at Central Park (KNYC) right now, from the same official observation chain the market settles against — so you can decide whether to hold or close the position before settlement.

v0.1 covers weather (temperature) markets: full observation evidence for all Kalshi KXHIGH (daily high) and KXLOW (daily low) series across 20 US cities, each mapped to the exact settlement station — including the gotchas (Chicago = Midway, Dallas = DFW, Houston = Hobby). Polymarket weather URLs are accepted and return live market data, but observation evidence for them is not yet supported (see Limitations).

No login, no API keys — everything comes from public, unauthenticated APIs (Kalshi market data, Polymarket gamma, aviationweather.gov, api.weather.gov).

What you get

One record per market checked:

FieldExampleNotes
market_urlinput URL/tickernull for auto-discovered markets
tickerKXHIGHNY-26JUN11-B92.5market identifier (Kalshi ticker / Polymarket slug)
event_tickerKXHIGHNY-26JUN11groups the brackets of one city-day
platformkalshikalshi or polymarket
market_titleWill the high temp in NYC be 92-93° …
city, station_idNYC, KNYCthe exact station the market settles on
series_typeKXHIGHKXHIGH (daily high) or KXLOW (daily low)
strike_type, floor_strike, cap_strikebetween, 92, 93bracket bounds in °F
bracket_label92° to 93°human-readable bracket
resolution_date2026-06-11the station-local calendar day being measured
market_statusactiveactive / finalized etc. straight from the platform
current_yes_bid, current_yes_ask, last_price0.06, 0.07, 0.06USD per contract
underlying_observableobjectthe evidence — see below
market_implied_outcomenoyes / no / uncertain — how the bracket would settle if the running value were final
resolution_confidencehighhigh / medium / low (unsupported for Polymarket)
notesarraysettlement results, staleness flags, hold/close direction hints

The underlying_observable object:

{
"source": "aviationweather.gov",
"metric": "daily_high_f",
"value_f": 90.0,
"latest_obs_f": 90.0,
"as_of_utc": "2026-06-11T22:00:00Z",
"obs_count": 19,
"station_local_day": "2026-06-11",
"url": "https://aviationweather.gov/api/data/metar?ids=KNYC&format=json&hours=20"
}

value_f is the running daily high (or low) computed over the station's local calendar day — observations before local midnight are excluded, exactly the windowing the market resolves on. url is the public source query so every number is auditable.

Example full record (live output, lightly trimmed):

{
"market_url": "KXHIGHNY-26JUN11-B92.5",
"ticker": "KXHIGHNY-26JUN11-B92.5",
"event_ticker": "KXHIGHNY-26JUN11",
"platform": "kalshi",
"market_title": "Will the high temp in NYC be 92-93° on Jun 11, 2026?",
"city": "NYC",
"station_id": "KNYC",
"series_type": "KXHIGH",
"strike_type": "between",
"floor_strike": 92,
"cap_strike": 93,
"bracket_label": "92° to 93°",
"resolution_date": "2026-06-11",
"market_status": "active",
"current_yes_bid": 0.06,
"current_yes_ask": 0.07,
"last_price": 0.06,
"underlying_observable": {
"source": "aviationweather.gov",
"metric": "daily_high_f",
"value_f": 90.0,
"latest_obs_f": 90.0,
"as_of_utc": "2026-06-11T22:00:00Z",
"obs_count": 19,
"station_local_day": "2026-06-11",
"url": "https://aviationweather.gov/api/data/metar?ids=KNYC&format=json&hours=20"
},
"market_implied_outcome": "no",
"resolution_confidence": "high",
"notes": [
"running high below the bracket — could still rise into it"
]
}

Export as JSON, CSV, or Excel directly from the dataset.

Input

{
"marketUrls": [
"https://kalshi.com/markets/kxhighny",
"KXHIGHNY-26JUN12-T97",
"KXHIGHNY-26JUN12",
"https://polymarket.com/event/highest-temperature-in-hong-kong-on-june-11-2026"
]
}

Or run with no input at all — auto-discovery checks today's open NYC daily-high event:

{}
  • marketUrls — up to 50 entries, mix and match:
    • full kalshi.com market/event/series URLs (any path shape — the ticker is extracted from the URL),
    • bare Kalshi tickers: market (KXHIGHNY-26JUN12-T97), event (KXHIGHNY-26JUN12), or series (KXHIGHNY → resolves to today's soonest-closing open event),
    • polymarket.com/event/... or /market/... URLs (market data only in v0.1).
    • Case-insensitive. A bad entry never kills the run — it becomes a record with notes explaining the problem.
  • autoDiscover (default true) — when marketUrls is empty, the actor finds today's soonest-closing open Kalshi NYC daily-high (KXHIGHNY) event and checks every bracket in it. This is intentional: a hardcoded example URL would die the day that market settles, while auto-discovery always lands on a live market — so the default run (which the platform also uses for daily health checks) keeps working forever.
  • fields — optional list to slim the top-level output (e.g. ["market_implied_outcome"]); market_url, ticker, platform are always kept.

How outcomes and confidence are graded

  • market_implied_outcome — how the bracket would settle if the running value were the final settled value: yes, no, or uncertain when the running value is within 1°F of a strike boundary (settlement-source rounding can flip those) or the observations are stale.
  • resolution_confidencehigh: latest obs under 90 minutes old (or the local day is already complete) with a cleanly mapped station; medium: obs 90 min–3 h old; low: stale obs, unknown station, or unparseable market.
  • notes carry the directional read for daily extremes: a running daily high can only rise, so "running high already above the bracket" means NO is locked in METAR terms, while "below the bracket" can still flip. Settled markets get the official result and settlement value in notes.

Supported platforms and cities

PlatformMarketsEvidence
Kalshiall KXHIGH/KXLOW daily temperature brackets, live or settledfull: running daily high/low at the settlement station
Polymarketdaily temperature events/markets by URLmarket data only (resolution_confidence: "unsupported", market_implied_outcome: "uncertain")

Kalshi settlement stations (the mapping mistakes that cost real traders money are handled):

CityKXHIGHKXLOWStation
NYCKXHIGHNYKXLOWTNYCKNYC (Central Park)
ChicagoKXHIGHCHIKXLOWTCHIKMDW (Midway, not O'Hare)
MiamiKXHIGHMIAKXLOWTMIAKMIA
AustinKXHIGHAUSKXLOWTAUSKAUS
Los AngelesKXHIGHLAXKXLOWTLAXKLAX
DenverKXHIGHDENKXLOWTDENKDEN
PhoenixKXHIGHTPHXKXLOWTPHXKPHX
PhiladelphiaKXHIGHPHILKXLOWTPHILKPHL
HoustonKXHIGHTHOUKXLOWTHOUKHOU (Hobby, not Bush/IAH)
MinneapolisKXHIGHTMINKXLOWTMINKMSP
Oklahoma CityKXHIGHTOKCKXLOWTOKCKOKC
San FranciscoKXHIGHTSFOKXLOWTSFOKSFO
Washington DCKXHIGHTDCKXLOWTDCKDCA
BostonKXHIGHTBOSKXLOWTBOSKBOS
DallasKXHIGHTDALKXLOWTDALKDFW (not Love Field)
SeattleKXHIGHTSEAKXLOWTSEAKSEA
Las VegasKXHIGHTLVKXLOWTLVKLAS
AtlantaKXHIGHTATLKXLOWTATLKATL
San AntonioKXHIGHTSATXKXLOWTSATXKSAT
New OrleansKXHIGHTNOLAKXLOWTNOLAKMSY

Pricing

$0.05 per market checked, plus a small per-run start fee — no subscription. One Kalshi event (one city-day) is typically 6–14 brackets, so grading a full event costs about $0.30–0.70 — a fraction of one mispriced contract.

Limitations (read this before trading on the output)

  • Weather markets only in v0.1. Sports, crypto, politics and other Kalshi/Polymarket markets are rejected with a clear note, not checked.
  • Observations are evidence, not a settlement guarantee. Kalshi settles KXHIGH/KXLOW on the official NWS CLI climate report for the station, which can differ from the running METAR value — typically by rounding, occasionally by 1°F or more (the CLI includes 6-hour max/min groups and corrections that hourly METARs miss). That is exactly why values within 1°F of a strike are reported as uncertain rather than called.
  • A running daily high can still rise (and a low can still fall) until the local day ends. A yes on a "between" bracket mid-afternoon can still flip; the notes tell you which side is locked and which is still open.
  • Polymarket weather markets get market data only. They resolve per-city on sources like Wunderground station history in whole degrees Celsius — a different source family that v0.1 does not map. Those records carry resolution_confidence: "unsupported" and an honest note instead of a misleading number.
  • Observation lookback is 72 hours: markets older than that return settled status without observation evidence.

FAQ

How do I know if my Kalshi weather market will resolve YES?

Run this actor with your market URL or ticker. If the running daily high is already above a "greater" strike, YES is locked in METAR terms (a daily high cannot go back down) — the record says so in notes. If the value is below the strike, the market is still open to movement, and market_implied_outcome tells you how it would settle at this moment.

Should I close my position before settlement?

That's your call — this actor gives you the evidence: current bid/ask, the live observed value vs your strikes, whether your side is locked or still in play, and how fresh the observation is. Dead brackets (running high already past the cap) are the classic close-now case.

What does uncertain mean?

The running value is within 1°F of a strike boundary (settlement rounding could flip it), or the latest observation is more than 3 hours old. It deliberately refuses to call coin-flips.

How accurate is the resolution evidence for Kalshi temperature markets?

The observations come from the same station chain (ASOS/METAR via aviationweather.gov) that feeds the official NWS CLI climate report Kalshi settles on. They agree on the vast majority of city-days; when they differ it is usually rounding at a strike boundary — exactly the cases this actor reports as uncertain instead of calling. Treat the evidence as the strongest available real-time signal, not a settlement oracle.

Which station does my market settle on?

Every record carries station_id — the exact station Kalshi's CLI climate report covers, including the non-obvious ones: Chicago is Midway (KMDW), Dallas is DFW, Houston is Hobby (KHOU), NYC is Central Park (KNYC).

Does this work for Polymarket weather markets?

Partially: paste the URL and you get the live market data (brackets, prices, end date) with resolution_confidence: "unsupported" — v0.1 does not fetch the Celsius observation sources those markets resolve on. Full Polymarket support is the v0.2 candidate.

What happens when a market is already settled?

You get the official result and settlement value in notes, plus the observed daily high/low for that day when it's within the 72-hour observation window — useful for auditing how settlement compared to METAR evidence.

Is this affiliated with Kalshi or Polymarket? Does it trade?

No and no. It reads public, unauthenticated market-data and weather APIs. No account, no credentials, no orders — evidence only.

Use with AI agents (MCP)

Connect your agent to the Apify MCP server (mcp.apify.com) and it can call this actor as a tool: ask "will KXHIGHNY-26JUN12-T97 resolve YES?" and the agent passes the ticker, gets back the running daily high at the settlement station, the implied outcome, and a confidence grade. Built for hold-or-close decisions inside agentic trading workflows.

More prediction-market data actors