WeatherMarket.io
Sign in
Technical whitepaper · v2 (2026-09-24)

WeatherMarket.io

A settlement simulator for weather-contingent products. It lists prediction markets, temperature ladders and parametric covers on 167 cities, prices them from a sixteen-day forecast, and settles every one of them on a determination published by the Weather Data Market oracle — with the oracle's run, its per-source readings and its on-chain anchor on the page before anything settles. All balances are virtual.

This document describes weathermarket.io. The oracle itself is described in its own whitepaper (v3, 2026-09); where the two differ, the oracle's governs anything about the data.

Abstract

A weather contract is only as good as the number it settles on and the willingness of the losing side to accept it. Weather Data Market answers the first half: every hour it reduces eleven meteorological feeds to one consensus value per metric, checks it against the observation class, hashes the run and anchors it on Flare, and sells determinations — met, not met or withheld — on conditions a buyer opens. This simulator answers the second half by showing what products built on those determinations look like when people actually trade them: how they are priced, how the settlement risk of a city is shown before anyone trades, what a withheld hour does to a position, and whether the evidence on the page is enough for the losing side to accept the outcome.

Nothing is settled here on a number the oracle did not publish. Where the oracle offers an official determination the simulator uses it; where a product needs a value the determinations API does not cover — an index, a station's local day, the METAR reading inside a run — the simulator reads the oracle's own published record for that hour and says so on the settled market.

1. What the simulator is for

Parametric insurance, crop and energy hedges and prediction markets all reduce to the same question: did a condition hold at a time? The engineering of such products is mostly about the edges — hours the feeds cannot corroborate, stations that go quiet, a forecast that moves after listing, a market nobody wants to trade because it opened at 3%. Those edges are what this simulator exercises.

It is a demonstration environment. Every account starts with 10,000 sUSDT, a unit of account with no monetary value that cannot be deposited, withdrawn, transferred or redeemed. No wager, derivative or insurance contract is formed. Accounts exist only behind a sign-in (email and password); the earlier guest-cookie accounts were retired and their history claimed onto the signed-in account.

2. The oracle it runs on

Weather Data Market is the official Web3 weather oracle of KWeather Co., Ltd. It collects eleven feeds for 167 cities every hour — three fetched directly (KWeather, METAR, MET Norway) and eight through Open-Meteo (seven national models and the vendor's own blend) — reduces each metric to a consensus value, and publishes two unit-free indices on fixed, versioned weights: WDI, the Weather Data Index (a composite), and TDI, the Temperature Data Index (the temperature component alone). The oracle names its estimator as a median with MAD outlier rejection; its parameters, tolerances, weights and freshness rules are proprietary and are not described here.

Verdict per run

Every run is checked against the observation class — airport METAR and KWeather's station and GTS feed — not against a single station. The oracle grades the run verified (more fresh observations agree than disagree and at least two agree), single_source, mixed, mismatch or unverified, and ships the agreeing, disagreeing and abstaining counts with the verdict. Whether an hour is settlement-eligible, overall and per metric, comes from the oracle; this site does not recompute it.

Anchoring

Since 23 September 2026 the anchor of record is the SnapshotAnchor contract on Flare mainnet (0x2B59…5091): one transaction per run, never overwritten. A second Flare contract, DeterminationRegistry, publishes resolved verdicts and marks one settlement-grade when its run is anchored. Runs before that date also carry first-generation anchors — an IndexAnchored event on BNB Chain and a legacy XRP Ledger memo — which remain verifiable; the SHA-256 is the same on each. Payments to the oracle are in native XRP on the XRP Ledger; USDT on BNB Chain was retired on the same date.

What the simulator consumes

Oracle endpointUsed for
/api/v1/indexThe current run per city: consensus, indices, per-source readings, outliers, corroboration, verdict, eligibility per metric.
/api/v1/index/sourcesThe same per-source readings for recent runs: the run-by-run strip, the ladder's METAR settlement.
/api/v1/index/historyIndex history for charts and for pricing index markets.
/api/v1/sub/forecastSixteen-day daily and hourly forecast; tz=station cuts it on the station's local day.
/api/v1/station/{icao}/daily, /observationsA station's local calendar day and its raw METAR observations, for station-day markets.
/api/v1/determinationsOfficial determinations on temperature, humidity, wind and rain conditions.
/api/v1/health, /api/v1/index/snapshotsThe latest run id, and the anchor of every run shown on the site.

The simulator holds a subscription token, so everything above is licensed for its cities. The token is a server-side secret; nothing on the site exposes it.

3. System architecture

oracle (weathermarket.ai)                      simulator (weathermarket.io)
────────────────────────                      ────────────────────────────────────────────
hourly run ── /index ────────────► ingest   :05 :35   every city behind the latest run
                                                      is refreshed; calls paced 1/s
          ── /sub/forecast ──────► ingest             forecast rows (16 d, station day)
                                      │
                                      ▼
                                 catalogue  :20      YES/NO lines, station days,
                                                      temperature ladders
                                      │
                                      ▼
                                 participants         24 simulated accounts trade
                                      │                through the same market makers
                                      ▼
          ── /determinations ──► settle   :08 :38     settle what is resolved first,
          ── /index/sources ───►                       then resolve what is due inside
          ── /station/… ───────►                       a 240 s budget, oldest first
          ── /index/snapshots ─► every page           run id + Flare anchor

The oracle allows about sixty credentialed calls a minute before it answers “slow down”. Every call the simulator makes is paced to one a second in one place, so ingest, the determination openers and the resolvers stay under the limit instead of retrying into it. The database (Postgres, Seoul) and the functions (Vercel, Seoul) sit in the same region.

Each run the simulator reads is kept per city (consensus, indices, verdict, eligibility, source count) so an index market can settle on the value published for its hour and the charts can show a city's recent runs. This accumulation is licensed by the subscription; it would not be on the free tier, which the simulator does not use for anything that is kept.

4. Products

A city's product board shows eight fixed lines; each line offers a handful of dates, and each date a ladder of prices.

ProductQuestionSettles on
Hourly YES/NOTemperature, rain, wind or humidity at or above a line at 06:00 UTC, D+1, D+3, D+7 and D+14.Official oracle determination for the hour.
Station dayA US station's high or low over its local calendar day (daylight saving applied), whole °F.The oracle's station record: the METAR extreme in the window, or the official NWS value where chosen and carried.
Index (WDI / TDI)The index published for an hour at or above a line. Opened by the operator.The value in the oracle's run for that hour, on an eligible hour.
Pick the temperatureWhich whole degree the reading lands in; several degrees per ticket; the buyer picks consensus or METAR as the reference.Consensus: the run for the hour. METAR: the METAR reading inside that run.
EventsOne question across outcomes — where it rains on a date, what a city reads at an hour.Each outcome is an ordinary market; the event is a view.
Parametric coverHeat, cold, rain, wind or humidity at a chosen threshold and hour; pays the full amount if met.Official oracle determination for the hour.

Listing policy

Thresholds come from the forecast, not round numbers: a line is chosen so the market opens where there is something to disagree about. The next-day slot is listed automatically only for cities whose recent hours have been at least 70% settlement-eligible, because a market that voids after a day of trading helps nobody; longer horizons are listed everywhere with the risk badged. Hourly lines that drift outside 8–92% before anyone holds a position are delisted.

5. Pricing

Binary markets use a logarithmic market scoring rule with liquidity b = 1,000; ladders use the same rule over all degrees at once with b = 600, one pool per reference. A market opens at the probability the forecast implies: an expected value at the hour (a diurnal curve between the day's minimum and maximum for temperature) and a spread that grows with lead time. Index markets open from the index's values at the same hour of day over the last seven days of runs; station-day markets from the forecast re-cut on the station's local day.

YES price     = e^(qYes/b) / (e^(qYes/b) + e^(qNo/b))
ladder price  = e^(q_i/b) / Σ_k e^(q_k/b)
cover premium = p × coverage × (1 + 0.15) + coverage × 0.005, at least 1 sUSDT

The forecast's own probability is shown beside every price so the gap between them — the edge — is visible before anyone trades. Twenty-four simulated participants trade the board after every ingest, each from its own noisy reading of the same forecast; they are ordinary accounts, labelled as such, with no information the visitor does not have.

6. Settlement

OutcomeYES/NO marketLadder ticketCover
Met / lands in the degreeYES pays 1 sUSDT a shareThat degree pays 1 sUSDT a shareFull coverage paid
Not met / other degreeNO pays 1 sUSDT a shareNothingPremium kept
Withheld / not readableVoid, every position refunded at costThat reference's pool refunded at costVoid, premium refunded

The simulator adopts the oracle's determination policy unchanged: determinations are final; the same condition at the same hour reads the same anchored run and returns the same outcome; withheld is a result, not a loss for either side. A station day with a gap over six hours between observations, or fewer than twelve observations, is withheld. Settlement runs twice an hour; a pass first pays everything whose determination has already resolved, then resolves what is due, and pays each one the moment it resolves.

7. Verifiability

Every value and every verdict on the site carries the oracle's run id and a link to that run's anchor on the Flare explorer (or, for runs before 23 September 2026, on BNB Chain). Anyone can check a settled market without trusting this site:

1. take the run id shown on the settled market
2. GET https://weathermarket.ai/api/v1/index/snapshots?runId=<run>   → sha256 + Flare tx
3. SnapshotAnchor.isAnchored(sha256) on Flare                        → true, with block time
4. the block time predates the settlement; the canonical bytes (paid) hash to sha256

Settled markets keep the evidence they settled on: the run, the value, the verdict and the counts for official determinations; the run and its index values for index markets; the observation, its raw METAR text, the window and the basis for station days; the run and the METAR line for ladders.

8. What a page shows

A market page leads with the price, a line chart of the last twenty-four runs and the trade panel, then the evidence: the live strip, the consensus feed — every source's reading for the current run against the METAR baseline, excluded outliers struck through, the measured-only figure, the corroboration and the verdict per metric — the last twelve runs source by source, the station day, the forecast, the rules and the determination. The METAR baseline is drawn in red and the consensus in green on every chart. Temperatures follow the reader's country (°F in the United States) and a switch in the header; settlement is always in the oracle's °C.

9. Licence, method and lawful use

Attribution and redistribution

Oracle data is shown under the oracle's terms, section 7, with “Powered by Weather Data Market” linked wherever a value appears. The simulator serves the data to its own pages through its own backend; it does not offer the data to third parties as a feed, API, dataset or bulk download. The JSON routes under /api/sim exist for this site's pages and are not a data service.

The oracle's method

The consensus and determination rules are trade secrets of the oracle (its terms, section 7-b). This site names the estimator the way the oracle names it and reports what each run decided; it does not describe, reconstruct or approximate the rule, and nothing here should be read as the oracle's method. The pricing models in section 5 are the simulator's own and have nothing to do with how the oracle decides.

Lawful use

The oracle lists prediction-market settlement as an intended use and prohibits supplying the data to an activity that requires a licence under the gambling laws of the Republic of Korea by a party that does not hold one. The simulator stakes nothing of value: balances cannot be bought, deposited, withdrawn or exchanged, and no prize of value is offered. Using the simulator, its data or its outputs to run a real-money scheme is prohibited by its terms.

10. Parties

KWeather Co., Ltd. (Seoul) is the provider of the oracle's data and the party to any purchase of it. Wellbian Labs Pte. Ltd. (Singapore) develops and operates the oracle platform under delegation from KWeather, and operates this simulator. The two are separate companies under common control, a relationship the oracle states in its own terms. Technical questions: admin@wellbianlabs.io. Questions about the oracle's data licence: KWeather, khelp@kweather.co.kr.

11. Status and limitations

Stated plainly, because a settlement demo that overstates itself teaches the wrong lesson.

  • Working: ingest of all 167 cities every run; official determinations for hourly markets and covers; station-day, index and ladder settlement on the oracle's published records; Flare anchors shown for every run; reliability-gated listing; simulated participants on every product.
  • Settlement throughput is bounded by the oracle's rate limit. At one call a second a busy hour can leave determinations for the next pass; they settle on the next pass, not on a different value.
  • Index and ladder settlements are not official determinations. The determinations API does not take WDI, TDI or “the METAR reading”; these settle on the oracle's published run and per-source record, and are labelled as such.
  • The official NWS climate value is used for station days only when the oracle carries it; until it does, station days settle on the METAR-derived extreme, which can differ by about a degree.
  • Station-day markets are listed for US cities only, where the reference convention is established.
  • Flare Confidential Compute and the oracle's blind settlement path are not used; the simulator reads public runs.
  • The oracle's source diversity is the oracle's limitation too: eight feeds arrive through one aggregator, and an outage there thins the consensus, which the oracle reports in the source count and the verdict.

12. Changes in v2

  • Anchors read from Flare SnapshotAnchor (the oracle's anchor of record since 23 September 2026); BNB Chain anchors shown for earlier runs only.
  • The oracle's verdict classes (verified, single_source, mixed, mismatch, unverified) replace the earlier two-feed description.
  • The description of the consensus rule is limited to what the oracle publishes, per its terms section 7-b.
  • Index names follow the oracle: Weather Data Index (WDI) and Temperature Data Index (TDI).
  • New products: station-day highs and lows, index markets, Pick the temperature ladders with a choice of reference, events.
  • Per-run records kept under the subscription licence; the live consensus feed and run-by-run source strip on every city and market.
  • Accounts behind sign-in only; guest cookies retired.
  • Oracle calls paced to its rate limit; settlement twice an hour, paying resolved determinations first.

WeatherMarket.io · settlement simulator · virtual sUSDT only · Powered by Weather Data Market