Weather Props mints synthetic prop bets about the weather —
"Denver hits 95° Friday", "Boston's September finishes top-5 warmest" — prices them
from forecast models and climatology, shows the whole price history, and grades every
one in public. There is no money, no accounts, no offers, and nothing for sale. The
product is the receipts.
Daily props are priced by the multi-model consensus
engine behind Weather Trader: ECMWF (HRES, EPS, AIFS), GFS, ICON, UKMET, the National
Blend, the official NWS forecast, and Google's WeatherNext, blended by each model's own
settled record with spread recalibration. Prices are shown as YES cents (a 62¢ prop is
a 62% probability), with American and decimal odds for flavor. Multi-day and network
props combine daily probabilities as if days were independent — they are not perfectly,
and the caveat rides on every such prop.
Everything settles on the ACIS official NWS daily climate record —
the same record real exchanges settle on. Climate props (months, seasons, annual
counts) are lined from that record's full station history (RCC-ACIS, period of
record, current through yesterday) and settle on it too, so the baseline and the
verdict can never quietly use different thermometers. No reanalysis middleman, and
no prop ever settles against a model. If a gridded series is ever needed for
national or global props, it will come from the ARCO-ERA5 store or Copernicus
directly.
Temperatures settle as whole degrees. "High ≥ 95" is YES at
exactly 95. Strict operators stay strict: "> 95" needs 96. Between-props are inclusive
on both ends. These rules are frozen at mint.
The engine archives every model's forecast at every init cycle
(four a day since May 2026). A prop's tape replays that archive: what every model said
at each run, when the price crossed 50¢, when it went golden (90¢+ without looking
back). Reconstructed history uses each model's archived deterministic number plus a
lead-dependent Gaussian error model (≈2.3°F at day 0, growing ≈0.45°F per day of lead,
matching the live engine's published consensus widths). Reconstructed prices are drawn
dashed and blue, labeled everywhere, and never placed on the tape.
Live props are minted into an append-only, hash-chained ledger the
moment they list (same canonicalisation and hashing scheme as Weather Trader's provable
forecast ledger, separate file, own genesis). Every settle is written next to its mint.
Change any past record and every hash after it breaks. Right now: 18142
minted, 14666 settled, chain verified ✓
over 32808 records. Reconstructed props are kept out by design — a
tamper-evident record of things written after the fact would be theater.
The long-dated board prices four things, each with its own
method and truth. Hurricanes: analog remainder — from the best-track archive
(NHC/JTWC via the climatlas tracker, 1851–present), the modern seasons that most
resemble this one through today's date supply the distribution of finishes; settles
on the same best track after the season closes. El Niño: the peak of the
ongoing event, priced from how past warm-JJA events grew from the same stage, with
the already-banked value as a floor; settles on CPC's official ONI. Global
temperature: priced directly from celsius.earth's archived GSAT forecast
(monthly 5–95% bands, ERA5 target, dated so the receipt exists); settles when the
ERA5 year is final. Winter rainfall: the station's own record, El Niño
winters only — the strongest seasonal signal there is — corroborated by the
C3S/NMME tilts on forecastseason.com; settles on ACIS in March. Small analog
samples are printed on every prop, not hidden behind a confident decimal.
At one day out, a liquid real-money weather market is
sharper than any model blend — including ours; that has been measured, and we are not
going to pretend otherwise. What no market offers is lead time. At three to ten days
there is no liquid price on tomorrow's heat anywhere; that window is where this whole
site lives. When our own graded record is unflattering, it prints anyway.
Python standard library plus FastAPI, one small server, server-rendered
pages, no client framework, no trackers. Fonts are self-hosted. Everything runs on the
same box as the forecast engine and reads it over the loopback.