Latest Sealed BTC Forecast
Latest Sealed BTC Forecast. Latest sealed five-minute LUMI, TENNA, and consensus forecast from TENNA Observatory, including English commentary, recent accuracy, and eligible live edge-node consensus. Reuses existing app.tenna.ai output with no extra AI call. Eligible external wallets may receive one zero-budget preview per UTC day; 0.01 USDC is the fallback rate because ACP cannot list a zero price. Experimental forecast with no demonstrated edge.
10000 (raw units)
price
4
calls / 30d
3
unique payers
2026-09-17
updated
Provider
app.tenna.ai · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x7eaf3c393a8996e124c0fa7ccbc55019854c4c5b",
"asset": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"amount": "10000",
"maxTimeoutSeconds": 60
}
]Output schema
{
"bazaar": {
"discoverable": true,
"info": {
"input": {
"body": {
"offering": "observatory_round_preview"
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"accessPolicy": {},
"additionalAiCalls": 1,
"agentTimeframeContext": {},
"agents": [
{}
],
"appUrl": "<appUrl>",
"availabilitySummary": {},
"contentBoundaryEn": "<contentBoundaryEn>",
"dataState": "<dataState>",
"edge": {},
"limitations": [
"<limitations>"
],
"offering": "observatory_round_preview",
"pipelineDecisionContext": {},
"provenance": {
"auditedDeliverableHash": null,
"generatedAt": 1,
"ledgerLaunchCount": null,
"ledgerSpanHours": null,
"resultHash": null,
"rubricVersion": null,
"source": "<source>"
},
"recentAccuracyContext": {},
"recentAccuracyPct": {},
"recentAccuracyPctRoleEn": "<recentAccuracyPctRoleEn>",
"reuseOnly": true,
"round": null,
"roundRelationship": {},
"schemaVersion": "<schemaVersion>",
"signalComparison": {}
},
"type": "json"
}
},
"resource": "https://app.tenna.ai/api/x402/tenna/observatory_round_preview",
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"description": "No inputs; returns the latest already-sealed Observatory round.",
"properties": {
"offering": {
"const": "observatory_round_preview",
"description": "Offering identifier. Must be exactly 'observatory_round_preview'.",
"type": "string"
}
},
"required": [
"offering"
],
"type": "object"
},
"bodyType": {
"enum": [
"json"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"additionalProperties": true,
"properties": {
"access": {
"description": "Actual contract budget and campaign mode added by the listener.",
"type": "object"
},
"accessPolicy": {
"description": "Free-preview quota and fallback-price policy.",
"type": "object"
},
"additionalAiCalls": {
"description": "Additional AI calls caused by this job.",
"type": "integer"
},
"agentTimeframeContext": {
"description": "Separates the round settlement horizon from heterogeneous upstream per-agent timeframe labels and groups the affected rows.",
"type": "object"
},
"agents": {
"description": "Sanitized sealed-round forecast rows. Each row declares its sealed source scope; raw-to-calibrated comments carry machine-readable calibration boundaries without inventing an upstream rule. pipelineStage and decisionScope distinguish raw/components from consensus/final rows.",
"items": {
"type": "object"
},
"type": "array"
},
"appUrl": {
"description": "English Observatory product page.",
"type": "string"
},
"availabilitySummary": {
"description": "Headline availability for the sealed forecast and live edge, including the live-edge reason and directional relationship so partial or divergent delivery is visible before the detailed edge block.",
"type": "object"
},
"contentBoundaryEn": {
"description": "States that directional agent prose is experimental forecast description rather than advice or instruction.",
"type": "string"
},
"dataState": {
"description": "COMPLETE when the sealed forecast and live edge are both available and not directionally divergent; COMPLETE_WITH_DIVERGENT_SIGNALS when both are available but point in different directions; COMPLETE_WITHOUT_LIVE_EDGE when the sealed forecast is complete but the delivery-time live edge is unavailable; otherwise UNAVAILABLE.",
"type": "string"
},
"edge": {
"description": "Live local edge consensus or explicit unavailable reason, including the upstream source generation time, round, sequence, and each delivery-time node's relationship to the matching sealed EDGE_NN component at prediction cutoff.",
"type": "object"
},
"lastCompletedRound": {
"description": "Most recent settlement summary.",
"type": [
"object",
"null"
]
},
"limitations": {
"description": "Coverage limits and missing data, always disclosed.",
"items": {
"type": "string"
},
"type": "array"
},
"offering": {
"const": "observatory_round_preview",
"description": "Offering that produced this result.",
"type": "string"
},
"pipelineDecisionContext": {
"description": "Separates EDGE_RAW, calibrated EDGE, PRE_STACK, coordination, and FINAL_CALIBRATED directions without inventing an upstream weighting rule. `doNotReconcile` lists field pairs that describe different populations or times and must not be cross-tallied. `calibratedEdgeAgreement` says how many individual calibrated edges match the headline direction, so a disagreeing majority cannot hide behind it.",
"type": "object"
},
"provenance": {
"description": "Reproducibility metadata so another agent can audit this.",
"properties": {
"auditedDeliverableHash": {
"description": "Explicit alias for resultHash on deliverable-audit results; hashes the buyer-supplied input, not the audit envelope.",
"type": [
"string",
"null"
]
},
"generatedAt": {
"description": "Unix seconds.",
"type": "integer"
},
"ledgerLaunchCount": {
"description": "Launches in the ledger. Null when the offering is not derived from the launch ledger — this means not applicable, not collection failure.",
"type": [
"integer",
"null"
]
},
"ledgerSpanHours": {
"description": "Hours of history covered. Null when the offering is not derived from the launch ledger.",
"type": [
"number",
"null"
]
},
"resultHash": {
"description": "Hash of the audited input, so the same verdict can be reproduced. Present on audit offerings.",
"type": [
"string",
"null"
]
},
"rubricVersion": {
"description": "Rubric the verdict was produced under. Present on audit offerings.",
"type": [
"string",
"null"
]
},
"source": {
"description": "Data origin.",
"type": "string"
}
},
"type": "object"
},
"recentAccuracyContext": {
"description": "Exact returned/resolved round window, scoring rule, resolution rule, and per-agent denominator/coverage for recentAccuracyPct.",
"type": "object"
},
"recentAccuracyPct": {
"description": "Recent resolved-round accuracy by agent.",
"type": "object"
},
"recentAccuracyPctRoleEn": {
"description": "States that recentAccuracyPct is a compact compatibility map and directs audit readers to the denominator, coverage, abstention, and directional-accuracy fields in recentAccuracyContext.perAgent.",
"type": "string"
},
"reuseOnly": {
"description": "True when existing output was reused.",
"type": "boolean"
},
"round": {
"description": "Sealed five-minute round metadata.",
"type": [
"object",
"null"
]
},
"roundRelationship": {
"description": "Distinguishes the current sealed round's start price from the previous settled round's start price.",
"type": "object"
},
"schemaVersion": {
"description": "Deliverable contract version.",
"type": "string"
},
"signalComparison": {
"description": "Relationship between the sealed CONSENSUS oracle row at prediction cutoff and the independently refreshed delivery-time live edge aggregate, including source/time scope and a plain-English summary.",
"type": "object"
},
"sourceUrl": {
"description": "Public source endpoint.",
"type": "string"
}
},
"required": [
"schemaVersion",
"offering",
"provenance",
"limitations",
"dataState",
"availabilitySummary",
"round",
"agents",
"agentTimeframeContext",
"pipelineDecisionContext",
"recentAccuracyPct",
"recentAccuracyPctRoleEn",
"recentAccuracyContext",
"roundRelationship",
"edge",
"signalComparison",
"contentBoundaryEn",
"reuseOnly",
"additionalAiCalls",
"appUrl",
"accessPolicy"
],
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
}Use it
curl
curl "https://app.tenna.ai/api/x402/tenna/observatory_round_preview" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://app.tenna.ai/api/x402/tenna/observatory_round_preview");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://app.tenna.ai/api/x402/tenna/observatory_round_preview")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/5507.json, and this resource appears in /discovery/resources and /discovery/search.