GET /v1/edge/calibrationfreedailytier: freecache 3600sEngine C — Weather × Markets Edge
Reliability table for every weather market class we compute edge signals on: resolved-signal count, predicted-vs-realized by model-probability decile, and whether the class is on the calibration allowlist that gates paid signal payloads. The allowlist is derived from this data on a schedule — never hand-edited — and computed per model_version: a class earns entry on current-version evidence only, with earlier versions' tables kept visible as labeled history. Free forever so you can judge signal quality before paying for signals.
None.
curl "https://x402-factory.com/v1/edge/calibration"
{
"data": {
"current_model_version": "stub-model",
"classes": [
{
"market_class": "daily-high-threshold",
"model_version": "stub-model",
"current_version": true,
"n_resolved": 292,
"allowlisted": true,
"reason": "calibrated within tolerance on resolved history under the current model version",
"deciles": [
{
"bucket": "0.0–0.1",
"predicted": 0.05,
"realized": 0.055,
"n": 73
},
{
"bucket": "0.2–0.3",
"predicted": 0.25,
"realized": 0.26,
"n": 73
},
{
"bucket": "0.5–0.6",
"predicted": 0.55,
"realized": 0.548,
"n": 73
},
{
"bucket": "0.8–0.9",
"predicted": 0.85,
"realized": 0.849,
"n": 73
}
]
},
{
"market_class": "daily-high-range",
"model_version": "stub-model",
"current_version": true,
"n_resolved": 292,
"allowlisted": true,
"reason": "calibrated within tolerance on resolved history under the current model version",
"deciles": [
{
"bucket": "0.0–0.1",
"predicted": 0.05,
"realized": 0.055,
"n": 73
},
{
"bucket": "0.2–0.3",
"predicted": 0.25,
"realized": 0.26,
"n": 73
},
{
"bucket": "0.5–0.6",
"predicted": 0.55,
"realized": 0.548,
"n": 73
},
{
"bucket": "0.8–0.9",
"predicted": 0.85,
"realized": 0.849,
"n": 73
}
]
},
{
"market_class": "precip-any",
"model_version": "stub-model",
"current_version": true,
"n_resolved": 292,
"allowlisted": true,
"reason": "calibrated within tolerance on resolved history under the current model version",
"deciles": [
{
"bucket": "0.0–0.1",
"predicted": 0.05,
"realized": 0.055,
"n": 73
},
{
"bucket": "0.2–0.3",
"predicted": 0.25,
"realized": 0.26,
"n": 73
},
{
"bucket": "0.5–0.6",
"predicted": 0.55,
"realized": 0.548,
"n": 73
},
{
"bucket": "0.8–0.9",
"predicted": 0.85,
"realized": 0.849,
"n": 73
}
]
},
{
"market_class": "landfall",
"model_version": "stub-model",
"current_version": true,
"n_resolved": 292,
"allowlisted": true,
"reason": "calibrated within tolerance on resolved history under the current model version",
"deciles": [
{
"bucket": "0.0–0.1",
"predicted": 0.05,
"realized": 0.055,
"n": 73
},
{
"bucket": "0.2–0.3",
"predicted": 0.25,
"realized": 0.26,
"n": 73
},
{
"bucket": "0.5–0.6",
"predicted": 0.55,
"realized": 0.548,
"n": 73
},
{
"bucket": "0.8–0.9",
"predicted": 0.85,
"realized": 0.849,
"n": 73
}
]
},
{
"market_class": "wind-threshold",
"model_version": "stub-model",
"current_version": true,
"n_resolved": 60,
"allowlisted": false,
"reason": "insufficient history: 60 resolved signals < 200",
"deciles": [
{
"bucket": "0.9–1.0",
"predicted": 0.9,
"realized": 0.3,
"n": 60
}
]
}
],
"thresholds": {
"min_n": 200,
"decile_tolerance": 0.1,
"min_decile_n": 10
},
"window_days": 90,
"computed_at": "2026-07-18T12:00:00.000Z",
"note": "Data-derived allowlist over resolved signal history, partitioned by model_version (taxonomy shipped 2026-09-08; v4.1 min-semantics cutover recorded in PROGRESS). Only current-version evidence can admit a class; earlier versions are shown as historical. Recomputed at least daily, never hand-edited. Signals for classes not on the allowlist are suppressed from paid edge payloads and counted in suppressed_by_class."
},
"meta": {
"endpoint": "/v1/edge/calibration",
"version": "1.0.0",
"generated_at": "2026-09-13T09:52:15.292Z",
"freshness": "daily",
"sources": [
"kalshi",
"polymarket",
"stub-model"
],
"request_id": "req_00000000",
"docs": "https://x402-factory.com/docs/edge.calibration",
"data_mode": "live"
}
}data payload){
"type": "object",
"properties": {
"current_model_version": {
"type": "string",
"description": "Only evidence recorded under this version can admit a class to the allowlist"
},
"classes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"market_class": {
"type": "string"
},
"model_version": {
"type": "string"
},
"current_version": {
"type": "boolean"
},
"n_resolved": {
"type": "number"
},
"allowlisted": {
"type": "boolean"
},
"reason": {
"type": "string"
},
"deciles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"bucket": {
"type": "string"
},
"predicted": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"realized": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"n": {
"type": "number"
}
},
"required": [
"bucket",
"predicted",
"realized",
"n"
],
"additionalProperties": false
}
}
},
"required": [
"market_class",
"model_version",
"current_version",
"n_resolved",
"allowlisted",
"reason",
"deciles"
],
"additionalProperties": false
}
},
"thresholds": {
"type": "object",
"properties": {
"min_n": {
"type": "number"
},
"decile_tolerance": {
"type": "number"
},
"min_decile_n": {
"type": "number"
}
},
"required": [
"min_n",
"decile_tolerance",
"min_decile_n"
],
"additionalProperties": false
},
"window_days": {
"type": "number"
},
"computed_at": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"current_model_version",
"classes",
"thresholds",
"window_days",
"computed_at",
"note"
],
"additionalProperties": false
}
The platform wraps every payload in an envelope: { "data": …, "meta": { endpoint, version, generated_at, freshness, sources, request_id, docs, data_mode } }.
| Status | Code | Meaning |
|---|---|---|
| 400 | INVALID_PARAMS | Input failed validation; message lists the offending fields. |
| 404 | NOT_FOUND | No matching resource; suggestion may point to a sibling endpoint. |
| 410 | RESOLVED | Market/event settled; body includes a resolution summary. |
| 503 | STALE_DATA | Upstream feed down; stale data is never silently served beyond 2× cache TTL. |
| 500 | INTERNAL | Our bug. The request_id helps us find it. |