{"station":{"icao":"ZSHC","city":{"slug":"hangzhou","name":"Hangzhou","country":"China"},"timezone":"Asia/Shanghai","lat":30.27,"lon":120.16,"us":false,"html":"https://weathermarket.io/station/ZSHC","json":"https://weathermarket.io/api/station/ZSHC","nwsCli":null},"stationToday":"2026-11-14","recent":[{"date":"2026-11-14","finality":"open","settleable":false,"nObservations":10,"anchor":"awaiting_final","matchesCurrent":null,"html":"https://weathermarket.io/station/ZSHC/2026-11-14","json":"https://weathermarket.io/api/station/ZSHC/2026-11-14"},{"date":"2026-11-13","finality":"final","settleable":true,"nObservations":48,"anchor":"anchored","matchesCurrent":null,"html":"https://weathermarket.io/station/ZSHC/2026-11-13","json":"https://weathermarket.io/api/station/ZSHC/2026-11-13"},{"date":"2026-11-12","finality":"final","settleable":true,"nObservations":48,"anchor":"anchored","matchesCurrent":null,"html":"https://weathermarket.io/station/ZSHC/2026-11-12","json":"https://weathermarket.io/api/station/ZSHC/2026-11-12"},{"date":"2026-11-11","finality":"final","settleable":true,"nObservations":48,"anchor":"anchored","matchesCurrent":null,"html":"https://weathermarket.io/station/ZSHC/2026-11-11","json":"https://weathermarket.io/api/station/ZSHC/2026-11-11"},{"date":"2026-11-10","finality":"final","settleable":true,"nObservations":48,"anchor":"anchored","matchesCurrent":null,"html":"https://weathermarket.io/station/ZSHC/2026-11-10","json":"https://weathermarket.io/api/station/ZSHC/2026-11-10"},{"date":"2026-11-09","finality":"final","settleable":true,"nObservations":48,"anchor":"anchored","matchesCurrent":null,"html":"https://weathermarket.io/station/ZSHC/2026-11-09","json":"https://weathermarket.io/api/station/ZSHC/2026-11-09"},{"date":"2026-11-08","finality":"final","settleable":true,"nObservations":48,"anchor":"anchored","matchesCurrent":null,"html":"https://weathermarket.io/station/ZSHC/2026-11-08","json":"https://weathermarket.io/api/station/ZSHC/2026-11-08"},{"date":"2026-11-07","finality":"final","settleable":true,"nObservations":48,"anchor":"anchored","matchesCurrent":null,"html":"https://weathermarket.io/station/ZSHC/2026-11-07","json":"https://weathermarket.io/api/station/ZSHC/2026-11-07"},{"date":"2026-11-06","finality":"final","settleable":true,"nObservations":48,"anchor":"anchored","matchesCurrent":null,"html":"https://weathermarket.io/station/ZSHC/2026-11-06","json":"https://weathermarket.io/api/station/ZSHC/2026-11-06"},{"date":"2026-11-05","finality":"final","settleable":true,"nObservations":48,"anchor":"anchored","matchesCurrent":null,"html":"https://weathermarket.io/station/ZSHC/2026-11-05","json":"https://weathermarket.io/api/station/ZSHC/2026-11-05"},{"date":"2026-11-04","finality":"final","settleable":true,"nObservations":51,"anchor":"anchored","matchesCurrent":null,"html":"https://weathermarket.io/station/ZSHC/2026-11-04","json":"https://weathermarket.io/api/station/ZSHC/2026-11-04"},{"date":"2026-11-03","finality":"final","settleable":true,"nObservations":49,"anchor":"anchored","matchesCurrent":null,"html":"https://weathermarket.io/station/ZSHC/2026-11-03","json":"https://weathermarket.io/api/station/ZSHC/2026-11-03"},{"date":"2026-11-02","finality":"final","settleable":true,"nObservations":48,"anchor":"anchored","matchesCurrent":null,"html":"https://weathermarket.io/station/ZSHC/2026-11-02","json":"https://weathermarket.io/api/station/ZSHC/2026-11-02"},{"date":"2026-11-01","finality":"final","settleable":true,"nObservations":48,"anchor":"anchored","matchesCurrent":null,"html":"https://weathermarket.io/station/ZSHC/2026-11-01","json":"https://weathermarket.io/api/station/ZSHC/2026-11-01"}],"about":{"record":"Station-day record: the daily extremes over every METAR observation (hourly plus special reports) received for the station's local calendar day - local midnight to local midnight, daylight saving applied. Temperatures are whole degrees Celsius as reported in METAR; a short-lived peak between reports can be missed. This is not a model or an aggregate - every value points at the report that produced it, and every report in the day is listed verbatim.","settlementRule":"The settlement value is the daily maximum (or minimum) of this record once it is final: the local day has ended and the 3-hour correction hold has passed. A day whose longest gap between reports exceeds the station's normal interval plus 30 minutes is final but flagged not settleable - a market should treat it as a review case. Once final, the canonical record bytes are hashed (SHA-256) and the hash is written to the SnapshotAnchor contract on Flare; the anchored record is the settlement record even if reports change afterwards (matchesCurrent then reads false).","verify":["Every METAR in the day is listed with its raw text; compare it with the independent archives linked under links.external (IEM ASOS archive, Ogimet).","GET links.record for the canonical record bytes, SHA-256 them and compare with anchor.sha256; call SnapshotAnchor.isAnchored(sha256) on Flare (anchor.contract, anchor.chainId) to confirm the hash is on-chain. anchor.explorer opens the anchoring transaction.","Permalink pattern for market rules: https://weathermarket.io/station/ZSHC/YYYY-MM-DD (HTML) and https://weathermarket.io/api/station/ZSHC/YYYY-MM-DD (JSON)."],"citation":"Settlement source: the METAR-derived station-day record for ZSHC for the contract date (station-local calendar day), as published at https://weathermarket.io/station/ZSHC/YYYY-MM-DD with every observation used, the finality status and the Flare anchor of the record. The daily value is the extreme over the hourly and special METAR reports in that day; a short-lived peak between reports may be missed. If the record is not final and settleable by the resolution deadline, the market is flagged for review."}}