{"aod":"0.1","provider":{"name":"draconic21 Daily Agent Signal","url":"https://draconic21-x402-api.onrender.com","portalUrl":"https://draconic21-x402-api.onrender.com/agents.md"},"maturity":"self-serve","account":{"required":false,"agentPolicy":"allowed","prerequisites":["Free routes: none.","Paid routes only: a wallet holding USDC on Base (eip155:8453) that can sign an x402 payment. Funding that wallet happens outside this API."],"plans":[{"name":"Free (keyless)","requiredFor":"Read before paying, no account and no key: /health, /signal, /signal/feed.json, /signal/feed.xml, /signal/scorecard, /signal/scorecard.json, /signal/timestamps.json, /signal/editions.json, /signal/seller-ledger.json, /v1/signal_latest/example, /openapi.signal.json. /health carries the latest stored edition's date, generated_at and sha256; /signal/scorecard.json lists every scored past call, misses included; /signal/timestamps.json holds Bitcoin (OpenTimestamps) anchors over stored edition hashes; /signal/editions.json lists every stored edition; /signal/seller-ledger.json lists recorded USDC inflows to our payTo; legacy log indexes and historical completeness remain unverified, and inflows do not prove buyer revenue.","url":"https://draconic21-x402-api.onrender.com/signal"},{"name":"Pay per call (x402)","requiredFor":"Each paid call is its own purchase in USDC on Base, no subscription: POST /v1/signal_latest $0.03; POST /v1/signal_day $0.04; POST /v1/signal_delta $0.05; POST /v1/signal_history $0.10; POST /v1/signal_continuity $0.07; POST /v1/signal_topic_trace $0.06; POST /v1/archive_tip_day $0.01.","url":"https://draconic21-x402-api.onrender.com/.well-known/x402.json"}],"termsOfService":{"url":"https://draconic21-x402-api.onrender.com/terms","acceptance":"implicit"}},"verification":[],"registration":{"applicationNoun":"none: no application, account or credential exists on this API","mechanisms":[{"type":"open","description":"No registration at all. Free routes answer immediately. A paid route answers 402 with an x402 offer (accepts[] in the v1 body, PAYMENT-REQUIRED header for v2) priced in USDC on Base (eip155:8453); sign it, send it in X-PAYMENT or PAYMENT-SIGNATURE, and retry the same request. Signal routes take an optional expect_sha256 so you pay only for the revision /health showed you.","baseUrl":"https://draconic21-x402-api.onrender.com","docsUrls":["https://draconic21-x402-api.onrender.com/agents.md","https://draconic21-x402-api.onrender.com/buyer.md","https://draconic21-x402-api.onrender.com/openapi.signal.json","https://draconic21-x402-api.onrender.com/.well-known/x402.json"],"auth":"none"}]},"authentication":{"methods":[{"id":"none","type":"none","bootstrap":"","notes":"Payment is per request via x402, not an authentication method; there is nothing to bootstrap."}]},"credentials":[],"scopes":{"model":"none","notes":"No scopes or tiers. Each paid route is priced per call in its own 402 offer; free routes are open to everyone."},"flow":{"args":[],"steps":[{"id":"probe","description":"Prove the door is open: free, unauthenticated, and it names the latest stored edition (date, generated_at, sha256) and its age before you pay for anything.","auth":"none","request":{"method":"GET","url":"https://draconic21-x402-api.onrender.com/health"}},{"id":"offer","description":"Read the paid offer without paying: an unpaid call answers 402 with the x402 price ($0.03). Pass the sha256 from probe as expect_sha256 so a paid retry is refused rather than charged if the edition changed.","auth":"none","request":{"method":"POST","url":"https://draconic21-x402-api.onrender.com/v1/signal_latest","headers":{"content-type":"application/json"},"body":{"expect_sha256":"{steps.probe.signal.sha256}"}},"onStatus":{"402":{"action":"continue","message":"Expected: this is the x402 offer. Sign it with a Base USDC wallet and retry with X-PAYMENT or PAYMENT-SIGNATURE."}}}],"outputs":{"edition_date":"{steps.probe.signal.date}","edition_sha256":"{steps.probe.signal.sha256}"}},"economics":{"pricingUrl":"https://draconic21-x402-api.onrender.com/.well-known/x402.json","freeTier":"Everything listed under the Free plan, keyless. There is no published per-caller rate limit; the host is a free Render instance that can cold-start for 30 to 60 seconds after idle.","perCallPayment":"x402, no account needed. Paid routes answer 402 with an offer in USDC on Base (eip155:8453): POST /v1/signal_latest $0.03; POST /v1/signal_day $0.04; POST /v1/signal_delta $0.05; POST /v1/signal_history $0.10; POST /v1/signal_continuity $0.07; POST /v1/signal_topic_trace $0.06; POST /v1/archive_tip_day $0.01."},"gaps":["No human step is required to read free routes or to buy a paid call; the only prerequisite for paying is a wallet already funded with Base USDC, which this API does not provide.","maturity reads self-serve because that is the highest rung AOD 0.1 defines; here there is no credential to obtain at all.","The host is a free-tier instance and may cold-start after idle; retry the probe once before concluding the API is down."],"links":{"agent_card":"https://draconic21-x402-api.onrender.com/.well-known/agent-card.json","x402":"https://draconic21-x402-api.onrender.com/.well-known/x402.json","health":"https://draconic21-x402-api.onrender.com/health","scorecard":"https://draconic21-x402-api.onrender.com/signal/scorecard.json","spec":"https://apicommons.org/onboarding/"}}