x402-factory
GET x402-factory.com/v1/edge/weather-markets
Why an agent can trust this route.
Sonar evidence is advisory. Paid delivery is shown as verified only when paid probes are available; otherwise route estimates use the unpaid handshake as a clearly labeled proxy.
Observed outcomes
Model-vs-market divergence across every parseable weather prediction market — Compares our weather model's event probability with the market-implied probability for every weather-linked prediction market we can parse, ranked by divergence with direction, model confidence (from ensemble spread), and market liquidity. parse_coverage reports how much of the weather catalog is covered. Signals are…
Resource: x402-factory.com/v1/edge/weather-markets
Network: eip155:8453 · Asset: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 · Pay to: 0xCc42Ed39a06b6cF3f484307eF76B88Bf56Fb305f
Payment methods: — · Last validation: 2026-10-15 11:29:06.031+00
{
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"type": "object",
"required": [],
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1
},
"hazard": {
"enum": [
"temperature",
"precipitation",
"hurricane"
],
"type": "string",
"description": "Filter signals to one hazard class"
},
"region": {
"type": "string",
"maxLength": 30,
"minLength": 2,
"description": "Match against city region (e.g. northeast) or question text"
},
"min_divergence": {
"type": "number",
"maximum": 1,
"minimum": 0
}
}
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"required": [
"data",
"meta"
],
"properties": {
"data": {
"type": "object",
"required": [
"markets",
"parse_coverage",
"suppressed_by_class",
"calibration_reference"
],
"properties": {
"markets": {
"type": "array",
"items": {
"type": "object",
"required": [
"slug",
"question",
"market_p",
"model_p",
"divergence",
"direction",
"model_confidence",
"market_liquidity",
"resolution_date",
"model_method",
"market_class",
"hours_to_event"
],
"properties": {
"slug": {
"type": "string"
},
"model_p": {
"type": "number",
"maximum": 1,
"minimum": 0
},
"market_p": {
"type": "number",
"maximum": 1,
"minimum": 0
},
"question": {
"type": "string"
},
"direction": {
"enum": [
"market_underpriced",
"market_overpriced"
],
"type": "string"
},
"divergence": {
"type": "number",
"maximum": 1,
"minimum": 0
},
"market_class": {
"type": "string",
"description": "Market-class taxonomy label; only calibration-allowlisted classes appear here"
},
"model_method": {
"type": "string",
"description": "What produced model_p: the proprietary nowcast, an NWS-derived lead estimate, or passthrough"
},
"hours_to_event": {
"type": "number",
"minimum": 0,
"description": "Hours from now until the event window opens (0 = in progress)"
},
"resolution_date": {
"type": "string"
},
"market_liquidity": {
"type": "number",
"maximum": 1,
"minimum": 0
},
"model_confidence": {
"type": "number",
"maximum": 1,
"minimum": 0
}
},
"additionalProperties": false
}
},
"parse_coverage": {
"type": "number",
"maximum": 1,
"minimum": 0
},
"suppressed_by_class": {
"type": "object",
"description": "Signals withheld by the calibration gate, counted per market class",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "number"
}
},
"calibration_reference": {
"type": "string",
"description": "Free endpoint publishing the per-class calibration behind the gate"
}
},
"additionalProperties": false
},
"meta": {
"type": "object"
}
}
}
}
},
"paymentRequirements": [
{
"raw": {
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0xCc42Ed39a06b6cF3f484307eF76B88Bf56Fb305f",
"amount": "150000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 120
},
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"payTo": "0xCc42Ed39a06b6cF3f484307eF76B88Bf56Fb305f",
"scheme": "exact",
"network": "eip155:8453",
"amountAtomic": "150000"
}
]
}Source catalog records are retained separately from live endpoint observations. Sonar score, uptime, and latency are advisory metrics. CDP indexing is not inferred from validation.