{"x402Version":1,"name":"Truth Bear - verifiable screening intelligence for AI agents (GAUGE data engine)","description":"Official-source signals + unified rulers, each record ships record_hash (canonical sha256, recomputable offline; free /gauge/verify to cross-check) - pay-per-call via x402 (USDC on Base, no API key). Sources are official government records and named registries: US federal agencies (USGS, NOAA, NWS, EPA, SEC EDGAR, openFDA, EIA, BLS, FAA, US CBP, USTR, USITC, Federal Register) plus IMF PortWatch, UNFCCC and standards-body feeds. Cryptographic provenance on every paid response: an Ed25519-signed citation (issuer did:key published in this manifest) makes delivery tamper-evident and auditable offline, with no call back to us. Pure description, no judgement, no prediction; the rest, you decide. GAUGE engine: six forensic lines (stablecoin / AI-tool / AI-dependency / promise / carbon / climate-policy) + environmental / hydrology / air-quality / precipitation / grid / regulatory-filing signals. Free preview + free /verify before you pay. | [BATCH+PROOF] Stablecoin death samples - a neutral record: the full pre-mortem snapshot of terminated stablecoins (price, supply, collateral, redemption) plus lifecycle context (termination type, confirmed death date, days alive). Forensic depth for base-rate and post-mortem work, not a rating and not an endorsement. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed. Every record carries an offline-recomputable record_hash.","base_url":"https://aeml-x402.zeabur.app","resources":[{"method":"GET","path":"/stablecoin-deaths","price":"$0.09","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[BATCH+PROOF] Stablecoin death samples - a neutral record: the full pre-mortem snapshot of terminated stablecoins (price, supply, collateral, redemption) plus lifecycle context (termination type, confirmed death date, days alive). Forensic depth for base-rate and post-mortem work, not a rating and not an endorsement. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed. Every record carries an offline-recomputable record_hash.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutral-record statement"},"count":{"type":"integer","description":"Number of rows in records"},"records":{"type":"array","items":{"type":"object","properties":{"symbol":{"type":"string"},"name":{"type":"string"},"death_type":{"type":"string","description":"Termination type, labelled algorithmically from observed signals - not an adjudication"},"confirmed_dead_at":{"type":"string","format":"date-time"},"pre_death_observed_at":{"type":"string","format":"date-time"},"first_distress_at":{"type":["string","null"],"format":"date-time","description":"First observed (lifecycle.birth_at / first_seen)"},"lifespan_days":{"type":["integer","null"],"description":"Days alive (present only when lifecycle supplies it)"},"pre_death_payload":{"type":"object","description":"Full pre-death snapshot (price / supply / collateral / redemption / per-chain); delivered in full only on the paid call"},"death_context":{"type":["object","null"],"description":"Factualised context (not verbatim, to avoid copyright); delivered in full only on the paid call"},"record_hash":{"type":["string","null"],"description":"Canonical sha256; verify it via /verify or the offline verifier"},"hash_core_version":{"type":["integer","null"],"description":"Core-contract version of record_hash (currently 3)"},"source_ref":{"type":["string","null"],"description":"Official source URL"},"source_tier":{"type":["string","null"],"description":"Source tier"}}},"description":"Death samples, row by row (field shape in items)"},"observed_at":{"type":["string","null"],"description":"Observation time of the OLDEST row in this batch (ISO) - the most conservative basis"},"provenance":{"type":"object","description":"Freshness and lineage: freshness / freshness_basis / age_hours_now / data_lineage, with the oldest row representing the whole batch"}},"required":["count","records"]},"title":"Stablecoin death samples, a neutral record","tags":["stablecoin","deaths","no-data-no-charge","record-hash","offline-recomputable","descriptive-only"],"inputSchema":{"queryParams":{"verifiable":"optional - set to 1 to attach `_hash_core` per row (the canonical pre-image of the record_hash for that row) so you can recompute and verify fully offline; omitted by default to keep the payload small - for online verification use free GET /gauge/verify?hash="},"properties":{"verifiable":{"type":"string","description":"optional - set to 1 to attach `_hash_core` per row (the canonical pre-image of the record_hash for that row) so you can recompute and verify fully offline; omitted by default to keep the payload small - for online verification use free GET /gauge/verify?hash="}},"required":[]},"resource":"https://aeml-x402.zeabur.app/stablecoin-deaths","maxTimeoutSeconds":300,"preview":"/stablecoin-deaths/preview","proof":"/proof/:record_hash","verify":"/verify","trust":{"paid_calls":32,"delivery_rate_pct":100,"failure_modes_pct":{},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/trust/precheck","price":"$0.01","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[SIGNAL+PROOF] Demand record for one x402 service (?service=): demand_class (REAL/SOLO/PROBE/WASH), calls_30d, unique_payers_30d, score_total, liveness_state, lifecycle, record_hash. Model demand-v1, refreshed daily from the public CDP catalogue; score_total is an ordering key, not a rating. DEGRADED DELIVERY, see unavailable_fields - tier, verified, action_hint and the five-axis sub-scores are empty. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"service_id":{"type":"string"},"name":{"type":["string","null"]},"capture_date":{"type":"string","format":"date"},"score_total":{"type":["number","null"]},"liveness_state":{"type":["string","null"]},"liveness_streak":{"type":["integer","null"]},"baseline_delta":{"type":["number","null"]},"domain":{"type":["string","null"]},"first_endpoint":{"type":["string","null"]},"lifecycle":{"type":["object","null"]},"observed_at":{"type":"string","format":"date-time"},"data_age_hours":{"type":"number"},"record_hash":{"type":["string","null"]},"hash_core_version":{"type":["string","null"]},"source_ref":{"type":["string","null"]},"source_tier":{"type":["string","null"]},"unavailable_fields":{"type":"array","description":"Old axes that are still unavailable (the original 14-axis collector is gone and is NOT restored): tier / verified / action_hint / the five-axis sub-scores / onchain_*"},"unavailable_reason":{"type":"string"},"model":{"type":"string","description":"demand-v1 (current) | legacy-registry (rows captured before 2026-08-16)"},"calls_30d":{"type":["integer","null"],"description":"Present only when model is \"demand-v1\"; absent otherwise. Total calls in the last 30 days, from the public CDP discovery catalogue"},"unique_payers_30d":{"type":["integer","null"],"description":"Present only when model is \"demand-v1\"; absent otherwise. LOWER BOUND: max across this service endpoints, never a sum (one buyer hitting several endpoints must not be counted twice)"},"demand_class":{"type":["string","null"],"description":"Present only when model is \"demand-v1\"; absent otherwise. REAL | SOLO | PROBE | WASH? | WASH | DEAD. Computed by the same classifier as our public wash-trade filter, and inside the signed record_hash core - tampering with it breaks self-verification"},"demand_depth":{"type":["string","null"],"description":"Present only when model is \"demand-v1\"; absent otherwise. DEPTH (repeat purchase) | BREADTH (one-time tire-kicking) | null"},"endpoints":{"type":["integer","null"],"description":"Present only when model is \"demand-v1\"; absent otherwise. Number of catalogued endpoints under this service"},"endpoints_by_class":{"type":["object","null"],"description":"Present only when model is \"demand-v1\"; absent otherwise. Distribution of demand_class across this service endpoints"},"last_called_at":{"type":["string","null"],"description":"Present only when model is \"demand-v1\"; absent otherwise. Most recent call timestamp reported by the catalogue"},"model_note":{"type":"string","description":"Present only when model is \"demand-v1\"; absent otherwise. States plainly that this REPLACES rather than restores the old 14-axis score, and how score_total is derived"},"source_note":{"type":"string","description":"Present only when model is \"legacy-registry\"; absent otherwise. Provenance note for the 2026-07-07/08 salvaged registry import"},"note":{"type":"string","description":"Present only when model is \"legacy-registry\"; absent otherwise. Degraded-delivery disclosure for rows captured before the rebuild"}},"required":["service_id","score_total"],"conditionalProperties":{"calls_30d":{"type":["integer","null"],"description":"demand-v1 only. Total calls in the last 30 days, from the public CDP discovery catalogue"},"unique_payers_30d":{"type":["integer","null"],"description":"demand-v1 only. LOWER BOUND: max across this service endpoints, never a sum (one buyer hitting several endpoints must not be counted twice)"},"demand_class":{"type":["string","null"],"description":"demand-v1 only. REAL | SOLO | PROBE | WASH? | WASH | DEAD. Computed by the same classifier as our public wash-trade filter, and inside the signed record_hash core - tampering with it breaks self-verification"},"demand_depth":{"type":["string","null"],"description":"demand-v1 only. DEPTH (repeat purchase) | BREADTH (one-time tire-kicking) | null"},"endpoints":{"type":["integer","null"],"description":"demand-v1 only. Number of catalogued endpoints under this service"},"endpoints_by_class":{"type":["object","null"],"description":"demand-v1 only. Distribution of demand_class across this service endpoints"},"last_called_at":{"type":["string","null"],"description":"demand-v1 only. Most recent call timestamp reported by the catalogue"},"model_note":{"type":"string","description":"demand-v1 only. States plainly that this REPLACES rather than restores the old 14-axis score, and how score_total is derived"},"source_note":{"type":"string","description":"legacy-registry only. Provenance note for the 2026-07-07/08 salvaged registry import"},"note":{"type":"string","description":"legacy-registry only. Degraded-delivery disclosure for rows captured before the rebuild"}},"allOf":[{"if":{"properties":{"model":{"const":"demand-v1"}},"required":["model"]},"then":{"properties":{"calls_30d":{"type":["integer","null"],"description":"demand-v1 only. Total calls in the last 30 days, from the public CDP discovery catalogue"},"unique_payers_30d":{"type":["integer","null"],"description":"demand-v1 only. LOWER BOUND: max across this service endpoints, never a sum (one buyer hitting several endpoints must not be counted twice)"},"demand_class":{"type":["string","null"],"description":"demand-v1 only. REAL | SOLO | PROBE | WASH? | WASH | DEAD. Computed by the same classifier as our public wash-trade filter, and inside the signed record_hash core - tampering with it breaks self-verification"},"demand_depth":{"type":["string","null"],"description":"demand-v1 only. DEPTH (repeat purchase) | BREADTH (one-time tire-kicking) | null"},"endpoints":{"type":["integer","null"],"description":"demand-v1 only. Number of catalogued endpoints under this service"},"endpoints_by_class":{"type":["object","null"],"description":"demand-v1 only. Distribution of demand_class across this service endpoints"},"last_called_at":{"type":["string","null"],"description":"demand-v1 only. Most recent call timestamp reported by the catalogue"},"model_note":{"type":"string","description":"demand-v1 only. States plainly that this REPLACES rather than restores the old 14-axis score, and how score_total is derived"}}}},{"if":{"properties":{"model":{"const":"legacy-registry"}},"required":["model"]},"then":{"properties":{"source_note":{"type":"string","description":"legacy-registry only. Provenance note for the 2026-07-07/08 salvaged registry import"},"note":{"type":"string","description":"legacy-registry only. Degraded-delivery disclosure for rows captured before the rebuild"}}}}]},"title":"Demand record for one x402 service","tags":["trust","precheck","no-data-no-charge","degraded-delivery","record-hash","descriptive-only"],"inputSchema":{"queryParams":{"service":"required - x402 service id; samples at free /trust/preview (sample_ids)"},"properties":{"service":{"type":"string","description":"required - x402 service id; samples at free /trust/preview (sample_ids)","examples":["api-exa-ai"]}},"required":["service"],"example":{"service":"api-exa-ai"},"exampleRequest":"/trust/precheck?service=api-exa-ai"},"resource":"https://aeml-x402.zeabur.app/trust/precheck","maxTimeoutSeconds":300,"preview":"/trust/preview","trust":{"paid_calls":55,"delivery_rate_pct":58.2,"failure_modes_pct":{"no_data_no_charge":41.8},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/trust/scorecard","price":"$0.09","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[BATCH+PROOF] Full x402 service demand roster, latest day: demand_class, calls_30d, unique_payers_30d, score_total, liveness_state, lifecycle, record_hash per service. Model demand-v1, refreshed daily from the public CDP catalogue; unique_payers_30d is a lower bound, never a sum. DEGRADED DELIVERY, see unavailable_fields - the five-axis sub-scores, action_hint, tier and verified are empty. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"count":{"type":"integer"},"rows":{"type":"array","items":{"type":"object","properties":{"service":{"type":"string"},"score_total":{"type":["number","null"]},"liveness_state":{"type":["string","null"]},"lifecycle":{"type":["object","null"]},"record_hash":{"type":["string","null"]}}}},"observed_at":{"type":["string","null"],"description":"Observation time of the OLDEST row in this batch (ISO) - the most conservative basis"},"provenance":{"type":"object","description":"Freshness and lineage: freshness / freshness_basis / age_hours_now / data_lineage, with the oldest row representing the whole batch"}}},"title":"Full x402 service demand roster","tags":["trust","scorecard","no-data-no-charge","degraded-delivery","record-hash","descriptive-only"],"inputSchema":{"queryParams":{"verifiable":"optional - set to 1 to attach `_hash_core` per row (the canonical pre-image of the record_hash for that row) so you can recompute and verify fully offline; omitted by default to keep the payload small - for online verification use free GET /gauge/verify?hash="},"properties":{"verifiable":{"type":"string","description":"optional - set to 1 to attach `_hash_core` per row (the canonical pre-image of the record_hash for that row) so you can recompute and verify fully offline; omitted by default to keep the payload small - for online verification use free GET /gauge/verify?hash="}},"required":[]},"resource":"https://aeml-x402.zeabur.app/trust/scorecard","maxTimeoutSeconds":300,"preview":"/trust/preview","trust":{"paid_calls":36,"delivery_rate_pct":100,"failure_modes_pct":{},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/trust/graveyard","price":"$0.09","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[BATCH+PROOF] x402 service graveyard - services that vanished from the census. THRESHOLD stated plainly: listed on FIRST confirmed absence (confirm_absences=1), NOT multi-day confirmation - only two snapshot days exist, which cannot support a streak test. Rows are hash-backed and recompute offline with ?verifiable=1; record_hash_verifiable reports the exact count per response. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"count":{"type":"integer"},"deaths":{"type":"array"},"record_hash_verifiable":{"type":"object"},"observed_at":{"type":["string","null"],"description":"Observation time of the OLDEST row in this batch (ISO) - the most conservative basis"},"provenance":{"type":"object","description":"Freshness and lineage: freshness / freshness_basis / age_hours_now / data_lineage, with the oldest row representing the whole batch"}}},"title":"x402 service graveyard, services that vanished from the census","tags":["trust","graveyard","no-data-no-charge","record-hash","offline-recomputable","descriptive-only"],"inputSchema":{"queryParams":{"verifiable":"optional - set to 1 to attach `_hash_core` per row (the canonical pre-image of the record_hash for that row) so you can recompute and verify fully offline; omitted by default to keep the payload small - for online verification use free GET /gauge/verify?hash="},"properties":{"verifiable":{"type":"string","description":"optional - set to 1 to attach `_hash_core` per row (the canonical pre-image of the record_hash for that row) so you can recompute and verify fully offline; omitted by default to keep the payload small - for online verification use free GET /gauge/verify?hash="}},"required":[]},"resource":"https://aeml-x402.zeabur.app/trust/graveyard","maxTimeoutSeconds":300,"preview":"/trust/preview","trust":{"paid_calls":38,"delivery_rate_pct":100,"failure_modes_pct":{},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/mcp/server","price":"$0.01","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[SIGNAL+PROOF] Census record for one MCP server (?name=): status, missing_streak, lifecycle, record_hash. DEGRADED DELIVERY, see unavailable_fields - prominence, maturity, github_stars, downloads and source_code_url have no data because the original collector stopped. Snapshot 2026-07-08. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"server_id":{"type":"string"},"name":{"type":["string","null"]},"capture_date":{"type":"string","format":"date"},"status":{"type":["string","null"]},"missing_streak":{"type":["integer","null"]},"lifecycle":{"type":["object","null"]},"observed_at":{"type":"string","format":"date-time"},"data_age_hours":{"type":"number"},"record_hash":{"type":["string","null"]},"hash_core_version":{"type":["string","null"]},"source_ref":{"type":["string","null"]},"source_tier":{"type":["string","null"]},"unavailable_fields":{"type":"array","description":"DEGRADED DELIVERY: fields with no data because the original collector stopped running (prominence / maturity / stars / downloads)"},"unavailable_reason":{"type":"string"},"source_note":{"type":"string"}},"required":["server_id","status"]},"title":"Census record for one MCP server","tags":["mcp","server","no-data-no-charge","degraded-delivery","record-hash","descriptive-only"],"inputSchema":{"queryParams":{"name":"required - MCP server id; samples at free /mcp/preview (sample_ids)"},"properties":{"name":{"type":"string","description":"required - MCP server id; samples at free /mcp/preview (sample_ids)","examples":["0580iris-lang-x711"]}},"required":["name"],"example":{"name":"0580iris-lang-x711"},"exampleRequest":"/mcp/server?name=0580iris-lang-x711"},"resource":"https://aeml-x402.zeabur.app/mcp/server","maxTimeoutSeconds":300,"preview":"/mcp/preview","trust":{"paid_calls":31,"delivery_rate_pct":64.5,"failure_modes_pct":{"no_data_no_charge":35.5},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/mcp/census","price":"$0.09","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[BATCH+PROOF] Full MCP ecosystem census (21,236 servers, latest day): status, lifecycle, missing_streak, record_hash. DEGRADED DELIVERY, see unavailable_fields - prominence, maturity, github_stars and downloads have no data, so rows are no longer ranked. Snapshot 2026-07-08. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"count":{"type":"integer"},"rows":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"status":{"type":["string","null"]},"missing_streak":{"type":["integer","null"]},"lifecycle":{"type":["object","null"]},"record_hash":{"type":["string","null"]}}}},"observed_at":{"type":["string","null"],"description":"Observation time of the OLDEST row in this batch (ISO) - the most conservative basis"},"provenance":{"type":"object","description":"Freshness and lineage: freshness / freshness_basis / age_hours_now / data_lineage, with the oldest row representing the whole batch"}}},"title":"Full MCP ecosystem census","tags":["mcp","census","no-data-no-charge","degraded-delivery","record-hash","descriptive-only"],"inputSchema":{"queryParams":{"verifiable":"optional - set to 1 to attach `_hash_core` per row (the canonical pre-image of the record_hash for that row) so you can recompute and verify fully offline; omitted by default to keep the payload small - for online verification use free GET /gauge/verify?hash="},"properties":{"verifiable":{"type":"string","description":"optional - set to 1 to attach `_hash_core` per row (the canonical pre-image of the record_hash for that row) so you can recompute and verify fully offline; omitted by default to keep the payload small - for online verification use free GET /gauge/verify?hash="}},"required":[]},"resource":"https://aeml-x402.zeabur.app/mcp/census","maxTimeoutSeconds":300,"preview":"/mcp/preview","trust":{"paid_calls":31,"delivery_rate_pct":100,"failure_modes_pct":{},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/mcp/graveyard","price":"$0.09","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[BATCH+PROOF] MCP server graveyard - servers that vanished from the census. THRESHOLD stated plainly: listed on FIRST confirmed absence (confirm_absences=1), not multi-day confirmation; only two snapshot days exist. record_hash is null on these rows (imported from a surviving registry, the original collector never produced hashes). Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"count":{"type":"integer"},"deaths":{"type":"array"},"record_hash_verifiable":{"type":"object"},"observed_at":{"type":["string","null"],"description":"Observation time of the OLDEST row in this batch (ISO) - the most conservative basis"},"provenance":{"type":"object","description":"Freshness and lineage: freshness / freshness_basis / age_hours_now / data_lineage, with the oldest row representing the whole batch"}}},"title":"MCP server graveyard, servers that vanished from the census","tags":["mcp","graveyard","no-data-no-charge","descriptive-only"],"inputSchema":{"queryParams":{"verifiable":"optional - set to 1 to attach `_hash_core` per row (the canonical pre-image of the record_hash for that row) so you can recompute and verify fully offline; omitted by default to keep the payload small - for online verification use free GET /gauge/verify?hash="},"properties":{"verifiable":{"type":"string","description":"optional - set to 1 to attach `_hash_core` per row (the canonical pre-image of the record_hash for that row) so you can recompute and verify fully offline; omitted by default to keep the payload small - for online verification use free GET /gauge/verify?hash="}},"required":[]},"resource":"https://aeml-x402.zeabur.app/mcp/graveyard","maxTimeoutSeconds":300,"preview":"/mcp/preview","trust":{"paid_calls":31,"delivery_rate_pct":100,"failure_modes_pct":{},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/stable/coin","price":"$0.01","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[SIGNAL+PROOF] Census record for one stablecoin (?symbol=): market cap, price, depeg state, lifecycle and time series, each with record_hash. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"coin_id":{"type":"string"},"name":{"type":"string"},"capture_date":{"type":"string","format":"date"},"current":{"type":"object","description":"Latest observation for this coin; fields depend on the source (e.g. state / ongoing / death_type / lifespan_days)"},"lifecycle":{"type":["object","null"],"description":"Lifecycle: peg / state / first_seen / last_seen / end_at"},"observed_at":{"type":"string","format":"date-time"},"data_age_hours":{"type":"number"},"record_hash":{"type":"string"},"hash_core_version":{"type":"string"},"source_ref":{"type":["string","null"]},"source_tier":{"type":["string","null"]},"companion":{"type":"string","description":"Where to fetch companion signals such as depeg and redemption pressure"}},"required":["coin_id","current"]},"title":"Census record for one stablecoin","tags":["stable","coin","no-data-no-charge","record-hash","descriptive-only"],"inputSchema":{"queryParams":{"symbol":"required - stablecoin symbol; samples at free /stable/preview (sample_ids)"},"properties":{"symbol":{"type":"string","description":"required - stablecoin symbol; samples at free /stable/preview (sample_ids)","examples":["basis-cash-bac"]}},"required":["symbol"],"example":{"symbol":"basis-cash-bac"},"exampleRequest":"/stable/coin?symbol=basis-cash-bac"},"resource":"https://aeml-x402.zeabur.app/stable/coin","maxTimeoutSeconds":300,"preview":"/stable/preview","trust":{"paid_calls":36,"delivery_rate_pct":61.1,"failure_modes_pct":{"no_data_no_charge":38.9},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/stable/census","price":"$0.09","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[BATCH+PROOF] Full stablecoin census, latest day, ranked by market cap; lifecycle flags terminated and depegged. Add ?verifiable=1 and every row carries _hash_core so you can recompute the hash offline without trusting us. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"count":{"type":"integer"},"rows":{"type":"array"},"observed_at":{"type":["string","null"],"description":"Observation time of the OLDEST row in this batch (ISO) - the most conservative basis"},"provenance":{"type":"object","description":"Freshness and lineage: freshness / freshness_basis / age_hours_now / data_lineage, with the oldest row representing the whole batch"}}},"title":"Full stablecoin census, latest day","tags":["stable","census","no-data-no-charge","offline-recomputable","descriptive-only"],"inputSchema":{"queryParams":{"verifiable":"optional - set to 1 to attach `_hash_core` per row (the canonical pre-image of the record_hash for that row) so you can recompute and verify fully offline; omitted by default to keep the payload small - for online verification use free GET /gauge/verify?hash="},"properties":{"verifiable":{"type":"string","description":"optional - set to 1 to attach `_hash_core` per row (the canonical pre-image of the record_hash for that row) so you can recompute and verify fully offline; omitted by default to keep the payload small - for online verification use free GET /gauge/verify?hash="}},"required":[]},"resource":"https://aeml-x402.zeabur.app/stable/census","maxTimeoutSeconds":300,"preview":"/stable/preview","trust":{"paid_calls":31,"delivery_rate_pct":100,"failure_modes_pct":{},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/stable/graveyard","price":"$0.09","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[BATCH+PROOF] Stablecoin death register - terminated below 0.10 or persistently absent. Add ?verifiable=1 for per-row _hash_core, fully offline-recomputable. A neutral observation record: not a rating, not an endorsement. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"count":{"type":"integer"},"deaths":{"type":"array"},"record_hash_verifiable":{"type":"object"},"observed_at":{"type":["string","null"],"description":"Observation time of the OLDEST row in this batch (ISO) - the most conservative basis"},"provenance":{"type":"object","description":"Freshness and lineage: freshness / freshness_basis / age_hours_now / data_lineage, with the oldest row representing the whole batch"}}},"title":"Stablecoin death register, terminated below 0.10 or persistently absent","tags":["stable","graveyard","no-data-no-charge","offline-recomputable","descriptive-only"],"inputSchema":{"queryParams":{"verifiable":"optional - set to 1 to attach `_hash_core` per row (the canonical pre-image of the record_hash for that row) so you can recompute and verify fully offline; omitted by default to keep the payload small - for online verification use free GET /gauge/verify?hash="},"properties":{"verifiable":{"type":"string","description":"optional - set to 1 to attach `_hash_core` per row (the canonical pre-image of the record_hash for that row) so you can recompute and verify fully offline; omitted by default to keep the payload small - for online verification use free GET /gauge/verify?hash="}},"required":[]},"resource":"https://aeml-x402.zeabur.app/stable/graveyard","maxTimeoutSeconds":300,"preview":"/stable/preview","trust":{"paid_calls":32,"delivery_rate_pct":100,"failure_modes_pct":{},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/resolve","price":"$0.09","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"Settlement evidence v0 for prediction-market and dispute workflows: did an issuer file a given SEC EDGAR form before your cutoff? Returns THREE SEPARATED TIMES (event / disclosure / cutoff), a resolution_status of resolved, no_authoritative_source, ambiguous or conflicting, and candidate_sources. We describe the filing record; we never adjudicate the real-world event. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"resolution_status":{"type":"string"},"filed_by_cutoff":{"type":["boolean","null"]},"disclosure_time":{"type":["string","null"]},"event_time":{"type":["string","null"]},"cutoff_time":{"type":"string"},"candidate_sources":{"type":"array"},"_citation":{"type":"object"}}},"title":"Settlement evidence v0 for prediction-market and dispute workflows","tags":["resolve","no-data-no-charge","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - ticker or CIK (e.g. AAPL or 320193)","form":"required - filing type (e.g. 10-K, 8-K, NT 10-K, SC 13D, 4)","cutoff":"required - settlement cutoff, ISO 8601 (e.g. 2026-07-31 or 2026-07-31T23:59:59Z)","event_class":"optional - 8-K item (e.g. 1.03 bankruptcy)","source_class":"optional - defaults to sec-edgar (the only source in v0)","market_or_event":"optional - market/event label, echoed back verbatim"},"properties":{"entity":{"type":"string","description":"required - ticker or CIK (e.g. AAPL or 320193)","examples":["AAPL"]},"form":{"type":"string","description":"required - filing type (e.g. 10-K, 8-K, NT 10-K, SC 13D, 4)","examples":["10-K"]},"cutoff":{"type":"string","description":"required - settlement cutoff, ISO 8601 (e.g. 2026-07-31 or 2026-07-31T23:59:59Z)","examples":["2025-01-01"]},"event_class":{"type":"string","description":"optional - 8-K item (e.g. 1.03 bankruptcy)"},"source_class":{"type":"string","description":"optional - defaults to sec-edgar (the only source in v0)"},"market_or_event":{"type":"string","description":"optional - market/event label, echoed back verbatim"}},"required":["entity","form","cutoff"],"example":{"entity":"AAPL","form":"10-K","cutoff":"2025-01-01"},"exampleRequest":"/resolve?entity=AAPL&form=10-K&cutoff=2025-01-01"},"resource":"https://aeml-x402.zeabur.app/resolve","maxTimeoutSeconds":300,"preview":"/resolve/preview","trust":{"paid_calls":34,"delivery_rate_pct":100,"failure_modes_pct":{},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/resolve/proposer","price":"$0.01","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"Proposer feed for prediction-market settlement: SEC EDGAR official facts mapped to a machine-friendly answer / timestamp / evidence shape for automated proposal and dispute flows. Three separated times, explicit resolution_status, candidate sources listed. We describe what was filed - the adjudication stays yours. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"answer":{"type":["boolean","null"]},"timestamp":{"type":["string","null"]},"evidence_url":{"type":["string","null"]},"source_tier":{"type":["string","null"]},"confidence":{"type":"number"},"_citation":{"type":"object"}},"required":["answer","confidence"]},"title":"Proposer feed for prediction-market settlement","tags":["resolve","proposer","no-data-no-charge","official-source","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - ticker or CIK (e.g. AAPL or 320193)","form":"required - filing type (e.g. 10-K, 8-K, NT 10-K, SC 13D, 4)","cutoff":"required - settlement cutoff, ISO 8601 (?as_of= is an alias; point-in-time)","as_of":"optional - alias of cutoff","event_class":"optional - 8-K item (e.g. 1.03 bankruptcy)","source_class":"optional - defaults to sec-edgar","market_or_event":"optional - market/event label, echoed back verbatim"},"properties":{"entity":{"type":"string","description":"required - ticker or CIK (e.g. AAPL or 320193)","examples":["AAPL"]},"form":{"type":"string","description":"required - filing type (e.g. 10-K, 8-K, NT 10-K, SC 13D, 4)","examples":["10-K"]},"cutoff":{"type":"string","description":"required - settlement cutoff, ISO 8601 (?as_of= is an alias; point-in-time)","examples":["2025-01-01"]},"as_of":{"type":"string","description":"optional - alias of cutoff"},"event_class":{"type":"string","description":"optional - 8-K item (e.g. 1.03 bankruptcy)"},"source_class":{"type":"string","description":"optional - defaults to sec-edgar"},"market_or_event":{"type":"string","description":"optional - market/event label, echoed back verbatim"}},"required":["entity","form","cutoff"],"example":{"entity":"AAPL","form":"10-K","cutoff":"2025-01-01"},"exampleRequest":"/resolve/proposer?entity=AAPL&form=10-K&cutoff=2025-01-01"},"resource":"https://aeml-x402.zeabur.app/resolve/proposer","maxTimeoutSeconds":300,"preview":"/resolve/proposer/preview","trust":{"paid_calls":31,"delivery_rate_pct":58.1,"failure_modes_pct":{"no_data_no_charge":41.9},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge","price":"$0.01","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[SIGNAL+PROOF] One official signal record for any signal_id and entity: current reading against the OFFICIAL threshold ladder (band, distance-to-action) plus a 5-year same-season percentile so you can tell routine from unusual. 180+ signals across macro, weather, hazard, shipping, filings, crypto and lifecycle lines. Free coverage check first at /gauge/coverage. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"tier":{"type":"string","description":"Marker for the main single-point or history-series response (full / history-series); mutually exclusive with dim/addon"},"update_status":{"type":"object","description":"Did the OFFICIAL source keep its own declared publication cadence? Separate dimension from freshness: a record can be freshness=recent and update_status=overdue at the same time. state: on_schedule | overdue | not_published | unknown","properties":{"state":{"type":"string","description":"on_schedule | overdue | not_published | unknown"},"official_cadence":{"type":["string","null"],"description":"The cadence the official source declares for this line (hourly/daily/weekly/monthly/quarterly/yearly/as-events)"},"overdue_days":{"type":["integer","null"],"description":"How many days past that cadence; null when it cannot be determined"},"text":{"type":"string","description":"One-line human-readable form of the same fact"}}},"signal_id":{"type":"string","description":"Signal id in genus.species ASCII binomial form (e.g. crypto.spot / macro.unemployment / shipping.route-disruption); full list at free /gauge/catalog"},"entity":{"type":"string","description":"Monitored object id (e.g. btc / us / hormuz); full list at free /gauge/catalog or /gauge/preview"},"entity_name":{"type":["string","null"],"description":"Human-readable name of the object"},"snapshot_date":{"type":"string","description":"ISO-8601 date-time in UTC (e.g. 2026-07-24T00:00:00.000Z; aligned to midnight of that day)"},"observed_at":{"type":"string","description":"Actual observation time of the data, ISO-8601"},"data_age_hours":{"type":["number","null"],"description":"Age frozen at collection time (0 = same hour), for reference only - if a collector stalls this field stops moving. For freshness always use provenance.age_hours_now (computed at request time) and provenance.freshness; the threshold basis is in provenance.freshness_basis"},"current":{"type":["object","null"],"description":"Current reading. The inner metric structure varies by signal (crypto -> {price_usd, volume_24h, ...}; shipping -> {wind_kmh, wave_height_m, ...}). Units are carried in the field-name suffix; see also standard_ruler.unit"},"previous":{"type":["object","null"],"description":"Previous-period reading (a subset of the metrics in current; or {note} explaining that there is no previous value)"},"change":{"type":["object","null"],"description":"Change, nested per metric: change.<metric> = {delta, direction, direction_reason?}, plus the scalar change.period (e.g. \"vs_previous\"). direction is one of rising/falling/stable/unknown - unknown means the direction CANNOT BE DETERMINED, it does not mean stable; in that case direction_reason carries a machine-readable cause: no-previous-record / metric-absent-in-previous / metric-absent-in-current / non-numeric-value"},"trend_7d":{"type":["array","null"],"items":{"type":"object"},"description":"Array of the last 7 trend points; [] means this signal has no series yet or the series does not apply - it is not an error"},"sources":{"type":["array","null"],"items":{"type":"object"},"description":"Source list [{name, value, weight, as_of, role, independent, relay_of?}]. independent:true = confirmed independent source; false = confirmed relay channel of another source (relay_of names the origin); null = independence unconfirmed (neither denied nor claimed). name/weight/independent/relay_of are record_hash core fields, so tampering with an independence claim breaks self-verification; as_of/value/role drift easily and are not hashed"},"source_agreement_cv":{"type":["number","null"],"description":"Multi-source agreement, coefficient of variation (smaller = closer agreement). Present ONLY when two or more CONFIRMED-INDEPENDENT sources measure the same fact at the same time - see sources[].independent. Same source relayed through two channels does not count as independent, and two different time bases (daily mean vs spot) do not count as agreement. Single-source / unconfirmed independence / not applicable -> null"},"standard_ruler":{"type":["object","null"],"description":"Official standard ruler (band / thresholds / normalized_index / pct_to_action, with unit and provenance); null when the line has no official ruler. Inner structure varies by signal"},"stat_ruler":{"type":["object","null"],"description":"Statistical ruler: empirical percentile position across the last 5 same-season years; null when there are no statistics"},"strata":{"type":["object","null"],"description":"Statistical strata: share of each official band over the last 5 same-season years plus the band the current value falls in; null when there are no statistics"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"summary_zh":{"type":["string","null"],"description":"Human-readable one-line summary, IN CHINESE (zh-TW): reading + where it sits on the official ruler + statistical position. English-only consumers should ignore this field and read current/standard_ruler/stat_ruler instead"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"record_hash_verifiable":{"type":["object","null"],"description":"{mode:offline|via-endpoint, note}"},"lifecycle":{"type":["object","null"],"description":"Lifecycle block (state / birth_at / end_at / death_type / context). Part of the record_hash v3 core, so offline recomputation must include it; null for non-lifecycle lines"},"hash_core_version":{"type":["integer","null"],"description":"Core-contract version of record_hash (currently 3); use it to pick the right core composition when recomputing offline"},"ots_status":{"type":["string","null"],"description":"RETIRED FIELD - always \"pending\" or null; this field is no longer updated and is kept only for older parsers. Anchoring itself resumed on 2026-08-15 as a daily Merkle root stamped via OpenTimestamps - it proves the day set existed no later than the stamp time, and is exposed at free /gauge/anchor (not here). For per-record self-verification use record_hash (canonical sha256, recomputable offline) plus free /gauge/verify"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"source_ref":{"type":["string","null"],"description":"Official source URL (provenance)"},"source_tier":{"type":["string","null"],"description":"Source tier: T1 (first-hand official) / T2 or T2-<subtype, e.g. T2-exchange> (observable, curated) / screen-viewpoint; null = untiered (see unverified)"},"record_hash":{"type":["string","null"],"description":"sha256:<64hex> (contract A v3, binds the values plus provenance)"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"},"unverified":{"type":"boolean","description":"true = the source is untiered (source_tier is null); buyers and agents can filter on this"}},"required":["nature"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"One official signal record for any signal_id and entity","tags":["gauge","no-data-no-charge","official-source","descriptive-only"],"inputSchema":{"queryParams":{"signal_id":"required - signal id in genus.species ASCII form (e.g. hydrology.river-level, crypto.spot, macro.unemployment, earthquake.current_activity). Full list: free GET /gauge/catalog","entity":"required - monitored object id, PAIRED WITH signal_id (e.g. 07010000 for hydrology.river-level, japan for earthquake.current_activity). Valid pairs: free GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"signal_id":{"type":"string","description":"required - signal id in genus.species ASCII form (e.g. hydrology.river-level, crypto.spot, macro.unemployment, earthquake.current_activity). Full list: free GET /gauge/catalog","examples":["hydrology.river-level"]},"entity":{"type":"string","description":"required - monitored object id, PAIRED WITH signal_id (e.g. 07010000 for hydrology.river-level, japan for earthquake.current_activity). Valid pairs: free GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","examples":["07010000"]}},"required":["signal_id","entity"],"example":{"signal_id":"hydrology.river-level","entity":"07010000"},"exampleRequest":"/gauge?signal_id=hydrology.river-level&entity=07010000"},"resource":"https://aeml-x402.zeabur.app/gauge","maxTimeoutSeconds":300,"preview":"/gauge/sample","trust":{"paid_calls":34,"delivery_rate_pct":58.8,"failure_modes_pct":{"no_data_no_charge":41.2},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/ruler","price":"$0.005","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"Add-on, the official ruler: the band and threshold ladder published by the source agency, its classification, and distance-to-action. NOT every line has an official ruler - pure market quotes do not. When it does not, you get 422 with no_charge:true and reason:no-ruler-for-this-line and you are NOT billed. Never a bag of nulls you paid for. Every record carries an offline-recomputable record_hash.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"dim":{"type":"string","description":"Always the literal \"ruler\""},"signal_id":{"type":"string","description":"Signal id in genus.species ASCII binomial form (e.g. crypto.spot / macro.unemployment / shipping.route-disruption); full list at free /gauge/catalog"},"entity":{"type":"string","description":"Monitored object id (e.g. btc / us / hormuz); full list at free /gauge/catalog or /gauge/preview"},"entity_name":{"type":["string","null"],"description":"Human-readable name of the object"},"observed_at":{"type":"string","description":"Actual observation time of the data, ISO-8601"},"data_age_hours":{"type":["number","null"],"description":"Age frozen at collection time (0 = same hour), for reference only - if a collector stalls this field stops moving. For freshness always use provenance.age_hours_now (computed at request time) and provenance.freshness; the threshold basis is in provenance.freshness_basis"},"source_agreement_cv":{"type":["number","null"],"description":"Multi-source agreement, coefficient of variation (smaller = closer agreement). Present ONLY when two or more CONFIRMED-INDEPENDENT sources measure the same fact at the same time - see sources[].independent. Same source relayed through two channels does not count as independent, and two different time bases (daily mean vs spot) do not count as agreement. Single-source / unconfirmed independence / not applicable -> null"},"ruler":{"type":["object","null"],"description":"Official-ruler projection: band / thresholds / official category / distance to action / standard"},"record_hash":{"type":["string","null"],"description":"sha256:<64hex> (contract A v3, binds the values plus provenance)"},"record_hash_verifiable":{"type":["object","null"],"description":"{mode:offline|via-endpoint, note}"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"source_ref":{"type":["string","null"],"description":"Official source URL (provenance)"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","dim","ruler"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Add-on, the official ruler","tags":["gauge","ruler","no-data-no-charge","official-source","record-hash","offline-recomputable"],"inputSchema":{"queryParams":{"signal_id":"required - signal id (genus.species); free list at GET /gauge/catalog (paged; ?all=1 for every line)","entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"signal_id":{"type":"string","description":"required - signal id (genus.species); free list at GET /gauge/catalog (paged; ?all=1 for every line)","examples":["hydrology.river-level"]},"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","examples":["07010000"]}},"required":["signal_id","entity"],"example":{"signal_id":"hydrology.river-level","entity":"07010000"},"exampleRequest":"/gauge/ruler?signal_id=hydrology.river-level&entity=07010000"},"resource":"https://aeml-x402.zeabur.app/gauge/ruler","maxTimeoutSeconds":300,"preview":"/gauge/sample","trust":{"paid_calls":44,"delivery_rate_pct":50,"failure_modes_pct":{"no_data_no_charge":50},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/calibrated","price":"$0.005","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"Add-on, calibrated units: normalized_index and pct_to_action so readings compare across stations. When the line has no calibration basis you get 422 with no_charge:true and reason:no-calibrated-for-this-line, and are NOT billed. Every record carries an offline-recomputable record_hash.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"dim":{"type":"string","description":"Always the literal \"calibrated\""},"signal_id":{"type":"string","description":"Signal id in genus.species ASCII binomial form (e.g. crypto.spot / macro.unemployment / shipping.route-disruption); full list at free /gauge/catalog"},"entity":{"type":"string","description":"Monitored object id (e.g. btc / us / hormuz); full list at free /gauge/catalog or /gauge/preview"},"entity_name":{"type":["string","null"],"description":"Human-readable name of the object"},"observed_at":{"type":"string","description":"Actual observation time of the data, ISO-8601"},"data_age_hours":{"type":["number","null"],"description":"Age frozen at collection time (0 = same hour), for reference only - if a collector stalls this field stops moving. For freshness always use provenance.age_hours_now (computed at request time) and provenance.freshness; the threshold basis is in provenance.freshness_basis"},"source_agreement_cv":{"type":["number","null"],"description":"Multi-source agreement, coefficient of variation (smaller = closer agreement). Present ONLY when two or more CONFIRMED-INDEPENDENT sources measure the same fact at the same time - see sources[].independent. Same source relayed through two channels does not count as independent, and two different time bases (daily mean vs spot) do not count as agreement. Single-source / unconfirmed independence / not applicable -> null"},"calibrated":{"type":["object","null"],"description":"Calibrated-unit projection: normalized_index / pct_to_action, comparable across stations"},"record_hash":{"type":["string","null"],"description":"sha256:<64hex> (contract A v3, binds the values plus provenance)"},"record_hash_verifiable":{"type":["object","null"],"description":"{mode:offline|via-endpoint, note}"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","dim","calibrated"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Add-on, calibrated units, normalized_index and pct_to_action so readings compare across","tags":["gauge","calibrated","no-data-no-charge","record-hash","offline-recomputable"],"inputSchema":{"queryParams":{"signal_id":"required - signal id (genus.species); free list at GET /gauge/catalog (paged; ?all=1 for every line)","entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"signal_id":{"type":"string","description":"required - signal id (genus.species); free list at GET /gauge/catalog (paged; ?all=1 for every line)","examples":["hydrology.river-level"]},"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","examples":["07010000"]}},"required":["signal_id","entity"],"example":{"signal_id":"hydrology.river-level","entity":"07010000"},"exampleRequest":"/gauge/calibrated?signal_id=hydrology.river-level&entity=07010000"},"resource":"https://aeml-x402.zeabur.app/gauge/calibrated","maxTimeoutSeconds":300,"preview":"/gauge/sample","trust":{"paid_calls":31,"delivery_rate_pct":58.1,"failure_modes_pct":{"no_data_no_charge":41.9},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/strata","price":"$0.005","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"Add-on, statistical strata: share of the last 5 years spent in each official band for this day-of-year, the percentile bands, and where the current reading falls. Backtestable, and stated as approximate. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"dim":{"type":"string","description":"Always the literal \"strata\""},"signal_id":{"type":"string","description":"Signal id in genus.species ASCII binomial form (e.g. crypto.spot / macro.unemployment / shipping.route-disruption); full list at free /gauge/catalog"},"entity":{"type":"string","description":"Monitored object id (e.g. btc / us / hormuz); full list at free /gauge/catalog or /gauge/preview"},"entity_name":{"type":["string","null"],"description":"Human-readable name of the object"},"observed_at":{"type":"string","description":"Actual observation time of the data, ISO-8601"},"data_age_hours":{"type":["number","null"],"description":"Age frozen at collection time (0 = same hour), for reference only - if a collector stalls this field stops moving. For freshness always use provenance.age_hours_now (computed at request time) and provenance.freshness; the threshold basis is in provenance.freshness_basis"},"source_agreement_cv":{"type":["number","null"],"description":"Multi-source agreement, coefficient of variation (smaller = closer agreement). Present ONLY when two or more CONFIRMED-INDEPENDENT sources measure the same fact at the same time - see sources[].independent. Same source relayed through two channels does not count as independent, and two different time bases (daily mean vs spot) do not count as agreement. Single-source / unconfirmed independence / not applicable -> null"},"strata":{"type":["object","null"],"description":"Statistical-strata projection: share of each official band over the last 5 same-season years + which band the current value falls in"},"record_hash":{"type":["string","null"],"description":"sha256:<64hex> (contract A v3, binds the values plus provenance)"},"record_hash_verifiable":{"type":["object","null"],"description":"{mode:offline|via-endpoint, note}"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","dim","strata"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Add-on, statistical strata","tags":["gauge","strata","no-data-no-charge","official-source","descriptive-only"],"inputSchema":{"queryParams":{"signal_id":"required - signal id (genus.species); free list at GET /gauge/catalog (paged; ?all=1 for every line)","entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"signal_id":{"type":"string","description":"required - signal id (genus.species); free list at GET /gauge/catalog (paged; ?all=1 for every line)","examples":["hydrology.river-level"]},"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","examples":["07010000"]}},"required":["signal_id","entity"],"example":{"signal_id":"hydrology.river-level","entity":"07010000"},"exampleRequest":"/gauge/strata?signal_id=hydrology.river-level&entity=07010000"},"resource":"https://aeml-x402.zeabur.app/gauge/strata","maxTimeoutSeconds":300,"preview":"/gauge/sample","trust":{"paid_calls":30,"delivery_rate_pct":60,"failure_modes_pct":{"no_data_no_charge":40},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/history","price":"$0.005","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"Add-on, historical placement: seasonal percentile for the current point, frequency, the percentile table, and the method and source used to compute them. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"dim":{"type":"string","description":"Always the literal \"history\""},"signal_id":{"type":"string","description":"Signal id in genus.species ASCII binomial form (e.g. crypto.spot / macro.unemployment / shipping.route-disruption); full list at free /gauge/catalog"},"entity":{"type":"string","description":"Monitored object id (e.g. btc / us / hormuz); full list at free /gauge/catalog or /gauge/preview"},"entity_name":{"type":["string","null"],"description":"Human-readable name of the object"},"observed_at":{"type":"string","description":"Actual observation time of the data, ISO-8601"},"data_age_hours":{"type":["number","null"],"description":"Age frozen at collection time (0 = same hour), for reference only - if a collector stalls this field stops moving. For freshness always use provenance.age_hours_now (computed at request time) and provenance.freshness; the threshold basis is in provenance.freshness_basis"},"source_agreement_cv":{"type":["number","null"],"description":"Multi-source agreement, coefficient of variation (smaller = closer agreement). Present ONLY when two or more CONFIRMED-INDEPENDENT sources measure the same fact at the same time - see sources[].independent. Same source relayed through two channels does not count as independent, and two different time bases (daily mean vs spot) do not count as agreement. Single-source / unconfirmed independence / not applicable -> null"},"history":{"type":["object","null"],"description":"Seasonal-percentile projection: single-point position + frequency + percentiles + method and source"},"record_hash":{"type":["string","null"],"description":"sha256:<64hex> (contract A v3, binds the values plus provenance)"},"record_hash_verifiable":{"type":["object","null"],"description":"{mode:offline|via-endpoint, note}"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","dim","history"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Add-on, historical placement","tags":["gauge","history","no-data-no-charge","descriptive-only"],"inputSchema":{"queryParams":{"signal_id":"required - signal id (genus.species); free list at GET /gauge/catalog (paged; ?all=1 for every line)","entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"signal_id":{"type":"string","description":"required - signal id (genus.species); free list at GET /gauge/catalog (paged; ?all=1 for every line)","examples":["hydrology.river-level"]},"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","examples":["07010000"]}},"required":["signal_id","entity"],"example":{"signal_id":"hydrology.river-level","entity":"07010000"},"exampleRequest":"/gauge/history?signal_id=hydrology.river-level&entity=07010000"},"resource":"https://aeml-x402.zeabur.app/gauge/history","maxTimeoutSeconds":300,"preview":"/gauge/sample","trust":{"paid_calls":29,"delivery_rate_pct":62.1,"failure_modes_pct":{"no_data_no_charge":37.9},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/lifecycle","price":"$0.005","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"One id in, its official lifecycle state out - no need to know which line tracks it first. Covers 19 lifecycle lines (stablecoins, AI tools and datasets, neoclouds, DePIN, RWA, carbon projects, ESG funds, tariff measures and more): status band, birth/end dates, death type, lifespan, official source_ref. If two lines track the same id you get BOTH - nothing is picked for you. Unknown id -> 422 no_charge, not billed. Every record carries an offline-recomputable record_hash.","outputSchema":{"type":"object","required":["entity","matched_lines","matches","record_hash_verifiable"],"properties":{"nature":{"type":"string","description":"Descriptive-only statement: state as recorded by the source, never adjudication or forecast."},"entity":{"type":"string","description":"The id you asked about, echoed back."},"matched_lines":{"type":"integer","description":"How many lifecycle lines track this id. Usually 1; a handful of ids are tracked by 2 lines and then you get both - nothing is picked for you."},"record_hash_verifiable":{"type":"object","description":"Computed per delivery, not a boast: mode (offline/partial/none), how many of the returned records were actually recomputed server-side, and out of how many."},"matches":{"type":"array","description":"One element per lifecycle line that tracks this id.","items":{"type":"object","properties":{"signal_id":{"type":"string","description":"e.g. stablecoin.lifecycle"},"industry":{"type":"string","description":"The signal_id without the .lifecycle suffix."},"entity":{"type":"string"},"entity_name":{"type":["string","null"]},"snapshot_date":{"type":"string","description":"YYYY-MM-DD of the stored snapshot (part of the hash core)."},"status":{"type":["string","null"],"description":"The band on the official ruler, e.g. operating / at_risk / ended. null when the line publishes no band."},"current":{"description":"The stored reading itself; shape varies by line (part of the hash core)."},"lifecycle":{"type":["object","null"],"description":"birth_at / end_at / death_type / lifespan_days as recorded (part of the hash core)."},"source_ref":{"type":["string","null"],"description":"Official source reference (part of the hash core)."},"source_tier":{"type":["string","null"],"description":"Part of the v3 hash core."},"standard_ruler":{"type":["object","null"],"description":"The official ruler as stored, including the status band (part of the v3 hash core)."},"sources":{"description":"Per-source provenance as stored (part of the v3 hash core)."},"record_hash":{"type":"string","description":"Canonical sha256; every hash-core field above is delivered, so you can recompute it offline."},"hash_core_version":{"type":["integer","string","null"]},"observed_at":{"type":["string","null"]},"data_age_hours":{"type":["number","null"]},"source_agreement_cv":{"type":["number","null"]}}}},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"}},"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"One id in, its official lifecycle state out","tags":["gauge","lifecycle","no-data-no-charge","official-source","record-hash","offline-recomputable"],"inputSchema":{"queryParams":{"entity":"required - the id to look up (e.g. coreweave, terrausd-ust, jasper-ai, helium). Full list: free GET /gauge/catalog?all=1 -> signals[] where signal_id ends in .lifecycle, then ?signal_id=<id> for its entities[]","industry":"optional - narrow to one line when an id is tracked by more than one (e.g. ai-compute, stablecoin). Omit and you get every matching line"},"properties":{"entity":{"type":"string","description":"required - the id to look up (e.g. coreweave, terrausd-ust, jasper-ai, helium). Full list: free GET /gauge/catalog?all=1 -> signals[] where signal_id ends in .lifecycle, then ?signal_id=<id> for its entities[]","examples":["coreweave"]},"industry":{"type":"string","description":"optional - narrow to one line when an id is tracked by more than one (e.g. ai-compute, stablecoin). Omit and you get every matching line"}},"required":["entity"],"example":{"entity":"coreweave"},"exampleRequest":"/gauge/lifecycle?entity=coreweave"},"resource":"https://aeml-x402.zeabur.app/gauge/lifecycle","maxTimeoutSeconds":300,"preview":"/gauge/catalog","trust":{"paid_calls":32,"delivery_rate_pct":53.1,"failure_modes_pct":{"no_data_no_charge":46.9},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/air","price":"$0.005","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"Add-on, air quality for one location: US AQI category and PM2.5 reading from EPA and CAMS official feeds. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed. Every record carries an offline-recomputable record_hash.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"addon":{"type":"string","enum":["air","precip"],"description":"Conditional - returned only by the /gauge/air and /gauge/precip sub-endpoints: the add-on line marker"},"location":{"type":"string","description":"The location key of this bundle - the ?loc= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"line":{"type":"string","description":"The line this bundle belongs to (e.g. airquality)"},"readings":{"type":"array","description":"CORE DELIVERY of this endpoint: multiple signal readings for the same location. Per-row shape is in items - the single-signal fields live INSIDE items, not at the top level","items":{"type":"object","properties":{"signal_id":{"type":"string","description":"Signal id in genus.species ASCII binomial form (e.g. crypto.spot / macro.unemployment / shipping.route-disruption); full list at free /gauge/catalog"},"entity":{"type":"string","description":"Monitored object id (e.g. btc / us / hormuz); full list at free /gauge/catalog or /gauge/preview"},"entity_name":{"type":["string","null"],"description":"Human-readable name of the object"},"snapshot_date":{"type":"string","description":"ISO-8601 date-time in UTC (e.g. 2026-07-24T00:00:00.000Z; aligned to midnight of that day)"},"observed_at":{"type":"string","description":"Actual observation time of the data, ISO-8601"},"data_age_hours":{"type":["number","null"],"description":"Age frozen at collection time (0 = same hour), for reference only - if a collector stalls this field stops moving. For freshness always use provenance.age_hours_now (computed at request time) and provenance.freshness; the threshold basis is in provenance.freshness_basis"},"current":{"type":["object","null"],"description":"Current reading. The inner metric structure varies by signal (crypto -> {price_usd, volume_24h, ...}; shipping -> {wind_kmh, wave_height_m, ...}). Units are carried in the field-name suffix; see also standard_ruler.unit"},"previous":{"type":["object","null"],"description":"Previous-period reading (a subset of the metrics in current; or {note} explaining that there is no previous value)"},"change":{"type":["object","null"],"description":"Change, nested per metric: change.<metric> = {delta, direction, direction_reason?}, plus the scalar change.period (e.g. \"vs_previous\"). direction is one of rising/falling/stable/unknown - unknown means the direction CANNOT BE DETERMINED, it does not mean stable; in that case direction_reason carries a machine-readable cause: no-previous-record / metric-absent-in-previous / metric-absent-in-current / non-numeric-value"},"trend_7d":{"type":["array","null"],"items":{"type":"object"},"description":"Array of the last 7 trend points; [] means this signal has no series yet or the series does not apply - it is not an error"},"sources":{"type":["array","null"],"items":{"type":"object"},"description":"Source list [{name, value, weight, as_of, role, independent, relay_of?}]. independent:true = confirmed independent source; false = confirmed relay channel of another source (relay_of names the origin); null = independence unconfirmed (neither denied nor claimed). name/weight/independent/relay_of are record_hash core fields, so tampering with an independence claim breaks self-verification; as_of/value/role drift easily and are not hashed"},"source_agreement_cv":{"type":["number","null"],"description":"Multi-source agreement, coefficient of variation (smaller = closer agreement). Present ONLY when two or more CONFIRMED-INDEPENDENT sources measure the same fact at the same time - see sources[].independent. Same source relayed through two channels does not count as independent, and two different time bases (daily mean vs spot) do not count as agreement. Single-source / unconfirmed independence / not applicable -> null"},"standard_ruler":{"type":["object","null"],"description":"Official standard ruler (band / thresholds / normalized_index / pct_to_action, with unit and provenance); null when the line has no official ruler. Inner structure varies by signal"},"stat_ruler":{"type":["object","null"],"description":"Statistical ruler: empirical percentile position across the last 5 same-season years; null when there are no statistics"},"strata":{"type":["object","null"],"description":"Statistical strata: share of each official band over the last 5 same-season years plus the band the current value falls in; null when there are no statistics"},"summary_zh":{"type":["string","null"],"description":"Human-readable one-line summary, IN CHINESE (zh-TW): reading + where it sits on the official ruler + statistical position. English-only consumers should ignore this field and read current/standard_ruler/stat_ruler instead"},"lifecycle":{"type":["object","null"],"description":"Lifecycle block (state / birth_at / end_at / death_type / context). Part of the record_hash v3 core, so offline recomputation must include it; null for non-lifecycle lines"},"hash_core_version":{"type":["integer","null"],"description":"Core-contract version of record_hash (currently 3); use it to pick the right core composition when recomputing offline"},"ots_status":{"type":["string","null"],"description":"RETIRED FIELD - always \"pending\" or null; this field is no longer updated and is kept only for older parsers. Anchoring itself resumed on 2026-08-15 as a daily Merkle root stamped via OpenTimestamps - it proves the day set existed no later than the stamp time, and is exposed at free /gauge/anchor (not here). For per-record self-verification use record_hash (canonical sha256, recomputable offline) plus free /gauge/verify"},"source_ref":{"type":["string","null"],"description":"Official source URL (provenance)"},"source_tier":{"type":["string","null"],"description":"Source tier: T1 (first-hand official) / T2 or T2-<subtype, e.g. T2-exchange> (observable, curated) / screen-viewpoint; null = untiered (see unverified)"},"record_hash":{"type":["string","null"],"description":"sha256:<64hex> (contract A v3, binds the values plus provenance)"},"record_hash_verifiable":{"type":["object","null"],"description":"{mode:offline|via-endpoint, note}"},"unverified":{"type":"boolean","description":"true = the source is untiered (source_tier is null); buyers and agents can filter on this"}},"additionalProperties":true}},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","readings"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Add-on, air quality for one location","tags":["gauge","air","no-data-no-charge","official-source","record-hash","offline-recomputable","descriptive-only"],"inputSchema":{"queryParams":{"loc":"required - location id; full list at free /gauge/preview"},"properties":{"loc":{"type":"string","description":"required - location id; full list at free /gauge/preview","enum":["us-stlouis","us-memphis","us-losangeles","us-fresno","us-phoenix","us-denver","us-saltlakecity","us-houston","us-newyork","us-chicago","us-seattle","us-portland"]}},"required":["loc"],"example":{"loc":"us-stlouis"},"exampleRequest":"/gauge/air?loc=us-stlouis"},"resource":"https://aeml-x402.zeabur.app/gauge/air","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":32,"delivery_rate_pct":56.3,"failure_modes_pct":{"no_data_no_charge":43.8},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/precip","price":"$0.005","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"Add-on, precipitation for one location: daily rainfall plus 30-day accumulated wet-dry drought context from ERA5. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed. Every record carries an offline-recomputable record_hash.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"addon":{"type":"string","enum":["air","precip"],"description":"Conditional - returned only by the /gauge/air and /gauge/precip sub-endpoints: the add-on line marker"},"location":{"type":"string","description":"The location key of this bundle - the ?loc= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"line":{"type":"string","description":"The line this bundle belongs to (e.g. airquality)"},"readings":{"type":"array","description":"CORE DELIVERY of this endpoint: multiple signal readings for the same location. Per-row shape is in items - the single-signal fields live INSIDE items, not at the top level","items":{"type":"object","properties":{"signal_id":{"type":"string","description":"Signal id in genus.species ASCII binomial form (e.g. crypto.spot / macro.unemployment / shipping.route-disruption); full list at free /gauge/catalog"},"entity":{"type":"string","description":"Monitored object id (e.g. btc / us / hormuz); full list at free /gauge/catalog or /gauge/preview"},"entity_name":{"type":["string","null"],"description":"Human-readable name of the object"},"snapshot_date":{"type":"string","description":"ISO-8601 date-time in UTC (e.g. 2026-07-24T00:00:00.000Z; aligned to midnight of that day)"},"observed_at":{"type":"string","description":"Actual observation time of the data, ISO-8601"},"data_age_hours":{"type":["number","null"],"description":"Age frozen at collection time (0 = same hour), for reference only - if a collector stalls this field stops moving. For freshness always use provenance.age_hours_now (computed at request time) and provenance.freshness; the threshold basis is in provenance.freshness_basis"},"current":{"type":["object","null"],"description":"Current reading. The inner metric structure varies by signal (crypto -> {price_usd, volume_24h, ...}; shipping -> {wind_kmh, wave_height_m, ...}). Units are carried in the field-name suffix; see also standard_ruler.unit"},"previous":{"type":["object","null"],"description":"Previous-period reading (a subset of the metrics in current; or {note} explaining that there is no previous value)"},"change":{"type":["object","null"],"description":"Change, nested per metric: change.<metric> = {delta, direction, direction_reason?}, plus the scalar change.period (e.g. \"vs_previous\"). direction is one of rising/falling/stable/unknown - unknown means the direction CANNOT BE DETERMINED, it does not mean stable; in that case direction_reason carries a machine-readable cause: no-previous-record / metric-absent-in-previous / metric-absent-in-current / non-numeric-value"},"trend_7d":{"type":["array","null"],"items":{"type":"object"},"description":"Array of the last 7 trend points; [] means this signal has no series yet or the series does not apply - it is not an error"},"sources":{"type":["array","null"],"items":{"type":"object"},"description":"Source list [{name, value, weight, as_of, role, independent, relay_of?}]. independent:true = confirmed independent source; false = confirmed relay channel of another source (relay_of names the origin); null = independence unconfirmed (neither denied nor claimed). name/weight/independent/relay_of are record_hash core fields, so tampering with an independence claim breaks self-verification; as_of/value/role drift easily and are not hashed"},"source_agreement_cv":{"type":["number","null"],"description":"Multi-source agreement, coefficient of variation (smaller = closer agreement). Present ONLY when two or more CONFIRMED-INDEPENDENT sources measure the same fact at the same time - see sources[].independent. Same source relayed through two channels does not count as independent, and two different time bases (daily mean vs spot) do not count as agreement. Single-source / unconfirmed independence / not applicable -> null"},"standard_ruler":{"type":["object","null"],"description":"Official standard ruler (band / thresholds / normalized_index / pct_to_action, with unit and provenance); null when the line has no official ruler. Inner structure varies by signal"},"stat_ruler":{"type":["object","null"],"description":"Statistical ruler: empirical percentile position across the last 5 same-season years; null when there are no statistics"},"strata":{"type":["object","null"],"description":"Statistical strata: share of each official band over the last 5 same-season years plus the band the current value falls in; null when there are no statistics"},"summary_zh":{"type":["string","null"],"description":"Human-readable one-line summary, IN CHINESE (zh-TW): reading + where it sits on the official ruler + statistical position. English-only consumers should ignore this field and read current/standard_ruler/stat_ruler instead"},"lifecycle":{"type":["object","null"],"description":"Lifecycle block (state / birth_at / end_at / death_type / context). Part of the record_hash v3 core, so offline recomputation must include it; null for non-lifecycle lines"},"hash_core_version":{"type":["integer","null"],"description":"Core-contract version of record_hash (currently 3); use it to pick the right core composition when recomputing offline"},"ots_status":{"type":["string","null"],"description":"RETIRED FIELD - always \"pending\" or null; this field is no longer updated and is kept only for older parsers. Anchoring itself resumed on 2026-08-15 as a daily Merkle root stamped via OpenTimestamps - it proves the day set existed no later than the stamp time, and is exposed at free /gauge/anchor (not here). For per-record self-verification use record_hash (canonical sha256, recomputable offline) plus free /gauge/verify"},"source_ref":{"type":["string","null"],"description":"Official source URL (provenance)"},"source_tier":{"type":["string","null"],"description":"Source tier: T1 (first-hand official) / T2 or T2-<subtype, e.g. T2-exchange> (observable, curated) / screen-viewpoint; null = untiered (see unverified)"},"record_hash":{"type":["string","null"],"description":"sha256:<64hex> (contract A v3, binds the values plus provenance)"},"record_hash_verifiable":{"type":["object","null"],"description":"{mode:offline|via-endpoint, note}"},"unverified":{"type":"boolean","description":"true = the source is untiered (source_tier is null); buyers and agents can filter on this"}},"additionalProperties":true}},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","readings"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Add-on, precipitation for one location","tags":["gauge","precip","no-data-no-charge","record-hash","offline-recomputable","descriptive-only"],"inputSchema":{"queryParams":{"loc":"required - location id; full list at free /gauge/preview"},"properties":{"loc":{"type":"string","description":"required - location id; full list at free /gauge/preview","enum":["us-stlouis","us-memphis","us-losangeles","us-fresno","us-phoenix","us-denver","us-saltlakecity","us-houston","us-newyork","us-chicago","us-seattle","us-portland"]}},"required":["loc"],"example":{"loc":"us-stlouis"},"exampleRequest":"/gauge/precip?loc=us-stlouis"},"resource":"https://aeml-x402.zeabur.app/gauge/precip","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":32,"delivery_rate_pct":56.3,"failure_modes_pct":{"no_data_no_charge":43.8},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] Local three-leg environment chain, one location (?loc=): leading air quality (AQI) -> current precipitation, rain and 30-day dry-wet -> realized nearest river stage and streamflow (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: EPA/CAMS, ERA5, USGS. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"location":{"type":"string","description":"The location key of this bundle - the ?loc= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Local three-leg environment chain","tags":["gauge","region","epa","cams","era5","usgs","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","descriptive-only"],"inputSchema":{"queryParams":{"loc":"required - location id; full list at free /gauge/preview"},"properties":{"loc":{"type":"string","description":"required - location id; full list at free /gauge/preview","enum":["us-stlouis","us-memphis","us-losangeles","us-fresno","us-phoenix","us-denver","us-saltlakecity","us-houston","us-newyork","us-chicago","us-seattle","us-portland"]}},"required":["loc"],"example":{"loc":"us-stlouis"},"exampleRequest":"/gauge/region?loc=us-stlouis"},"resource":"https://aeml-x402.zeabur.app/gauge/region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":30,"delivery_rate_pct":56.7,"failure_modes_pct":{"no_data_no_charge":43.3},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/taiwan-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"Taiwan first-party official readings in one call: PLA air and naval activity around Taiwan (Ministry of National Defense), central bank reference FX rates (CBC), TAIEX and sector indices (TWSE), significant earthquakes and typhoon status (CWA). Sources most providers cannot reach. We restate what each agency published and when - no assessment of the situation, no forecast, no advice. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","required":["legs","provenance","note"],"properties":{"scope":{"type":"string","description":"What this bundle covers, in one line."},"legs":{"type":"object","description":"Keyed by signal_id; each value is the array described in LEG_ROW.","additionalProperties":{"type":"array","description":"Latest stored reading per entity for this signal, as published by the source agency.","items":{"type":"object","properties":{"entity":{"type":"string"},"entity_name":{"type":["string","null"]},"current":{"type":"object","description":"Metric keys vary by signal; units are suffixed in the key names."},"observed_at":{"type":"string"},"band":{"type":["string","null"]},"percentile":{"type":["string","null"]},"record_hash":{"type":["string","null"]}}}}},"signals":{"type":"array","items":{"type":"string"},"description":"The signal_id keys present in legs."},"entities_count":{"type":"integer","description":"Total rows across every leg."},"provenance":{"type":"object","description":"served_from, data_as_of, oldest_leg_as_of, age_hours_now, freshness."},"note":{"type":"string","description":"Descriptive-only statement of what was restated and from whom."}},"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Taiwan first-party official readings in one call","tags":["gauge","taiwan","region","no-data-no-charge","official-source","descriptive-only"],"inputSchema":{"queryParams":{},"properties":{},"required":[]},"resource":"https://aeml-x402.zeabur.app/gauge/taiwan-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":29,"delivery_rate_pct":100,"failure_modes_pct":{},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/japan-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"Japan official readings in one call plus an independent cross-agency check: JMA seismic intensity (shindo), RSMC Tokyo typhoon analysis, Ministry of Finance JGB yields across seven tenors, and the Japan rows of BIS and FRED. The same earthquakes appear as JMA measured them and as USGS measured them, side by side - different agencies, different quantities, and we adjudicate nothing. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","required":["legs","provenance","note"],"properties":{"scope":{"type":"string","description":"What this bundle covers, in one line."},"legs":{"type":"object","description":"Keyed by signal_id; each value is the array described in LEG_ROW.","additionalProperties":{"type":"array","description":"Latest stored reading per entity for this signal, as published by the source agency.","items":{"type":"object","properties":{"entity":{"type":"string"},"entity_name":{"type":["string","null"]},"current":{"type":"object","description":"Metric keys vary by signal; units are suffixed in the key names."},"observed_at":{"type":"string"},"band":{"type":["string","null"]},"percentile":{"type":["string","null"]},"record_hash":{"type":["string","null"]}}}}},"signals":{"type":"array","items":{"type":"string"},"description":"The signal_id keys present in legs."},"entities_count":{"type":"integer","description":"Total rows across every leg."},"provenance":{"type":"object","description":"served_from, data_as_of, oldest_leg_as_of, age_hours_now, freshness."},"note":{"type":"string","description":"Descriptive-only statement of what was restated and from whom."},"cross_check":{"type":"object","description":"The same earthquakes as measured by two independent national agencies, side by side, with a machine-readable comparability block stating which fields may be compared and which may not. Nothing is adjudicated."}},"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Japan official readings in one call plus an independent cross-agency check","tags":["gauge","japan","region","no-data-no-charge","official-source","descriptive-only"],"inputSchema":{"queryParams":{},"properties":{},"required":[]},"resource":"https://aeml-x402.zeabur.app/gauge/japan-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":28,"delivery_rate_pct":100,"failure_modes_pct":{},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/chokepoint-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] Maritime chokepoint passage chain, one chokepoint (?loc=hormuz, suez, panama, malacca and more): leading sea state against operating thresholds -> current anchorage congestion, vessels waiting -> realized realized daily transits from IMF PortWatch (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: IMF PortWatch, NOAA, Open-Meteo. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","required":["legs","provenance","note"],"properties":{"chokepoint":{"type":"string","description":"The chokepoint id that was requested."},"name":{"type":"string","description":"Human-readable name of the chokepoint."},"legs":{"type":"object","description":"The three-plus legs of this chokepoint, each the latest stored reading or null.","properties":{"transit":{"type":["object","null"],"description":"Realized transits observed (main leg)."},"congestion":{"type":["object","null"],"description":"Anchorage congestion (upstream leg)."},"sea_state":{"type":["object","null"],"description":"Sea/weather workability (upstream cause leg)."},"disruption":{"type":["object","null"],"description":"Route disruption (downstream cross-check leg)."}}},"provenance":{"type":"object","description":"served_from, data_as_of, oldest_leg_as_of, age_hours_now, freshness."},"note":{"type":"string","description":"Descriptive-only statement of what was restated and from whom."}},"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Maritime chokepoint passage chain","tags":["gauge","chokepoint","region","imf-portwatch","noaa","open-meteo","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","descriptive-only"],"inputSchema":{"queryParams":{"loc":"required - location id; full list at free /gauge/preview"},"properties":{"loc":{"type":"string","description":"required - location id; full list at free /gauge/preview","enum":["suez-redsea","panama-pacific","malacca","hormuz","goodhope","channel","biscay","northsea","gulfmexico","southchinasea","bengal","northpacific"]}},"required":["loc"],"example":{"loc":"hormuz"},"exampleRequest":"/gauge/chokepoint-region?loc=hormuz"},"resource":"https://aeml-x402.zeabur.app/gauge/chokepoint-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":35,"delivery_rate_pct":37.1,"failure_modes_pct":{"no_data_no_charge":62.9},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/agri-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] Agriculture chain, one grain belt (?loc=us-iowa): leading soil drought (USDM D0-D4) -> current heat stress and growing degree days -> realized crop vigour VHI - did the drought actually reach the crop (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: USDM/NDMC, NASA POWER, NOAA STAR. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"location":{"type":"string","description":"The location key of this bundle - the ?loc= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Agriculture chain, one grain belt","tags":["gauge","agri","region","usdm","ndmc","nasa-power","noaa-star","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","descriptive-only"],"inputSchema":{"queryParams":{"loc":"required - location id; full list at free /gauge/preview"},"properties":{"loc":{"type":"string","description":"required - location id; full list at free /gauge/preview","enum":["us-iowa","us-illinois","us-nebraska","us-kansas","ar-pampas","br-matogrosso","br-parana","au-nsw","in-punjab","ua-ukraine","ru-southrussia","cn-northchina"]}},"required":["loc"],"example":{"loc":"us-iowa"},"exampleRequest":"/gauge/agri-region?loc=us-iowa"},"resource":"https://aeml-x402.zeabur.app/gauge/agri-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":28,"delivery_rate_pct":50,"failure_modes_pct":{"no_data_no_charge":50},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/grid-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] Power-grid chain, one grid region (?loc=us-ercot): leading demand pressure from heating and cooling degree days -> current renewable availability, solar and wind -> realized energy inflation (CPI energy year-over-year) and gas price (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: EIA, BLS, Open-Meteo. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"location":{"type":"string","description":"The location key of this bundle - the ?loc= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Power-grid chain, one grid region","tags":["gauge","grid","region","eia","bls","open-meteo","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","descriptive-only"],"inputSchema":{"queryParams":{"loc":"required - location id; full list at free /gauge/preview"},"properties":{"loc":{"type":"string","description":"required - location id; full list at free /gauge/preview","enum":["us-ercot","us-caiso","us-pjm","us-miso","us-nyiso","eu-germany","eu-france","eu-uk","eu-spain","jp-japan","au-nem","in-india"]}},"required":["loc"],"example":{"loc":"us-ercot"},"exampleRequest":"/gauge/grid-region?loc=us-ercot"},"resource":"https://aeml-x402.zeabur.app/gauge/grid-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":27,"delivery_rate_pct":51.9,"failure_modes_pct":{"no_data_no_charge":48.1},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/shipping-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] Shipping chokepoint chain, one chokepoint or port (?loc=malacca): leading sea state and wind against operating thresholds -> current wave decomposition, local storm against distant swell -> realized AIS transit throughput (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: IMF PortWatch, NOAA, Open-Meteo Marine. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"location":{"type":"string","description":"The location key of this bundle - the ?loc= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Shipping chokepoint chain, one chokepoint or port","tags":["gauge","shipping","region","imf-portwatch","noaa","open-meteo-marine","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","descriptive-only"],"inputSchema":{"queryParams":{"loc":"required - location id; full list at free /gauge/preview"},"properties":{"loc":{"type":"string","description":"required - location id; full list at free /gauge/preview","enum":["suez-redsea","panama-pacific","malacca","hormuz","goodhope","channel","biscay","northsea","gulfmexico","southchinasea","bengal","northpacific"]}},"required":["loc"],"example":{"loc":"suez-redsea"},"exampleRequest":"/gauge/shipping-region?loc=suez-redsea"},"resource":"https://aeml-x402.zeabur.app/gauge/shipping-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":28,"delivery_rate_pct":50,"failure_modes_pct":{"no_data_no_charge":50},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/filing-company","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] Regulatory filing chain, one issuer (?entity=AMC): leading NT late-filing notices, a distress leading indicator -> current 8-K material events graded by item severity -> realized Form 4 insider transactions (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: SEC EDGAR. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"entity":{"type":"string","description":"The object key of this bundle - the ?entity= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Regulatory filing chain, one issuer","tags":["gauge","filing","company","sec-edgar","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","enum":["AAPL","MSFT","NVDA","TSLA","AMZN","META","GOOGL","BA","F","INTC","GME","AMC","CVNA","PLTR","NFLX","DIS","JPM","BAC"]}},"required":["entity"],"example":{"entity":"AAPL"},"exampleRequest":"/gauge/filing-company?entity=AAPL"},"resource":"https://aeml-x402.zeabur.app/gauge/filing-company","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":28,"delivery_rate_pct":50,"failure_modes_pct":{"no_data_no_charge":50},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/policy-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] Climate policy chain, one policy (?entity=kyoto-protocol): leading repeal proposals and judicial challenge -> current lifecycle from enacted to repealed, days alive -> realized dependency cascade when a policy dies (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: Federal Register, UNFCCC. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"entity":{"type":"string","description":"The object key of this bundle - the ?entity= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Climate policy chain, one policy","tags":["gauge","policy","region","federal-register","unfccc","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","enum":["eu-ets","us-inflation-reduction-act","kyoto-protocol","au-carbon-pricing","us-clean-power-plan","uk-green-homes-grant","california-cap-and-trade","eu-cbam","china-national-ets","rggi","sweden-carbon-tax","canada-federal-carbon-tax-consumer","germany-nuclear-phaseout","spain-solar-fit","ontario-cap-and-trade","us-build-back-better","us-waxman-markey","us-american-power-act","us-paris-withdrawal-2017","nz-ets","south-korea-ets","california-lcfs","uk-carbon-price-floor"]}},"required":["entity"],"example":{"entity":"eu-ets"},"exampleRequest":"/gauge/policy-region?entity=eu-ets"},"resource":"https://aeml-x402.zeabur.app/gauge/policy-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":27,"delivery_rate_pct":51.9,"failure_modes_pct":{"no_data_no_charge":48.1},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/tool-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] AI tool and MCP chain, one tool (?entity=mammoth-ai): leading decay warnings, release cadence stalling and docs going dark -> current live or dead status from real DNS and GitHub checks -> realized lifecycle from launch to death with days alive (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: DNS, GitHub, package registries. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"entity":{"type":"string","description":"The object key of this bundle - the ?entity= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"AI tool and MCP chain, one tool","tags":["gauge","tool","region","dns","github","package-registries","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","enum":["jasper-ai","perplexity-ai","midjourney","runwayml","elevenlabs","cursor","huggingface","stability-ai","suno","synthesia","stability-dreamstudio-note","mammoth-ai","the-lens-ai","bardeen-note","mcp-servers-official","mcp-python-sdk","mcp-typescript-sdk","github-mcp-server","playwright-mcp","awesome-mcp-servers","mcp-servers-archived-servers"]}},"required":["entity"],"example":{"entity":"jasper-ai"},"exampleRequest":"/gauge/tool-region?entity=jasper-ai"},"resource":"https://aeml-x402.zeabur.app/gauge/tool-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":27,"delivery_rate_pct":51.9,"failure_modes_pct":{"no_data_no_charge":48.1},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/dependency-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] AI dependency chain, one dependency (?entity=openai-text-davinci-003): leading deprecation notices INCLUDING the sunset date the publisher itself scheduled -> current current availability -> realized lifecycle to deprecation, days alive (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: vendor notices, source URL per record. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"entity":{"type":"string","description":"The object key of this bundle - the ?entity= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"AI dependency chain, one dependency","tags":["gauge","dependency","region","vendor-notices","source-url-per-record","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","enum":["openai-text-davinci-003","openai-davinci-gpt3-base","openai-code-davinci-002","openai-gpt-4-vision-preview","openai-gpt-3.5-turbo-0301","openai-gpt-4-32k","anthropic-claude-1","anthropic-claude-instant-1","anthropic-claude-2","google-palm-text-bison","google-palm-chat-bison","azure-openai-gpt-35-turbo-0301","azure-openai-gpt-4-0314","openai-gpt-4-0314","openai-text-embedding-ada-002-legacy","openai-gpt-4o","openai-gpt-4-turbo","anthropic-claude-3-5-sonnet","google-gemini-1-5-pro","meta-llama-3"]}},"required":["entity"],"example":{"entity":"openai-text-davinci-003"},"exampleRequest":"/gauge/dependency-region?entity=openai-text-davinci-003"},"resource":"https://aeml-x402.zeabur.app/gauge/dependency-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":25,"delivery_rate_pct":56,"failure_modes_pct":{"no_data_no_charge":44},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/promise-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] Promise-reconciliation chain, one promisor (?entity=humane-ai-pin): leading promise slippage - schedule slipping, spec shrinking, promise page vanishing -> current current company or project status -> realized lifecycle to death or acquisition (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: official announcements and registries. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"entity":{"type":"string","description":"The object key of this bundle - the ?entity= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Promise-reconciliation chain","tags":["gauge","promise","region","official-announcements","registries","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","official-source","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","enum":["figure-ai","tesla-optimus","1x-technologies","sanctuary-ai","humane-ai-pin","rabbit-r1","inflection-ai","adept-ai","character-ai","cognition-devin","imbue-ai","coreweave","lambda-labs","stability-ai","cruise-robotaxi","nikola-trucks","magic-leap"]}},"required":["entity"],"example":{"entity":"figure-ai"},"exampleRequest":"/gauge/promise-region?entity=figure-ai"},"resource":"https://aeml-x402.zeabur.app/gauge/promise-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":27,"delivery_rate_pct":51.9,"failure_modes_pct":{"no_data_no_charge":48.1},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/carbon-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] Carbon integrity chain, one carbon project (?entity=kariba-redd): leading rating drift, downgrades and standard-body review -> current registry lifecycle from listed to suspended or de-listed -> realized price integrity (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: Verra, Gold Standard, registry feeds. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"entity":{"type":"string","description":"The object key of this bundle - the ?entity= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Carbon integrity chain, one carbon project","tags":["gauge","carbon","region","verra","gold-standard","registry-feeds","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","enum":["kariba-redd","rimba-raya","southern-cardamom","cdm-mechanism","vm0009-methodology","vm0007-methodology","vm0015-methodology","gs-vpa-suspended-cookstove","acr-ado-example","cordillera-azul","alto-mayo","envira-amazonia","delta-blue-carbon","katingan-mentaya","gs-basa-magogo","gs-renewable-wind-india","car-us-forest","gs-safe-water","acr-us-landfill"]}},"required":["entity"],"example":{"entity":"kariba-redd"},"exampleRequest":"/gauge/carbon-region?entity=kariba-redd"},"resource":"https://aeml-x402.zeabur.app/gauge/carbon-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":27,"delivery_rate_pct":51.9,"failure_modes_pct":{"no_data_no_charge":48.1},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/stablecoin-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] Stablecoin chain, one stablecoin (?entity=terrausd-ust): leading depeg pressure - peg deviation, reserves, regulatory notices -> current current peg and market cap -> realized redemption and lifecycle outcome (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: exchange and registry feeds. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"entity":{"type":"string","description":"The object key of this bundle - the ?entity= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Stablecoin chain, one stablecoin","tags":["gauge","stablecoin","region","exchange","registry-feeds","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","enum":["terrausd-ust","iron-titan","basis-cash-bac","empty-set-dollar-esd","dynamic-set-dollar-dsd","dei-deus","neutrino-usdn","safecoin-safedollar","binance-usd-busd","fei-usd","husd","gemini-dollar-gusd","diem-libra","usdd-tron","trueusd-tusd","usdc-circle","usde-ethena","tether-usdt","makerdao-dai","frax-frax","paypal-pyusd","first-digital-fdusd"]}},"required":["entity"],"example":{"entity":"terrausd-ust"},"exampleRequest":"/gauge/stablecoin-region?entity=terrausd-ust"},"resource":"https://aeml-x402.zeabur.app/gauge/stablecoin-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":28,"delivery_rate_pct":50,"failure_modes_pct":{"no_data_no_charge":50},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/aicompute-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] AI compute neocloud chain, one provider (?entity=coreweave): leading financing distress - layoffs, lease default, funding failure -> current current operating status -> realized lifecycle to wind-down, acquisition or bankruptcy (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: filings and official announcements. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"entity":{"type":"string","description":"The object key of this bundle - the ?entity= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"AI compute neocloud chain, one provider","tags":["gauge","aicompute","region","filings","official-announcements","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","official-source","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","enum":["coreweave","lambda","crusoe","nebius","together-ai","runpod","vast-ai","voltage-park","fluidstack","paperspace","digitalocean-gpu","vultr","genesis-cloud","tensordock","hyperstack","massedcompute","latitude-sh","gpu-mart","sfcompute","iren"]}},"required":["entity"],"example":{"entity":"coreweave"},"exampleRequest":"/gauge/aicompute-region?entity=coreweave"},"resource":"https://aeml-x402.zeabur.app/gauge/aicompute-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":27,"delivery_rate_pct":51.9,"failure_modes_pct":{"no_data_no_charge":48.1},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/depin-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] DePIN chain, one network (?entity=helium): leading reward-claim attrition, nodes stopping claims - the earliest signal -> current active nodes and paid supply, NOT token price -> realized lifecycle to wind-down or ghost state (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: onchain and official network data. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"entity":{"type":"string","description":"The object key of this bundle - the ?entity= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"DePIN chain, one network, leading reward-claim attrition","tags":["gauge","depin","region","onchain","official-network-data","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","official-source","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","enum":["helium","helium-mobile","render","io-net","akash","filecoin","arweave","grass","hivemapper","dimo","weatherxm","geodnet","nodle","theta","natix","wingbits","planetwatch","pollen-mobile","mxc-dhx","streamr"]}},"required":["entity"],"example":{"entity":"helium"},"exampleRequest":"/gauge/depin-region?entity=helium"},"resource":"https://aeml-x402.zeabur.app/gauge/depin-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":27,"delivery_rate_pct":51.9,"failure_modes_pct":{"no_data_no_charge":48.1},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/esgfund-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] ESG fund greenwash chain, one fund (?entity=blackrock-art9-downgrade): leading label pressure, SFDR Article 9 to 8 downgrade and ESG name removal -> current current classification -> realized rating de-listing and lifecycle (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: SFDR filings and rating registries. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"entity":{"type":"string","description":"The object key of this bundle - the ?entity= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"ESG fund greenwash chain, one fund","tags":["gauge","esgfund","region","sfdr-filings","rating-registries","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","enum":["dws-group-desg","dws-esg-us-order","blackrock-art9-downgrade","amundi-art9-index-range","pimco-art9-downgrade","robeco-art9-reclass","nn-ip-art9-reclass","invesco-art9-etf","axa-im-art9-range","hsbc-art9-reclass","jpm-carbon-transition","ishares-esg-aware-usa","spdr-sp500-esg","xtrackers-esg-name-strip","esma-name-guideline-cohort","uk-sdr-relabel-cohort","sustainable-closure-cohort","morningstar-delist-cohort","handelsbanken-art9-reclass","vanguard-esg-us-closure"]}},"required":["entity"],"example":{"entity":"dws-group-desg"},"exampleRequest":"/gauge/esgfund-region?entity=dws-group-desg"},"resource":"https://aeml-x402.zeabur.app/gauge/esgfund-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":27,"delivery_rate_pct":51.9,"failure_modes_pct":{"no_data_no_charge":48.1},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/rwa-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] Tokenised RWA chain, one issuer or pool (?entity=maple-orthogonal-pool): leading credit stress signals -> current current pool state -> realized lifecycle to default, wind-down or redemption freeze (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: issuer disclosures and onchain data. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"entity":{"type":"string","description":"The object key of this bundle - the ?entity= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Tokenised RWA chain, one issuer or pool","tags":["gauge","rwa","region","issuer-disclosures","onchain-data","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","enum":["blackrock-buidl","ondo-ousg","ondo-usdy","franklin-benji","superstate-ustb","hashnote-usyc","m0-m","backed-bib01","securitize-platform","maple-finance","maple-orthogonal-pool","maple-auros-pool","goldfinch-protocol","truefi-protocol","centrifuge-protocol","figure-provenance","clearpool-protocol","paxos-gold-paxg","tether-gold-xaut","realt-detroit-pools"]}},"required":["entity"],"example":{"entity":"blackrock-buidl"},"exampleRequest":"/gauge/rwa-region?entity=blackrock-buidl"},"resource":"https://aeml-x402.zeabur.app/gauge/rwa-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":27,"delivery_rate_pct":51.9,"failure_modes_pct":{"no_data_no_charge":48.1},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/smallsat-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] Smallsat constellation chain, one operator (?entity=oneweb): leading financing and deployment stress -> current current constellation state -> realized lifecycle to bankruptcy, wind-down or deorbit (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: FCC and ITU filings, operator disclosures. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"entity":{"type":"string","description":"The object key of this bundle - the ?entity= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Smallsat constellation chain","tags":["gauge","smallsat","region","fcc","itu-filings","operator-disclosures","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","enum":["planet-labs","spire-global","iceye","satellogic","blacksky","capella-space","hawkeye-360","kepler-comms","fleet-space","oneweb","swarm-tech","leosat","sky-and-space","audacy","astrocast","momentus","starlink","astranis","loft-orbital"]}},"required":["entity"],"example":{"entity":"planet-labs"},"exampleRequest":"/gauge/smallsat-region?entity=planet-labs"},"resource":"https://aeml-x402.zeabur.app/gauge/smallsat-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":28,"delivery_rate_pct":50,"failure_modes_pct":{"no_data_no_charge":50},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/lrt-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] Liquid restaking chain, one LRT (?entity=renzo-ezeth): leading NAV deviation measured against ETH, NOT against one dollar -> current current protocol state -> realized lifecycle to impairment, slashing or wind-down (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: onchain and protocol disclosures. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"entity":{"type":"string","description":"The object key of this bundle - the ?entity= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Liquid restaking chain, one LRT","tags":["gauge","lrt","region","onchain","protocol-disclosures","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","enum":["etherfi-weeth","renzo-ezeth","kelp-rseth","puffer-pufeth","swell-rsweth","eigenpie-egeth","mellow-lrt","bedrock-unieth","eigenlayer","symbiotic","karak","restake-finance","inception-inceth","rio-reeth","pendle-lrt-pt","claystack-csreth","affine-ultraeth","genesis-lrt","stader-rseth"]}},"required":["entity"],"example":{"entity":"etherfi-weeth"},"exampleRequest":"/gauge/lrt-region?entity=etherfi-weeth"},"resource":"https://aeml-x402.zeabur.app/gauge/lrt-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":28,"delivery_rate_pct":50,"failure_modes_pct":{"no_data_no_charge":50},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/wildfire-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] Wildfire chain, one fire-risk region (?entity=us-california): leading fire weather - hot, dry and windy -> current active fire detections from NASA FIRMS satellite thermal anomalies -> realized downwind smoke impact (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: NASA FIRMS, NWS, EPA. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"entity":{"type":"string","description":"The object key of this bundle - the ?entity= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Wildfire chain, one fire-risk region","tags":["gauge","wildfire","region","nasa-firms","nws","epa","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","enum":["us-california","us-pacific-northwest","us-southwest","us-rockies","canada-bc","canada-alberta","au-nsw","au-victoria","med-greece","iberia","amazon-brazil","siberia-russia"]}},"required":["entity"],"example":{"entity":"us-california"},"exampleRequest":"/gauge/wildfire-region?entity=us-california"},"resource":"https://aeml-x402.zeabur.app/gauge/wildfire-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":27,"delivery_rate_pct":51.9,"failure_modes_pct":{"no_data_no_charge":48.1},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/nas-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] Aviation ground-stop chain, one airport (?entity=ewr): leading aviation weather - METAR ceiling, visibility, convection and gusts -> current FAA NAS ground stops and delay programs -> realized realized delay (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: FAA NAS Status, NWS METAR. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"entity":{"type":"string","description":"The object key of this bundle - the ?entity= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Aviation ground-stop chain","tags":["gauge","nas","region","faa-nas-status","nws-metar","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","enum":["ewr","lga","jfk","sfo","ord","bos","phl","atl","dfw","den","clt","iah","mia","sea","lax","dca","mco","las","phx","mem","sdf","anc"]}},"required":["entity"],"example":{"entity":"ewr"},"exampleRequest":"/gauge/nas-region?entity=ewr"},"resource":"https://aeml-x402.zeabur.app/gauge/nas-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":27,"delivery_rate_pct":51.9,"failure_modes_pct":{"no_data_no_charge":48.1},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/border-wait-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] Land border chain, one crossing (?entity=laredo-world-trade): leading upstream pressure - lead traffic, staffing and inspection intensity -> current current CBP border wait times by lane -> realized realized commercial freight delay (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: US CBP. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"entity":{"type":"string","description":"The object key of this bundle - the ?entity= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Land border chain, one crossing","tags":["gauge","border","wait","region","us-cbp","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","enum":["laredo-world-trade","laredo-colombia","laredo-bridge1","otay-mesa-commercial","san-ysidro","el-paso-ysleta","el-paso-bota","pharr","hidalgo","nogales-mariposa","calexico-east","brownsville-veterans","detroit-ambassador","detroit-windsor-tunnel","buffalo-peace-bridge","port-huron-bluewater","blaine-pacific-hwy","blaine-peace-arch","champlain","pembina"]}},"required":["entity"],"example":{"entity":"laredo-world-trade"},"exampleRequest":"/gauge/border-wait-region?entity=laredo-world-trade"},"resource":"https://aeml-x402.zeabur.app/gauge/border-wait-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":28,"delivery_rate_pct":50,"failure_modes_pct":{"no_data_no_charge":50},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/earthquake-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] Seismic activity chain, one seismic zone (?entity=california-san-andreas): leading swarm rate, USGS micro-event rate rising - DESCRIPTIVE and explicitly not a prediction -> current current max magnitude and count -> realized felt and impact reports (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: USGS. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"entity":{"type":"string","description":"The object key of this bundle - the ?entity= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Seismic activity chain, one seismic zone","tags":["gauge","earthquake","region","usgs","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","enum":["california-san-andreas","cascadia-pnw","alaska-aleutians","japan","sumatra-indonesia","philippines","chile","mexico","central-america","turkey-anatolia","greece-italy-med","iran","nepal-himalaya","new-zealand","iceland","png-solomon","taiwan","caribbean"]}},"required":["entity"],"example":{"entity":"california-san-andreas"},"exampleRequest":"/gauge/earthquake-region?entity=california-san-andreas"},"resource":"https://aeml-x402.zeabur.app/gauge/earthquake-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":27,"delivery_rate_pct":51.9,"failure_modes_pct":{"no_data_no_charge":48.1},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/drug-shortage-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] Drug shortage chain, one therapeutic class (?entity=oncology): leading new-shortage incidence from openFDA new listings, which leads the burden peak -> current current active shortages in the class -> realized resolution rate (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: openFDA. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"entity":{"type":"string","description":"The object key of this bundle - the ?entity= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Drug shortage chain, one therapeutic class","tags":["gauge","drug","shortage","region","openfda","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","enum":["anesthesia","oncology","psychiatry-cns","analgesia-opioid","anti-infective","cardiovascular","neurology","gastroenterology","endocrine","hematology","pulmonary-allergy","ophthalmology","tpn-nutrition","renal","medical-imaging","antiviral","pediatric","dermatology"]}},"required":["entity"],"example":{"entity":"anesthesia"},"exampleRequest":"/gauge/drug-shortage-region?entity=anesthesia"},"resource":"https://aeml-x402.zeabur.app/gauge/drug-shortage-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":26,"delivery_rate_pct":53.8,"failure_modes_pct":{"no_data_no_charge":46.2},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/drug-detail-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] Per-drug shortage chain, one drug (?entity=carboplatin): leading supply narrowing - available labelers against total listed -> current current FDA shortage status per NDC -> realized affected presentations (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: openFDA. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"entity":{"type":"string","description":"The object key of this bundle - the ?entity= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Per-drug shortage chain, one drug","tags":["gauge","drug","detail","region","openfda","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","enum":["carboplatin","cisplatin","oxaliplatin","methotrexate","fluorouracil","epinephrine","norepinephrine","phenylephrine","atropine","amoxicillin","piperacillin-tazobactam","cefazolin","vancomycin","heparin","dextrose","sodium-chloride","sodium-bicarbonate","lidocaine","ketamine","morphine","hydromorphone","fentanyl","magnesium-sulfate","dexamethasone"]}},"required":["entity"],"example":{"entity":"carboplatin"},"exampleRequest":"/gauge/drug-detail-region?entity=carboplatin"},"resource":"https://aeml-x402.zeabur.app/gauge/drug-detail-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":28,"delivery_rate_pct":50,"failure_modes_pct":{"no_data_no_charge":50},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/grid-reliability-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] Grid reliability chain, one balancing authority (?entity=us-ercot): leading EIA-930 day-ahead demand forecast approaching recent peak, about one day of lead -> current current demand against capacity tightness -> realized reserve and interchange response (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: US EIA-930. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"entity":{"type":"string","description":"The object key of this bundle - the ?entity= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Grid reliability chain, one balancing authority","tags":["gauge","grid","reliability","region","us-eia-930","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","enum":["caiso","ercot","miso","pjm","spp","nyiso","isone","bpa","pace","pacw","fpl","soco","tva","duke","psco","azps","aeci","pnm"]}},"required":["entity"],"example":{"entity":"caiso"},"exampleRequest":"/gauge/grid-reliability-region?entity=caiso"},"resource":"https://aeml-x402.zeabur.app/gauge/grid-reliability-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":42,"delivery_rate_pct":66.7,"failure_modes_pct":{"no_data_no_charge":33.3},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/severe-convection-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] Severe convection and hail chain, one convective region (?entity=tornado-alley-core): leading SPC Day-1 outlook with CAPE, CIN and shear - hours of lead -> current current storm reports -> realized realized hail and wind damage reports (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: NOAA SPC. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"entity":{"type":"string","description":"The object key of this bundle - the ?entity= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Severe convection and hail chain","tags":["gauge","severe","convection","region","noaa-spc","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","enum":["tornado-alley-core","tx-panhandle-hail","central-kansas","high-plains-hail-alley","front-range-co","northern-plains","upper-midwest-derecho","corn-belt-il","ohio-valley","tennessee-valley","dixie-alley-core","arklatex","southern-plains-tx","tx-hill-country","southeast-atlantic","florida-peninsula"]}},"required":["entity"],"example":{"entity":"tornado-alley-core"},"exampleRequest":"/gauge/severe-convection-region?entity=tornado-alley-core"},"resource":"https://aeml-x402.zeabur.app/gauge/severe-convection-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":27,"delivery_rate_pct":51.9,"failure_modes_pct":{"no_data_no_charge":48.1},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/hurricane-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] Hurricane chain, one basin (?entity=atlantic|epacific|cpacific): leading NHC official 2-day and 7-day genesis probability, QUOTED from NHC, never our forecast -> current active storms - category, wind, pressure, position -> realized official watches, warnings, landfall (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: NOAA NHC. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"entity":{"type":"string","description":"The object key of this bundle - the ?entity= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Hurricane chain, one basin","tags":["gauge","hurricane","region","noaa-nhc","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","official-source","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","enum":["atlantic","epacific","cpacific"]}},"required":["entity"],"example":{"entity":"atlantic"},"exampleRequest":"/gauge/hurricane-region?entity=atlantic"},"resource":"https://aeml-x402.zeabur.app/gauge/hurricane-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":25,"delivery_rate_pct":56,"failure_modes_pct":{"no_data_no_charge":44},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/drought-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] Drought chain, one drought region (?entity=us-california): leading precipitation deficit, soil moisture and snowpack -> current the OFFICIAL US Drought Monitor class and area coverage -> realized realized streamflow and impact (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: USDM/NDMC, USGS. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"entity":{"type":"string","description":"The object key of this bundle - the ?entity= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Drought chain, one drought region","tags":["gauge","drought","region","usdm","ndmc","usgs","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","official-source","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","enum":["us-california","us-southwest","us-southernplains","us-northernplains","us-cornbelt","us-southeast","us-pacificnw","us-lowermississippi","us-northeast","us-rockies"]}},"required":["entity"],"example":{"entity":"us-california"},"exampleRequest":"/gauge/drought-region?entity=us-california"},"resource":"https://aeml-x402.zeabur.app/gauge/drought-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":26,"delivery_rate_pct":53.8,"failure_modes_pct":{"no_data_no_charge":46.2},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/defilending-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] DeFi lending chain, one protocol (?entity=euler-v1): leading utilisation and bad-debt stress -> current current protocol state -> realized lifecycle to exploit, insolvency or deprecation (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: onchain and protocol disclosures. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"entity":{"type":"string","description":"The object key of this bundle - the ?entity= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"DeFi lending chain, one protocol","tags":["gauge","defilending","region","onchain","protocol-disclosures","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","enum":["aave","compound","morpho","euler-v2","sky-maker","spark","fluid","silo","venus","kamino","solend","euler-v1","cream","rari-fuse","radiant","uwu-lend","bzx","hundred","iron-bank","inverse-anchor"]}},"required":["entity"],"example":{"entity":"aave"},"exampleRequest":"/gauge/defilending-region?entity=aave"},"resource":"https://aeml-x402.zeabur.app/gauge/defilending-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":26,"delivery_rate_pct":50,"failure_modes_pct":{"no_data_no_charge":50},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/aidataset-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] AI dataset takedown chain, one dataset (?entity=laion-5b): leading access pressure from gating and legal notices -> current current availability -> realized lifecycle to gated, withdrawn or deleted (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: host registries and official notices. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"entity":{"type":"string","description":"The object key of this bundle - the ?entity= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"AI dataset takedown chain, one dataset","tags":["gauge","aidataset","region","host-registries","official-notices","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","official-source","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","enum":["laion-5b","re-laion-5b","books3","the-pile","ms-celeb-1m","tiny-images-80m","duke-mtmc","brainwash","megaface","pippa","common-crawl","c4","imagenet","laion-400m","common-voice","openwebtext","clearview-scrape","redpajama","the-stack"]}},"required":["entity"],"example":{"entity":"laion-5b"},"exampleRequest":"/gauge/aidataset-region?entity=laion-5b"},"resource":"https://aeml-x402.zeabur.app/gauge/aidataset-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":27,"delivery_rate_pct":48.1,"failure_modes_pct":{"no_data_no_charge":51.9},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/meddevice-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] Medical device recall chain, one product line (?entity=philips-dreamstation-cpap): leading recall pressure signals -> current current clearance status -> realized lifecycle from cleared to recalled to withdrawn (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: US FDA. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"entity":{"type":"string","description":"The object key of this bundle - the ?entity= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Medical device recall chain","tags":["gauge","meddevice","region","us-fda","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","enum":["philips-dreamstation-cpap","medtronic-heartware-hvad","exactech-optetrak-knee","exactech-connexion-gxl-hip","allergan-biocell-breast-implant","bayer-essure-contraceptive","depuy-asr-hip","bard-recovery-ivc-filter","abbott-nanostim-lcp","boston-scientific-lotus-edge-tavr","abbott-st-jude-icd-battery","medtronic-minimed-600-insulin-pump","cook-celect-ivc-filter","smith-nephew-birmingham-hip","philips-respironics-trilogy-evo","abbott-freestyle-libre-3","dexcom-g7-cgm","medtronic-micra-av-pacemaker","intuitive-davinci-5","medtronic-hugo-ras"]}},"required":["entity"],"example":{"entity":"philips-dreamstation-cpap"},"exampleRequest":"/gauge/meddevice-region?entity=philips-dreamstation-cpap"},"resource":"https://aeml-x402.zeabur.app/gauge/meddevice-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":25,"delivery_rate_pct":52,"failure_modes_pct":{"no_data_no_charge":48},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/tariff-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] Tariff and customs measure chain, one trade measure (?entity=sec301-china-list1): leading review pipeline stage -> current current legal force -> realized lifecycle from imposed to expired or rescinded (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: USTR, Federal Register, USITC. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"entity":{"type":"string","description":"The object key of this bundle - the ?entity= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Tariff and customs measure chain","tags":["gauge","tariff","region","ustr","federal-register","usitc","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","enum":["sec301-china-list1","sec301-china-list3","sec301-list4a","sec301-ev-modifications","sec232-steel","sec232-aluminum","sec232-eu-trq","sec201-solar","sec201-washers","sec201-steel-2002","gsp-program","nafta","airbus-boeing-tariffs","adcvd-solar-cells-china","adcvd-shrimp","adcvd-honey-china","adcvd-oil-country-tubular","ustr-301-exclusions","ieepa-reciprocal-2025","ieepa-fentanyl-tariffs-2025","de-minimis-change","eu-cbam-customs"]}},"required":["entity"],"example":{"entity":"sec301-china-list1"},"exampleRequest":"/gauge/tariff-region?entity=sec301-china-list1"},"resource":"https://aeml-x402.zeabur.app/gauge/tariff-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":27,"delivery_rate_pct":48.1,"failure_modes_pct":{"no_data_no_charge":51.9},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/biodiversity-region","price":"$0.25","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG] Biodiversity credit chain, one project (?entity=uk-bng-warwickshire): leading standard-body pipeline pressure - registry status change, methodology revision, rating downgrade -> current current registry state -> realized lifecycle outcome (confirmation gate). A sequential chain, not one reading - confidence = how many legs are lit, in order. Sources: registry and standard-body feeds. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"entity":{"type":"string","description":"The object key of this bundle - the ?entity= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Biodiversity credit chain, one project","tags":["gauge","biodiversity","region","registry","standard-body-feeds","cross-source","leading-indicator","causal-chain","no-data-no-charge","provenance","descriptive-only"],"inputSchema":{"queryParams":{"entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","enum":["uk-bng-statutory-units","uk-bng-register","wallacea-methodology","plan-vivo-pv-nature","verra-nature-framework","terrasos-habitat-banks","ecoaustralia-credits","savimbo-credits","creditnature-naria","ekos-credits","bca-governance","gold-standard-biodiversity","south-pole-nature","cercarbono-biodiversity","operation-wallacea-legacy","bng-broker-marketplaces","nature-credit-index-pilots","self-issued-voluntary"]}},"required":["entity"],"example":{"entity":"uk-bng-statutory-units"},"exampleRequest":"/gauge/biodiversity-region?entity=uk-bng-statutory-units"},"resource":"https://aeml-x402.zeabur.app/gauge/biodiversity-region","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":27,"delivery_rate_pct":48.1,"failure_modes_pct":{"no_data_no_charge":51.9},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/census","price":"$0.09","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[BATCH+PROOF] All entities for one signal at their latest reading, with band, frequency_label and percentile columns so you can rank across stations and screen for the unusual in one call. Cross-station comparison is the point: one river gauge alone tells you little, 200 of them ranked by distance-to-action tells you a lot. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"count":{"type":"integer","description":"Number of rows (all objects for this signal)"},"rows":{"type":"array","items":{"type":"object","properties":{"signal_id":{"type":"string","description":"Signal id in genus.species ASCII binomial form (e.g. crypto.spot / macro.unemployment / shipping.route-disruption); full list at free /gauge/catalog"},"entity":{"type":"string","description":"Monitored object id (e.g. btc / us / hormuz); full list at free /gauge/catalog or /gauge/preview"},"entity_name":{"type":["string","null"],"description":"Human-readable name of the object"},"snapshot_date":{"type":"string","description":"ISO-8601 date-time in UTC (e.g. 2026-07-24T00:00:00.000Z; aligned to midnight of that day)"},"observed_at":{"type":"string","description":"Actual observation time of the data, ISO-8601"},"data_age_hours":{"type":["number","null"],"description":"Age frozen at collection time (0 = same hour), for reference only - if a collector stalls this field stops moving. For freshness always use provenance.age_hours_now (computed at request time) and provenance.freshness; the threshold basis is in provenance.freshness_basis"},"current":{"type":["object","null"],"description":"Current reading. The inner metric structure varies by signal (crypto -> {price_usd, volume_24h, ...}; shipping -> {wind_kmh, wave_height_m, ...}). Units are carried in the field-name suffix; see also standard_ruler.unit"},"previous":{"type":["object","null"],"description":"Previous-period reading (a subset of the metrics in current; or {note} explaining that there is no previous value)"},"change":{"type":["object","null"],"description":"Change, nested per metric: change.<metric> = {delta, direction, direction_reason?}, plus the scalar change.period (e.g. \"vs_previous\"). direction is one of rising/falling/stable/unknown - unknown means the direction CANNOT BE DETERMINED, it does not mean stable; in that case direction_reason carries a machine-readable cause: no-previous-record / metric-absent-in-previous / metric-absent-in-current / non-numeric-value"},"trend_7d":{"type":["array","null"],"items":{"type":"object"},"description":"Array of the last 7 trend points; [] means this signal has no series yet or the series does not apply - it is not an error"},"sources":{"type":["array","null"],"items":{"type":"object"},"description":"Source list [{name, value, weight, as_of, role, independent, relay_of?}]. independent:true = confirmed independent source; false = confirmed relay channel of another source (relay_of names the origin); null = independence unconfirmed (neither denied nor claimed). name/weight/independent/relay_of are record_hash core fields, so tampering with an independence claim breaks self-verification; as_of/value/role drift easily and are not hashed"},"source_agreement_cv":{"type":["number","null"],"description":"Multi-source agreement, coefficient of variation (smaller = closer agreement). Present ONLY when two or more CONFIRMED-INDEPENDENT sources measure the same fact at the same time - see sources[].independent. Same source relayed through two channels does not count as independent, and two different time bases (daily mean vs spot) do not count as agreement. Single-source / unconfirmed independence / not applicable -> null"},"standard_ruler":{"type":["object","null"],"description":"Official standard ruler (band / thresholds / normalized_index / pct_to_action, with unit and provenance); null when the line has no official ruler. Inner structure varies by signal"},"stat_ruler":{"type":["object","null"],"description":"Statistical ruler: empirical percentile position across the last 5 same-season years; null when there are no statistics"},"strata":{"type":["object","null"],"description":"Statistical strata: share of each official band over the last 5 same-season years plus the band the current value falls in; null when there are no statistics"},"summary_zh":{"type":["string","null"],"description":"Human-readable one-line summary, IN CHINESE (zh-TW): reading + where it sits on the official ruler + statistical position. English-only consumers should ignore this field and read current/standard_ruler/stat_ruler instead"},"lifecycle":{"type":["object","null"],"description":"Lifecycle block (state / birth_at / end_at / death_type / context). Part of the record_hash v3 core, so offline recomputation must include it; null for non-lifecycle lines"},"hash_core_version":{"type":["integer","null"],"description":"Core-contract version of record_hash (currently 3); use it to pick the right core composition when recomputing offline"},"ots_status":{"type":["string","null"],"description":"RETIRED FIELD - always \"pending\" or null; this field is no longer updated and is kept only for older parsers. Anchoring itself resumed on 2026-08-15 as a daily Merkle root stamped via OpenTimestamps - it proves the day set existed no later than the stamp time, and is exposed at free /gauge/anchor (not here). For per-record self-verification use record_hash (canonical sha256, recomputable offline) plus free /gauge/verify"},"source_ref":{"type":["string","null"],"description":"Official source URL (provenance)"},"source_tier":{"type":["string","null"],"description":"Source tier: T1 (first-hand official) / T2 or T2-<subtype, e.g. T2-exchange> (observable, curated) / screen-viewpoint; null = untiered (see unverified)"},"record_hash":{"type":["string","null"],"description":"sha256:<64hex> (contract A v3, binds the values plus provenance)"},"record_hash_verifiable":{"type":["object","null"],"description":"{mode:offline|via-endpoint, note}"},"unverified":{"type":"boolean","description":"true = the source is untiered (source_tier is null); buyers and agents can filter on this"}},"additionalProperties":true},"description":"CORE DELIVERY: latest readings for every object of one signal. Per-row shape is in items - the fields live INSIDE items, not at the top level"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["count","rows"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"All entities for one signal at their latest reading","tags":["gauge","census","no-data-no-charge","descriptive-only"],"inputSchema":{"queryParams":{"signal_id":"required - signal id (genus.species); free list at GET /gauge/catalog (paged; ?all=1 for every line)"},"properties":{"signal_id":{"type":"string","description":"required - signal id (genus.species); free list at GET /gauge/catalog (paged; ?all=1 for every line)","examples":["hydrology.river-level"]}},"required":["signal_id"],"example":{"signal_id":"hydrology.river-level"},"exampleRequest":"/gauge/census?signal_id=hydrology.river-level"},"resource":"https://aeml-x402.zeabur.app/gauge/census","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":26,"delivery_rate_pct":50,"failure_modes_pct":{"no_data_no_charge":50},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/macro-reconcile-full","price":"$0.09","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[RECONCILIATION] Market-implied against officially-realized, side by side: Kalshi implied levels versus BLS official prints, aligned indicator by indicator, with the divergence quantified. The alignment key is returned so you can verify the pairing yourself. We show both numbers and the gap - the reading is yours. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"product":{"type":"string","description":"Product marker (macro reconciliation - market-implied vs official-realized)"},"reconcile":{"type":"array","description":"CORE DELIVERY: metric-by-metric alignment; each row carries metric / kalshi_series / official_realized{value,kind,unit,period,source,age_hours} / market_implied / the divergence between them","items":{"type":"object","additionalProperties":true}},"disclaimer":{"type":"string","description":"Statement of the difference in kind between market-implied and officially-realized values"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["reconcile"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Market-implied against officially-realized","tags":["gauge","macro","reconcile","full","no-data-no-charge","official-source","descriptive-only"],"inputSchema":{"queryParams":{},"properties":{},"required":[]},"resource":"https://aeml-x402.zeabur.app/gauge/macro-reconcile-full","maxTimeoutSeconds":300,"preview":"/gauge/macro-reconcile","trust":{"paid_calls":26,"delivery_rate_pct":100,"failure_modes_pct":{},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/history-series","price":"$0.09","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[TIME SERIES EXPORT] Full retained series for one signal and entity (?days=, ?format=json or csv): every snapshot up to days (default 400, cap 1000) with snapshot_date, observed_at, data_age_hours, current, band and record_hash. For research, actuarial and base-rate work. Free 7-snapshot shape preview at /gauge/history-preview. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"tier":{"type":"string","description":"Always the literal \"history-series\""},"format":{"type":"string","enum":["json","csv"]},"signal_id":{"type":"string","description":"Signal id in genus.species ASCII binomial form (e.g. crypto.spot / macro.unemployment / shipping.route-disruption); full list at free /gauge/catalog"},"entity":{"type":"string","description":"Monitored object id (e.g. btc / us / hormuz); full list at free /gauge/catalog or /gauge/preview"},"days":{"type":"integer","description":"Days actually covered (capped at 1000)"},"count":{"type":"integer","description":"Number of rows in series"},"series":{"type":"array","description":"CORE DELIVERY: the full time series for this (signal_id, entity) pair, snapshot_date ascending; each row carries snapshot_date / observed_at / data_age_hours / current / band / record_hash","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"}},"required":["count","series"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Full retained series for one signal and entity","tags":["gauge","history","series","no-data-no-charge","record-hash","descriptive-only"],"inputSchema":{"queryParams":{"signal_id":"required - signal id (genus.species); free list at GET /gauge/catalog (paged; ?all=1 for every line)","entity":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"properties":{"signal_id":{"type":"string","description":"required - signal id (genus.species); free list at GET /gauge/catalog (paged; ?all=1 for every line)","examples":["hydrology.river-level"]},"entity":{"type":"string","description":"required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]","examples":["07010000"]}},"required":["signal_id","entity"],"example":{"signal_id":"hydrology.river-level","entity":"07010000"},"exampleRequest":"/gauge/history-series?signal_id=hydrology.river-level&entity=07010000"},"resource":"https://aeml-x402.zeabur.app/gauge/history-series","maxTimeoutSeconds":300,"preview":"/gauge/history-preview","trust":{"paid_calls":27,"delivery_rate_pct":48.1,"failure_modes_pct":{"no_data_no_charge":51.9},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/gauge/subscribe","price":"$9.90","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[SUBSCRIPTION] Pay once to mint a STATELESS signed token (HMAC - no account, no login, no session, no server-side storage). Send it as Authorization Bearer on /gauge/watch and /gauge/watch-changes to read a batch watchlist without per-call payment. Default validity 30 days. The free tier is unaffected. Priced above the default agent maxValue on purpose - minting a subscription should be a deliberate act, not an accident.","outputSchema":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"token":{"type":"string","description":"Signed subscription token (stateless HMAC); keep it yourself - no account, no login"},"plan":{"type":"string","description":"Plan code"},"expires_at":{"type":"string","format":"date-time","description":"Expiry, ISO-8601"},"days":{"type":"integer","description":"Validity in days"},"note":{"type":"string","description":"How to use it: call /gauge/watch and /gauge/watch-changes with Authorization: Bearer <token> or ?token="}},"required":["token","expires_at"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"title":"Pay once to mint a STATELESS signed token","tags":["gauge","subscribe"],"inputSchema":{"queryParams":{},"properties":{},"required":[]},"resource":"https://aeml-x402.zeabur.app/gauge/subscribe","maxTimeoutSeconds":300,"preview":"/gauge/preview","trust":{"paid_calls":14,"delivery_rate_pct":100,"failure_modes_pct":{},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/pay/tier2","price":"$0.03","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"Tiered payment receipt (tier 2): pay once with x402 and get back a short-lived receipt token that /pay/verify checks for you. The tier is fixed by the path - you do not send it. Optional ?ref= carries your own opaque reference, such as a query hash, straight through to the receipt. This mints a receipt rather than returning data, so there is no lookup that can come back empty.","outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"tier":{"type":"integer"},"ref":{"type":["string","null"]},"paid_via":{"type":"string"},"receipt":{"type":"string"},"exp":{"type":"integer"}}},"title":"Tiered payment receipt (tier 2)","tags":["pay","tier2"],"inputSchema":{"queryParams":{"tier":"optional - ignored; fixed to 2 by this path","ref":"optional - opaque reference such as a query hash"},"properties":{"tier":{"type":"string","description":"optional - ignored; fixed to 2 by this path"},"ref":{"type":"string","description":"optional - opaque reference such as a query hash"}},"required":[]},"resource":"https://aeml-x402.zeabur.app/pay/tier2","maxTimeoutSeconds":300,"trust":{"paid_calls":28,"delivery_rate_pct":100,"failure_modes_pct":{},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/pay/tier3","price":"$0.10","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"Tiered payment receipt (tier 3): pay once with x402 and get back a short-lived receipt token that /pay/verify checks for you. The tier is fixed by the path - you do not send it. Optional ?ref= carries your own opaque reference, such as a query hash, straight through to the receipt. This mints a receipt rather than returning data, so there is no lookup that can come back empty.","outputSchema":{"type":"object","properties":{"ok":{"type":"boolean"},"tier":{"type":"integer"},"ref":{"type":["string","null"]},"paid_via":{"type":"string"},"receipt":{"type":"string"},"exp":{"type":"integer"}}},"title":"Tiered payment receipt (tier 3)","tags":["pay","tier3"],"inputSchema":{"queryParams":{"tier":"optional - ignored; fixed to 3 by this path","ref":"optional - opaque reference such as a query hash"},"properties":{"tier":{"type":"string","description":"optional - ignored; fixed to 3 by this path"},"ref":{"type":"string","description":"optional - opaque reference such as a query hash"}},"required":[]},"resource":"https://aeml-x402.zeabur.app/pay/tier3","maxTimeoutSeconds":300,"trust":{"paid_calls":24,"delivery_rate_pct":100,"failure_modes_pct":{},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/shadow/chatter","price":"$0.02","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"Unverified public-channel chatter for one topic (?topic=), posted in the last 48 hours. Returns every raw message with its platform, source URL and timestamp, plus a grey_ref you can recompute as sha256(url + NUL + ts + NUL + text), and an LLM trend summary with an echo-chamber concentration index. NOT official fact and NOT a forecast; the summary is not offline-reproducible - only the per-item grey_ref is. Nothing posted in the window -> 422 no_charge, not billed.","outputSchema":{"type":"object","required":["topic","window_minutes","item_count","items","data_class","unverified","verify"],"properties":{"topic":{"type":"string"},"window_minutes":{"type":"integer"},"item_count":{"type":"integer"},"items":{"type":"array","items":{"type":"object","required":["grey_ref","platform","url","ts","text"],"properties":{"grey_ref":{"type":"string"},"platform":{"type":"string"},"url":{"type":"string"},"ts":{"type":"string"},"text":{"type":"string"}}}},"summary":{"type":["object","null"]},"disclaimer":{"type":"string"},"data_class":{"type":"string"},"unverified":{"type":"boolean"},"verify":{"type":"object"}}},"title":"Unverified public-channel chatter for one topic","tags":["shadow","chatter","no-data-no-charge"],"inputSchema":{"exampleRequest":"/shadow/chatter?topic=air","queryParams":{"topic":"required - chatter topic id; free in-stock list at GET /shadow/catalog (buying a topic with no stock returns 422 no_charge)"},"properties":{"topic":{"type":"string","description":"required - chatter topic id; free in-stock list at GET /shadow/catalog (buying a topic with no stock returns 422 no_charge)","examples":["air"]}},"required":["topic"],"example":{"topic":"air"}},"resource":"https://aeml-x402.zeabur.app/shadow/chatter","maxTimeoutSeconds":300,"trust":{"paid_calls":32,"delivery_rate_pct":53.1,"failure_modes_pct":{"no_data_no_charge":46.9},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/shadow/signal-plus","price":"$0.09","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[SIGNAL+PROOF+CHATTER] One official signal record with its offline-recomputable proof, PLUS the unverified public-channel chatter for a topic from the last 48h - delivered as two separate top-level keys that are never merged. The unverified half lives in its own database with an engine-level trigger forbidding updates, and contributes nothing to the official hash. Nothing posted in the window -> 422 no_charge, not billed (check GET /shadow/catalog first, free).","outputSchema":{"type":"object","required":["official","unverified","separation"],"properties":{"official":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"tier":{"type":"string","description":"Marker for the main single-point or history-series response (full / history-series); mutually exclusive with dim/addon"},"update_status":{"type":"object","description":"Did the OFFICIAL source keep its own declared publication cadence? Separate dimension from freshness: a record can be freshness=recent and update_status=overdue at the same time. state: on_schedule | overdue | not_published | unknown","properties":{"state":{"type":"string","description":"on_schedule | overdue | not_published | unknown"},"official_cadence":{"type":["string","null"],"description":"The cadence the official source declares for this line (hourly/daily/weekly/monthly/quarterly/yearly/as-events)"},"overdue_days":{"type":["integer","null"],"description":"How many days past that cadence; null when it cannot be determined"},"text":{"type":"string","description":"One-line human-readable form of the same fact"}}},"signal_id":{"type":"string","description":"Signal id in genus.species ASCII binomial form (e.g. crypto.spot / macro.unemployment / shipping.route-disruption); full list at free /gauge/catalog"},"entity":{"type":"string","description":"Monitored object id (e.g. btc / us / hormuz); full list at free /gauge/catalog or /gauge/preview"},"entity_name":{"type":["string","null"],"description":"Human-readable name of the object"},"snapshot_date":{"type":"string","description":"ISO-8601 date-time in UTC (e.g. 2026-07-24T00:00:00.000Z; aligned to midnight of that day)"},"observed_at":{"type":"string","description":"Actual observation time of the data, ISO-8601"},"data_age_hours":{"type":["number","null"],"description":"Age frozen at collection time (0 = same hour), for reference only - if a collector stalls this field stops moving. For freshness always use provenance.age_hours_now (computed at request time) and provenance.freshness; the threshold basis is in provenance.freshness_basis"},"current":{"type":["object","null"],"description":"Current reading. The inner metric structure varies by signal (crypto -> {price_usd, volume_24h, ...}; shipping -> {wind_kmh, wave_height_m, ...}). Units are carried in the field-name suffix; see also standard_ruler.unit"},"previous":{"type":["object","null"],"description":"Previous-period reading (a subset of the metrics in current; or {note} explaining that there is no previous value)"},"change":{"type":["object","null"],"description":"Change, nested per metric: change.<metric> = {delta, direction, direction_reason?}, plus the scalar change.period (e.g. \"vs_previous\"). direction is one of rising/falling/stable/unknown - unknown means the direction CANNOT BE DETERMINED, it does not mean stable; in that case direction_reason carries a machine-readable cause: no-previous-record / metric-absent-in-previous / metric-absent-in-current / non-numeric-value"},"trend_7d":{"type":["array","null"],"items":{"type":"object"},"description":"Array of the last 7 trend points; [] means this signal has no series yet or the series does not apply - it is not an error"},"sources":{"type":["array","null"],"items":{"type":"object"},"description":"Source list [{name, value, weight, as_of, role, independent, relay_of?}]. independent:true = confirmed independent source; false = confirmed relay channel of another source (relay_of names the origin); null = independence unconfirmed (neither denied nor claimed). name/weight/independent/relay_of are record_hash core fields, so tampering with an independence claim breaks self-verification; as_of/value/role drift easily and are not hashed"},"source_agreement_cv":{"type":["number","null"],"description":"Multi-source agreement, coefficient of variation (smaller = closer agreement). Present ONLY when two or more CONFIRMED-INDEPENDENT sources measure the same fact at the same time - see sources[].independent. Same source relayed through two channels does not count as independent, and two different time bases (daily mean vs spot) do not count as agreement. Single-source / unconfirmed independence / not applicable -> null"},"standard_ruler":{"type":["object","null"],"description":"Official standard ruler (band / thresholds / normalized_index / pct_to_action, with unit and provenance); null when the line has no official ruler. Inner structure varies by signal"},"stat_ruler":{"type":["object","null"],"description":"Statistical ruler: empirical percentile position across the last 5 same-season years; null when there are no statistics"},"strata":{"type":["object","null"],"description":"Statistical strata: share of each official band over the last 5 same-season years plus the band the current value falls in; null when there are no statistics"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"summary_zh":{"type":["string","null"],"description":"Human-readable one-line summary, IN CHINESE (zh-TW): reading + where it sits on the official ruler + statistical position. English-only consumers should ignore this field and read current/standard_ruler/stat_ruler instead"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"record_hash_verifiable":{"type":["object","null"],"description":"{mode:offline|via-endpoint, note}"},"lifecycle":{"type":["object","null"],"description":"Lifecycle block (state / birth_at / end_at / death_type / context). Part of the record_hash v3 core, so offline recomputation must include it; null for non-lifecycle lines"},"hash_core_version":{"type":["integer","null"],"description":"Core-contract version of record_hash (currently 3); use it to pick the right core composition when recomputing offline"},"ots_status":{"type":["string","null"],"description":"RETIRED FIELD - always \"pending\" or null; this field is no longer updated and is kept only for older parsers. Anchoring itself resumed on 2026-08-15 as a daily Merkle root stamped via OpenTimestamps - it proves the day set existed no later than the stamp time, and is exposed at free /gauge/anchor (not here). For per-record self-verification use record_hash (canonical sha256, recomputable offline) plus free /gauge/verify"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"source_ref":{"type":["string","null"],"description":"Official source URL (provenance)"},"source_tier":{"type":["string","null"],"description":"Source tier: T1 (first-hand official) / T2 or T2-<subtype, e.g. T2-exchange> (observable, curated) / screen-viewpoint; null = untiered (see unverified)"},"record_hash":{"type":["string","null"],"description":"sha256:<64hex> (contract A v3, binds the values plus provenance)"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"},"unverified":{"type":"boolean","description":"true = the source is untiered (source_tier is null); buyers and agents can filter on this"}},"required":["nature"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"unverified":{"type":"object","description":"UNVERIFIED half, structurally separated: public-channel chatter from the last 48h plus a non-reproducible LLM trend summary. Never merged into the authoritative half and never part of its hash"},"separation":{"type":"object","description":"{rule, why} - machine-readable statement of the isolation guarantee, so a buyer never has to infer it from prose"}}},"title":"One official signal record with its offline-recomputable proof","tags":["shadow","signal","plus","no-data-no-charge","official-source","offline-recomputable"],"inputSchema":{"exampleRequest":"/shadow/signal-plus?signal_id=hydrology.river-level&entity=07010000&topic=air","queryParams":{"signal_id":"required - signal id in genus.species form; free list at GET /gauge/catalog","entity":"required - monitored object id, PAIRED WITH signal_id; free list at GET /gauge/catalog","topic":"required - chatter topic id; free in-stock list at GET /shadow/catalog"},"properties":{"signal_id":{"type":"string","description":"required - signal id in genus.species form; free list at GET /gauge/catalog","examples":["hydrology.river-level"]},"entity":{"type":"string","description":"required - monitored object id, PAIRED WITH signal_id; free list at GET /gauge/catalog","examples":["07010000"]},"topic":{"type":"string","description":"required - chatter topic id; free in-stock list at GET /shadow/catalog","examples":["air"]}},"required":["signal_id","entity","topic"],"example":{"signal_id":"hydrology.river-level","entity":"07010000","topic":"air"}},"resource":"https://aeml-x402.zeabur.app/shadow/signal-plus","maxTimeoutSeconds":300,"trust":{"paid_calls":25,"delivery_rate_pct":48,"failure_modes_pct":{"no_data_no_charge":52},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}},{"method":"GET","path":"/shadow/region-plus","price":"$0.35","network":"base","payTo":"0x2d16a243ba9facc6ac85519d5efad2149dc4c6c3","mimeType":"application/json","description":"[3-LEG+CHATTER] A full three-leg regional bundle with per-leg proof, PLUS the unverified public-channel chatter for a topic from the last 48h - two separate top-level keys, never merged. The unverified half is stored apart with an update-forbidding trigger and is not part of any official hash, so the authoritative half stays offline-recomputable. Nothing posted in the window -> 422 no_charge, not billed (check GET /shadow/catalog first, free).","outputSchema":{"type":"object","required":["official","unverified","separation"],"properties":{"official":{"type":"object","properties":{"nature":{"type":"string","description":"Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"},"location":{"type":"string","description":"The location key of this bundle - the ?loc= you passed in"},"name":{"type":["string","null"],"description":"Human-readable name of the object"},"provenance":{"type":["object","null"],"description":"Data lineage: {served_from, data_as_of, oldest_leg_as_of, data_age_hours (frozen age, reference only), age_hours_now (age computed at request time - the real basis for freshness), freshness(fresh|recent|stale), freshness_basis (the cadence and threshold used for this row, as a string), dead_source (optional: upstream frozen or discontinued), data_lineage:[{signal,traceable_to,uncertainty,record_hash,...}], validation_status}. Freshness is cadence-aware, so monthly/quarterly/annual official lines are not misjudged against a 24h rule; the same basis is used by free /gauge/coverage. Buyers can trace back to the official source"},"legs":{"type":"object","description":"CORE DELIVERY: per-leg readings, keyed by leg name (e.g. drought/heat/crop-vhi); each value carries signal_id/current/observed_at/data_age_hours/record_hash"},"cross_line_narrative":{"type":"string","description":"Cross-line comparison narrative (purely descriptive; no judgement, no prediction)"},"data_timespans":{"type":"array","description":"Per-leg observation time and hours elapsed since","items":{"type":"object","additionalProperties":true}},"note":{"type":"string","description":"Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"},"decision_points":{"type":["object","null"],"description":"{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"},"grade":{"type":["string","null"],"description":"Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"},"scope":{"type":["string","null"],"description":"Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"},"_citation":{"type":["object","null"],"description":"Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"}},"required":["nature","legs"],"additionalProperties":true,"conditionalProperties":{"record_hash_verifiable":{"type":["object","null"],"description":"Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"},"last_fact":{"type":["object","null"],"description":"Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"},"leg_availability":{"type":["object","null"],"description":"Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"},"decision_points":{"type":["object","null"],"description":"Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"}}},"unverified":{"type":"object","description":"UNVERIFIED half, structurally separated: public-channel chatter from the last 48h plus a non-reproducible LLM trend summary. Never merged into the authoritative half and never part of its hash"},"separation":{"type":"object","description":"{rule, why} - machine-readable statement of the isolation guarantee, so a buyer never has to infer it from prose"}}},"title":"A full three-leg regional bundle with per-leg proof","tags":["shadow","region","plus","cross-source","leading-indicator","causal-chain","no-data-no-charge","official-source","offline-recomputable"],"inputSchema":{"exampleRequest":"/shadow/region-plus?loc=us-stlouis&topic=air","queryParams":{"loc":"required - location key; see the /gauge/region listing for valid values","topic":"required - chatter topic id; free in-stock list at GET /shadow/catalog"},"properties":{"loc":{"type":"string","description":"required - location key; see the /gauge/region listing for valid values","enum":["us-stlouis","us-memphis","us-losangeles","us-fresno","us-phoenix","us-denver","us-saltlakecity","us-houston","us-newyork","us-chicago","us-seattle","us-portland"]},"topic":{"type":"string","description":"required - chatter topic id; free in-stock list at GET /shadow/catalog","examples":["air"]}},"required":["loc","topic"],"example":{"loc":"us-stlouis","topic":"air"}},"resource":"https://aeml-x402.zeabur.app/shadow/region-plus","maxTimeoutSeconds":300,"trust":{"paid_calls":36,"delivery_rate_pct":33.3,"failure_modes_pct":{"no_data_no_charge":66.7},"measured_over_days":7,"retry_guidance":{"no_data_no_charge":{"http":"4xx (422)","charged":false,"retry":"not-with-same-params","note":"Query did not match data. You were NOT charged (no_charge:true in body). Change entity/params before retrying; retrying identically will fail identically."},"rate_limited":{"http":"429","charged":false,"retry":"after-retry-after","note":"Honour the Retry-After header. You were NOT charged."},"our_fault_no_charge":{"http":"5xx","charged":false,"retry":"safe-to-retry","note":"Our side failed. Settlement only happens on HTTP 200, so you were NOT charged. Safe to retry."},"settlement_note":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise."}}}],"channels":[{"channel":"x402","kind":"AI-agent micropayment (USDC on Base)","status":"active","how":"GET endpoint -> 402 -> pay USDC -> retry with X-PAYMENT"},{"channel":"subscription-token","kind":"stateless HMAC (no account, no login)","status":"active","how":"one-off registration at /gauge/subscribe -> Bearer token for /gauge/watch, /gauge/watch-changes, /gauge/manifest-sweep"},{"channel":"fiat-card","kind":"human / card (fiat)","status":"configured(paddle,gumroad)","how":"provider payment succeeds -> webhook signature verified -> 30-day token minted -> buyer claims it at /fiat/claim; about 2% fees (a merchant of record such as Paddle handles tax)"},{"channel":"rapidapi","kind":"API marketplace","status":"roadmap","how":"existing API-buyer traffic channel"},{"channel":"b2b-direct","kind":"direct to exporters / insurers","status":"roadmap","how":"real buyers, not dependent on channel discovery"},{"channel":"academic","kind":"Zenodo / Kaggle + DOI","status":"roadmap","how":"academic audience + citation flywheel"}],"platforms":{"note":"Add ?platform= to this URL to get a projection this channel can parse. An unknown or omitted value returns this full x402 manifest.","a2a":"https://aeml-x402.zeabur.app/manifest?platform=a2a - A2A AgentCard (same content as /.well-known/agent-card.json)","mcp":"https://aeml-x402.zeabur.app/manifest?platform=mcp - MCP tool list (same tools as POST /mcp tools/list)","openapi":"https://aeml-x402.zeabur.app/openapi.json - OpenAPI 3.1 contract (same content as ?platform=openapi; this is the format x402scan and agentcash discovery read)","x402":"omit ?platform= - this document (resources[] with price, inputSchema, outputSchema)"},"verifier":"verify.mjs - single-file offline verifier: recomputes the canonical sha256 and compares it against record_hash","citation":{"enabled":true,"issuer_DID":"did:key:z6MkiGjPjUHhdcFaxe3Na22b2XpFEAc5Deih5fjxzSgHDm7h","key_id":"kid-2026-08","verify":"Standalone offline verifier verify.mjs (citation-object): recompute and check the signature with no network access","key_rotation":"did:key cannot be rotated: a new signing key is a NEW issuer DID. Archived citations keep naming the issuer that signed them, so every former issuer is listed below with its trust boundary.","previous_issuers":[{"issuer_DID":"did:key:z6MkjSqVEigLT2eyFzJ9Vhb3DJD2wmwGosSbk1PJ1GTnuABV","key_id":"kid-2026-07","retired_at":"2026-08-19","status":"compromised","note":"Private key material was printed into a deployment log on 2026-08-16 and is treated as exposed. Citations naming this issuer are NOT accepted by default: anyone holding the exposed key can sign a self-consistent forgery. A genuine pre-exposure citation can still be proven by time - check that its record_hash is inside a daily Merkle root published at /gauge/anchor and anchored before 2026-08-16."}]},"mcp":{"endpoint":"https://aeml-x402.zeabur.app/mcp","transport":"JSON-RPC 2.0 over HTTP POST (no SSE); methods: initialize / tools/list / tools/call","free_tools":["verify_citation - check a record_hash and get the lookup explanation","find_signal - coverage and freshness list, queryable before you pay"],"paid_tool":"get_official_record - returns only a real 402 challenge (accepts: network/asset/payTo/amount). Pay at that URL from your own wallet; this MCP never takes payment and never delivers paid data"},"bazaar":{"status":"discovery metadata ready (description + inputSchema + outputSchema + resource). The CDP facilitator indexes an endpoint into the Bazaar after its FIRST successful settlement (settle counts, verify does not)","list_endpoint":"GET https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources","search_endpoint":"GET https://api.cdp.coinbase.com/platform/v2/x402/discovery/search?query=","note":"Indexing requirements: (1) a settled payment, (2) resource present in the payload (BASE_URL is set here), (3) inputSchema declared. Each endpoint needs its own settlement to enter the Bazaar. This /manifest is our own machine-readable discovery surface."},"trust":{"what_you_get":"Official-source records. Every record ships a canonical sha256 (record_hash) you can recompute offline from the delivered payload - you do not have to trust us.","verify_yourself":{"verifier":"/verify.mjs","free_check":"/gauge/verify?format=json&hash=<record_hash>"},"delivery_rate_pct":63.2,"measured_over_days":7,"computed_at":"2026-08-19T05:08:56.291Z","if_it_fails":"Charging is bound to HTTP 200. Any non-200 means no settlement occurred - this is structural, not a promise.","per_endpoint_detail":"see resources[].trust"}}