{"openapi":"3.0.3","info":{"title":"draconic21 Daily Agent Signal (Signal-only)","version":"0.21.0","description":"Only the Daily Agent Signal family: free verify (GET /health signal.sha256, GET /v1/signal_latest/example), free track record (/signal/scorecard.json), then paid POST/GET /v1/signal_latest ($0.03), /v1/signal_delta ($0.05), /v1/signal_history ($0.10) and the other dated-archive routes. Unpaid calls return HTTP 402 (x402, USDC on Base). Full catalog with supporting tools: https://draconic21-x402-api.onrender.com/openapi.json.","x-brand":"draconic21","x-go-to-product":"Daily Agent Signal","x-origin":"https://draconic21-x402-api.onrender.com","x-archive-day-count":13,"x-archive-note":"13 stored dates from 2026-09-19 through 2026-10-06. Intraday revisions do not add archive days.","x-flagship-order":["/v1/signal_latest","/v1/signal_history","/v1/signal_delta"],"x-track-record":{"url":"https://draconic21-x402-api.onrender.com/signal/scorecard.json","price_usdc":0,"summary":"14 dated calls tracked: 6 confirmed, 2 partial, 4 falsified (our own misses included), 2 open; 3 published corrections of our own figures","counts":{"tracked":14,"resolved":12,"confirmed":6,"partial":2,"falsified":4,"open":2,"corrections":3},"note":"Dated Signal predictions scored against later sha256-addressed revisions; misses stay listed as falsified. Scores catalog/registration behavior, not revenue."},"x-guidance":"Start with the free verify: GET /health (signal.date, signal.sha256), then GET /v1/signal_latest/example and require its date/sha256 to match before paying. Buy POST /v1/signal_latest ($0.03 USDC on Base, body {} or { expect_sha256 } copied from /health so a revision that changed since you checked returns 409 unpaid) for today's curated Daily Agent Signal on the x402 agent-payment economy. Add POST /v1/signal_delta ($0.05) for what changed vs a prior day and POST /v1/signal_history ($0.10) for the dated archive. Free calibration: GET /signal/scorecard.json lists our dated calls scored confirmed/partial/falsified/open plus corrections of our own figures. Unpaid calls return HTTP 402 with an x402 challenge; pay with any x402 v2 client. Other routes are supporting tools; Signal is the flagship.","contact":{"name":"draconic21 Daily Agent Signal","url":"https://draconic21-x402-api.onrender.com/agents.md"},"x-full-spec":"https://draconic21-x402-api.onrender.com/openapi.json"},"servers":[{"url":"https://draconic21-x402-api.onrender.com"}],"paths":{"/v1/signal_latest/example":{"get":{"summary":"Free verify: shape + date/sha256 of today's Daily Agent Signal (no paid judgments)","description":"Free. Require role=go_to_today and top-level date/sha256 equal to GET /health signal.date/signal.sha256 before paying $0.03 for POST /v1/signal_latest.","responses":{"200":{"description":"Example shape with live date/sha256"}},"security":[]}},"/signal/scorecard.json":{"get":{"summary":"Free track record: dated Signal predictions scored confirmed/partial/falsified/open","description":"Free. Each entry quotes a claim or falsifier published before the outcome and cites the content-addressed revision (date, generated_at, sha256) that made it and the later one that tested it. Our own misses stay listed as falsified. Scores catalog/registration behavior, not settlements or revenue.","responses":{"200":{"description":"Scorecard entries + summary counts computed at serve time"},"503":{"description":"Scorecard unavailable (no fabricated card)"}},"security":[]}},"/v1/signal_latest":{"post":{"summary":"GO-TO: Daily Agent Signal (today)","description":"Requires x402 payment of $0.03 USDC on base. THE destination product. Today's curated brief with buyer_value, curator_edge, vs_prior, action_hint, sources. Empty body {}. What only an always-on curator (including quiet weekends) delivers — not a commodity news scrape.","x-x402":{"price":"$0.03","network":"eip155:8453","payToConfigured":true},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"expect_sha256":{"type":"string","pattern":"^[0-9a-f]{64}$","description":"Optional. Lowercase hex sha256 of the brief you verified at free GET /health signal.sha256. If the live revision differs you get 409 with the current date/sha256 and no payment is taken."}},"additionalProperties":true},"example":{}}}},"responses":{"200":{"description":"Structured result"},"400":{"description":"Invalid input"},"402":{"description":"Payment Required (x402 challenge)"},"409":{"description":"expect_sha256 no longer matches the live revision; current date/sha256 returned, payment not processed"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}},"get":{"summary":"GO-TO: Daily Agent Signal (today, paid GET)","description":"The same Daily Agent Signal as POST /v1/signal_latest. Requires x402 payment; no request body. Optional expect_sha256 (from free GET /health signal.sha256) makes verify-then-pay atomic: a changed revision returns 409 before payment.","parameters":[{"name":"expect_sha256","in":"query","required":false,"schema":{"type":"string","pattern":"^[0-9a-f]{64}$","description":"Optional. Lowercase hex sha256 of the brief you verified at free GET /health signal.sha256. If the live revision differs you get 409 with the current date/sha256 and no payment is taken."}}],"x-x402":{"price":"$0.03","network":"eip155:8453","payToConfigured":true},"responses":{"200":{"description":"Structured dated Signal"},"400":{"description":"Malformed expect_sha256; payment not processed"},"402":{"description":"Payment Required (x402 challenge)"},"409":{"description":"expect_sha256 no longer matches the live revision; current date/sha256 returned, payment not processed"},"503":{"description":"Signal unavailable"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/v1/signal_history":{"post":{"summary":"GO-TO: Daily Agent Signal (archive)","description":"Requires x402 payment of $0.10 USDC on base. Last N days from proprietary out/archive (body: { days: 1..30 }). Calendar moat — clones start at day zero. Buy for multi-day depth.","x-x402":{"price":"$0.10","network":"eip155:8453","payToConfigured":true},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"days":7}}}},"responses":{"200":{"description":"Structured result"},"400":{"description":"Invalid input"},"402":{"description":"Payment Required (x402 challenge)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.10"},"protocols":[{"x402":{}}]}}},"/v1/signal_delta":{"post":{"summary":"GO-TO: Daily Agent Signal (delta)","description":"Requires x402 payment of $0.05 USDC on base. Complete new/changed/removed signals vs the latest stored day on/before since_date. Includes rank, judgment, evidence, and sources. Invalid dates return 400; absent baselines 422; invalid archives 503, all before payment. Check GET /v1/signal_delta/availability first.","x-x402":{"price":"$0.05","network":"eip155:8453","payToConfigured":true},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"since_date":"2026-09-19"}}}},"responses":{"200":{"description":"Structured result"},"400":{"description":"Invalid input"},"402":{"description":"Payment Required (x402 challenge)"},"422":{"description":"No archived baseline on or before since_date; payment not processed"},"503":{"description":"Archive unavailable or invalid; payment not processed"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]}}},"/v1/signal_delta/availability":{"get":{"summary":"Free delta availability and archive dates; no paid research content","parameters":[{"name":"since_date","in":"query","required":true,"schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Baseline/current dates and whether a newer archive day exists"},"400":{"description":"Invalid date"},"422":{"description":"No baseline available"},"503":{"description":"Invalid or unavailable archive"}},"security":[]}},"/v1/signal_continuity":{"post":{"summary":"Daily Agent Signal Continuity (archive compound)","description":"Requires x402 payment of $0.07 USDC on base. Cross-day id/topic continuity map from proprietary archive (body: { days: 1..90 }). Labels stable/rising/new/fading. Calendar moat — clones start at day zero.","x-x402":{"price":"$0.07","network":"eip155:8453","payToConfigured":true},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"days":30}}}},"responses":{"200":{"description":"Structured result"},"400":{"description":"Invalid input"},"402":{"description":"Payment Required (x402 challenge)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.07"},"protocols":[{"x402":{}}]}}},"/v1/signal_day":{"post":{"summary":"Daily Agent Signal Day (one archive date)","description":"Requires x402 payment of $0.04 USDC on base. Point-in-time buy of one proprietary archive date (body: { date: YYYY-MM-DD }). Irreversible calendar asset; cheaper than full history for single-day backtest/audit.","x-x402":{"price":"$0.04","network":"eip155:8453","payToConfigured":true},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"date":"2026-09-20"}}}},"responses":{"200":{"description":"Structured result"},"400":{"description":"Invalid input"},"402":{"description":"Payment Required (x402 challenge)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/v1/archive_tip_day":{"post":{"summary":"Archive Tip Day (tip + one archive unlock)","description":"Requires x402 payment of $0.01 USDC on base. Tip/entry SKU: $0.01 returns tip receipt (brand+date+content hash, no payTo) PLUS one proprietary archive day (body: { date: YYYY-MM-DD }). Strengthens Signal funnel — primary CTA remains signal_latest $0.03.","x-x402":{"price":"$0.01","network":"eip155:8453","payToConfigured":true},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"date":"2026-09-20"}}}},"responses":{"200":{"description":"Structured result"},"400":{"description":"Invalid input"},"402":{"description":"Payment Required (x402 challenge)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]}}},"/v1/signal_topic_trace":{"post":{"summary":"Daily Agent Signal Topic Trace (one topic or id)","description":"Requires x402 payment of $0.06 USDC on base. Deep single-topic or single-id appearance path across proprietary archive (body: { topic } OR { id }; optional days 1..90). Returns dates, headlines, judgments, vs_prior path, ranks. Calendar moat — clones start at day zero.","x-x402":{"price":"$0.06","network":"eip155:8453","payToConfigured":true},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"topic":"x402"}}}},"responses":{"200":{"description":"Structured result"},"400":{"description":"Invalid input"},"402":{"description":"Payment Required (x402 challenge)"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.06"},"protocols":[{"x402":{}}]}}},"/agents.md":{"get":{"summary":"Buyer guide (markdown, absolute URLs)","responses":{"200":{"description":"text/markdown"}},"security":[]}},"/.well-known/x402.json":{"get":{"summary":"x402 well-known services","responses":{"200":{"description":"x402 discovery document"}},"security":[]}},"/health":{"get":{"summary":"Liveness","responses":{"200":{"description":"ok"}},"security":[]}}},"components":{"securitySchemes":{"bundleToken":{"type":"apiKey","in":"header","name":"Authorization","description":"Value 'Bearer <token>': prepaid bundle token from POST /v1/bundle/<product> (x402-paid). Used only by /v1/bundle/redeem/* routes."}}}}