{"openapi":"3.1.0","info":{"title":"cryptofeed402","version":"0.9.0","description":"AI-to-AI crypto data. Paid routes use x402 (USDC on Base mainnet eip155:8453, asset 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913); unpaid calls return 402 with payment requirements. Not financial advice.","x-agent-card":"https://cryptofeed402.site/.well-known/agent-card.json","x-ai-catalog":"https://cryptofeed402.site/.well-known/ai-catalog.json","x-mcp-server-card":"https://cryptofeed402.site/mcp/server-card","x-mcp":"https://cryptofeed402.site/mcp","contact":{"name":"Steve Slinkard","url":"https://cryptofeed402.site"},"x-guidance":"cryptofeed402 sells crypto market data to AI agents, pay per call in USDC on Base via x402 (no API key, no signup). Start free: GET /brief/teaser, GET /brief/sample, GET /sentiment (symbol list), GET /audit/sample, GET /pricing. Paid (GET; an unpaid call returns HTTP 402 with the x402 requirements; retry with a PAYMENT-SIGNATURE header from any x402 client; payment settles only for a valid 200, 4xx/5xx are never charged; every paid 200 carries an Ed25519-signed X-Receipt header, key at /.well-known/receipt-key.json): /price/{symbol} (BTC ETH SOL HYPE NEAR AAVE: perp mark, funding, OI + spot), /funding/extreme (most extreme Hyperliquid funding), /perps/{symbol} (any Hyperliquid perp), /outlook/{symbol} (pre-trade preflight: divergence, funding rank, OI change, sentiment, flags; $0.01), /funding/history/{symbol}?hours=1-720 (hourly funding history; $0.005), /sentiment/{symbol} (news sentiment score + headlines), /brief/latest (twice-daily brief), /history?from=YYYY-MM-DD&to=YYYY-MM-DD (priced per day, capped per call), /audit/agent-ready?url=<site> (agent-readiness audit). Unknown symbol 404 and stale data 503 are returned before any charge. Optional ?ref=<your-agent> for attribution. MCP: POST /mcp (streamable HTTP; paid tools return the same 402 requirements). Not financial advice.","x-ard":"https://cryptofeed402.site/.well-known/ard.json","x-samples":"https://cryptofeed402.site/samples","x-receipt-key":"https://cryptofeed402.site/.well-known/receipt-key.json","x-billing":"Payment settles only for a valid 200 response; 4xx/5xx responses are never charged and carry no receipt."},"servers":[{"url":"https://cryptofeed402.site"}],"paths":{"/brief/teaser":{"get":{"summary":"Free teaser: text, HL extreme funding (8h-equivalent), BTC/ETH/SOL prices + 24h change (60/hr/IP)","x-price":"free","responses":{"200":{"description":"OK"},"429":{"description":"Rate limited"}},"security":[]}},"/brief/sample":{"get":{"summary":"Free sample brief: previous edition, trimmed, sample=true (30/hr/IP)","x-price":"free","responses":{"200":{"description":"OK"},"429":{"description":"Rate limited"}},"security":[]}},"/mcp":{"post":{"summary":"Remote MCP server (streamable HTTP, stateless JSON-RPC). Free tools: get_teaser, get_sample_brief, get_pricing, request_asset, get_top_requested_assets; paid tools return x402 requirements.","x-price":"free","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"JSON-RPC response"},"202":{"description":"Notification accepted"},"429":{"description":"Rate limited"}},"security":[]}},"/request/asset":{"post":{"summary":"Free: request a coin to be monitored (logged for human review; not auto-added; not a guarantee). 10/hr/IP; same IP+symbol counted once per 24h.","x-price":"free","parameters":[{"name":"ref","in":"query","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["symbol"],"properties":{"symbol":{"type":"string","pattern":"^\\$?[A-Za-z0-9]+(-[A-Za-z0-9]+)?$","minLength":2,"maxLength":16,"example":"LINK"},"reason":{"type":"string","maxLength":200},"agent":{"type":"string","maxLength":80}}}}}},"responses":{"200":{"description":"Already queued (same IP+symbol within 24h) or already covered"},"201":{"description":"Queued for review"},"400":{"description":"Invalid symbol"},"429":{"description":"Rate limited"}},"security":[]}},"/request/asset/top":{"get":{"summary":"Free: top 20 requested symbols, last 30 days (aggregate counts only) (60/hr/IP)","x-price":"free","responses":{"200":{"description":"OK"},"429":{"description":"Rate limited"}},"security":[]}},"/health":{"get":{"summary":"Health","x-price":"free","responses":{"200":{"description":"OK"}},"security":[]}},"/pricing":{"get":{"summary":"Current prices","x-price":"free","responses":{"200":{"description":"OK"}},"security":[]}},"/price/{symbol}":{"get":{"summary":"Perp mark/funding/OI + spot for one coin","x-price":"$0.0025","x-payment":"x402","parameters":[{"name":"symbol","in":"path","required":true,"schema":{"type":"string","enum":["BTC","ETH","SOL","HYPE","NEAR","AAVE"]}}],"responses":{"200":{"description":"OK","headers":{"X-Receipt":{"$ref":"#/components/headers/X-Receipt"},"X-Receipt-Signature":{"$ref":"#/components/headers/X-Receipt-Signature"}}},"402":{"description":"Payment Required (x402 v2 challenge: PAYMENT-REQUIRED header, mirrored in the JSON body; USDC on Base eip155:8453)"}},"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0025"},"protocols":[{"x402":{}}]},"description":"Free sample response (static example, same shape, \"sample\": true): https://cryptofeed402.site/samples/price","x-sample":"https://cryptofeed402.site/samples/price"}},"/funding/extreme":{"get":{"summary":"Most extreme funding rates","x-price":"$0.0025","x-payment":"x402","responses":{"200":{"description":"OK","headers":{"X-Receipt":{"$ref":"#/components/headers/X-Receipt"},"X-Receipt-Signature":{"$ref":"#/components/headers/X-Receipt-Signature"}}},"402":{"description":"Payment Required (x402 v2 challenge: PAYMENT-REQUIRED header, mirrored in the JSON body; USDC on Base eip155:8453)"}},"description":"Perpetual futures funding rates and open interest (Hyperliquid): the 10 most extreme funding rates right now (over $1M 24h volume) with annualized APR and open interest in USD, plus the watchlist funding. Free sample response (static example, same shape, \"sample\": true): https://cryptofeed402.site/samples/funding","security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0025"},"protocols":[{"x402":{}}]},"parameters":[{"name":"ref","in":"query","required":false,"description":"Optional attribution tag (your agent or source name, [A-Za-z0-9_.-], up to 40 chars). Does not change price or payment matching.","schema":{"type":"string","maxLength":40,"pattern":"^[A-Za-z0-9_.-]{1,40}$"}}],"x-sample":"https://cryptofeed402.site/samples/funding"}},"/brief/latest":{"get":{"summary":"Latest full brief","x-price":"$0.015","x-payment":"x402","responses":{"200":{"description":"OK","headers":{"X-Receipt":{"$ref":"#/components/headers/X-Receipt"},"X-Receipt-Signature":{"$ref":"#/components/headers/X-Receipt-Signature"}}},"402":{"description":"Payment Required (x402 v2 challenge: PAYMENT-REQUIRED header, mirrored in the JSON body; USDC on Base eip155:8453)"},"503":{"description":"No fresh brief (no charge)"}},"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.015"},"protocols":[{"x402":{}}]},"parameters":[{"name":"ref","in":"query","required":false,"description":"Optional attribution tag (your agent or source name, [A-Za-z0-9_.-], up to 40 chars). Does not change price or payment matching.","schema":{"type":"string","maxLength":40,"pattern":"^[A-Za-z0-9_.-]{1,40}$"}}],"description":"Free sample response (static example, same shape, \"sample\": true): https://cryptofeed402.site/brief/sample","x-sample":"https://cryptofeed402.site/brief/sample"}},"/history":{"get":{"summary":"Archived briefs","x-price":"$0.005 per day, cap $0.5","x-payment":"x402","parameters":[{"name":"from","in":"query","required":true,"schema":{"type":"string","format":"date"}},{"name":"to","in":"query","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"OK","headers":{"X-Receipt":{"$ref":"#/components/headers/X-Receipt"},"X-Receipt-Signature":{"$ref":"#/components/headers/X-Receipt-Signature"}}},"402":{"description":"Payment Required (x402 v2 challenge: PAYMENT-REQUIRED header, mirrored in the JSON body; USDC on Base eip155:8453)"},"404":{"description":"None in range"}},"security":[],"x-payment-info":{"price":{"mode":"dynamic","currency":"USD","min":"0.005","max":"0.5"},"protocols":[{"x402":{}}]},"description":"Free sample response (static example, same shape, \"sample\": true): https://cryptofeed402.site/samples/history","x-sample":"https://cryptofeed402.site/samples/history"}},"/perps/{symbol}":{"get":{"summary":"Perps radar: funding (hourly/8h/annualized), open interest, 24h volume, mark/oracle, premium and top-10 funding-extreme rank for one Hyperliquid perp","x-price":"$0.002","x-payment":"x402","parameters":[{"name":"symbol","in":"path","required":true,"example":"BTC","schema":{"type":"string","pattern":"^[A-Za-z0-9]{1,20}$"},"description":"Any listed Hyperliquid perp ticker, case-insensitive"}],"responses":{"200":{"description":"OK: symbol, as_of, generated_at, mark_px, oracle_px, premium, funding{rate_hourly,rate_8h,annualized_pct,side_paying}, open_interest{coins,usd}, volume_24h_usd, funding_extreme{in_top10,rank}, venues[]","headers":{"X-Receipt":{"$ref":"#/components/headers/X-Receipt"},"X-Receipt-Signature":{"$ref":"#/components/headers/X-Receipt-Signature"}}},"402":{"description":"Payment Required (x402 v2 challenge: PAYMENT-REQUIRED header, mirrored in the JSON body; USDC on Base eip155:8453)"},"404":{"description":"Unknown symbol (returned before any 402; no charge)"},"503":{"description":"Upstream unavailable (no charge)"}},"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}}]},"description":"Free sample response (static example, same shape, \"sample\": true): https://cryptofeed402.site/samples/perps","x-sample":"https://cryptofeed402.site/samples/perps"}},"/outlook/{symbol}":{"get":{"summary":"Pre-trade preflight for one Hyperliquid perp: perp vs spot/oracle divergence (bps), funding + extreme rank, OI + OI change, sentiment, per-component as_of, neutral flags. No recommendation","x-price":"$0.01","x-payment":"x402","parameters":[{"name":"symbol","in":"path","required":true,"example":"BTC","schema":{"type":"string","pattern":"^[A-Za-z0-9]{1,20}$"},"description":"Any listed Hyperliquid perp ticker, case-insensitive"}],"responses":{"200":{"description":"OK: symbol, as_of, generated_at, price{perp_mark_px, perp_oracle_px, spot_px, spot_pair, mark_vs_spot_bps, mark_vs_oracle_bps, as_of{perp,spot}}, funding{rate_hourly, rate_8h, annualized_pct, side_paying, extreme_rank, ranked_universe, in_top10}, open_interest{coins, usd, change_1h_pct, change_24h_pct, ref_1h_at, ref_24h_at}, sentiment{available, score, label, ...}, freshness{perp, spot, sentiment, oi_history}, flags{funding_extreme, oi_spike, venue_divergence, stale_component}, active_flags[], flag_rules","headers":{"X-Receipt":{"$ref":"#/components/headers/X-Receipt"},"X-Receipt-Signature":{"$ref":"#/components/headers/X-Receipt-Signature"}}},"402":{"description":"Payment Required (x402 v2 challenge: PAYMENT-REQUIRED header, mirrored in the JSON body; USDC on Base eip155:8453)"},"404":{"description":"Unknown symbol (returned before any 402; no charge)"},"503":{"description":"Upstream unavailable or perp data stale (no charge)"}},"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"x402":{}}]},"description":"Factual pre-trade checks only; no buy/sell/hold call. OI change uses our own hourly OI snapshots (null until the window is covered). Free sample response (static example, same shape, \"sample\": true): https://cryptofeed402.site/samples/outlook","x-sample":"https://cryptofeed402.site/samples/outlook"}},"/funding/history/{symbol}":{"get":{"summary":"Hourly funding settlement history for one Hyperliquid perp (max 720 hours per call) with summary stats","x-price":"$0.005","x-payment":"x402","parameters":[{"name":"symbol","in":"path","required":true,"example":"BTC","schema":{"type":"string","pattern":"^[A-Za-z0-9]{1,20}$"},"description":"Any listed Hyperliquid perp ticker, case-insensitive"},{"name":"hours","in":"query","schema":{"type":"integer","minimum":1,"maximum":720,"default":168},"description":"Last N hours. Do not combine with from/to."},{"name":"from","in":"query","schema":{"type":"string"},"description":"Start, YYYY-MM-DD or ISO 8601 UTC (on or after 2023-05-01)"},{"name":"to","in":"query","schema":{"type":"string"},"description":"End, YYYY-MM-DD (inclusive) or ISO 8601 UTC; default now. Range max 720 hours."}],"responses":{"200":{"description":"OK: symbol, venue, interval_hours, window{from,to,hours,mode}, as_of, latest_funding_time, count, stats{mean_rate_hourly, mean_annualized_pct, min_annualized_pct, max_annualized_pct, positive_hours, negative_hours, cumulative_rate, last_24h_mean_annualized_pct}, coverage, points[{time, rate_hourly, rate_8h, annualized_pct, premium}]","headers":{"X-Receipt":{"$ref":"#/components/headers/X-Receipt"},"X-Receipt-Signature":{"$ref":"#/components/headers/X-Receipt-Signature"}}},"400":{"description":"Bad parameters (returned before any 402; no charge)"},"402":{"description":"Payment Required (x402 v2 challenge: PAYMENT-REQUIRED header, mirrored in the JSON body; USDC on Base eip155:8453)"},"404":{"description":"Unknown symbol (before any 402) or no settlements in the window (no charge)"},"503":{"description":"Upstream unavailable or stale (no charge)"}},"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"protocols":[{"x402":{}}]},"description":"Source: Hyperliquid public fundingHistory (hourly settlements; history back to each perp's listing, BTC since 2023-05-12). Free sample response (static example, same shape, \"sample\": true): https://cryptofeed402.site/samples/funding-history","x-sample":"https://cryptofeed402.site/samples/funding-history"}},"/audit/agent-ready":{"get":{"summary":"Agent-readiness audit of a public site or x402 API: score 0-100 with per-check pass/warn/fail, evidence and fixes (deterministic, no LLM)","x-price":"$0.05","x-payment":"x402","parameters":[{"name":"url","in":"query","required":true,"example":"https://cryptofeed402.site","schema":{"type":"string","maxLength":2048},"description":"Domain or http(s) URL; public hosts on ports 80/443 only"}],"responses":{"200":{"description":"Audit report","headers":{"X-Receipt":{"$ref":"#/components/headers/X-Receipt"},"X-Receipt-Signature":{"$ref":"#/components/headers/X-Receipt-Signature"}}},"400":{"description":"Missing, invalid or non-public target (no charge)"},"402":{"description":"Payment Required (x402 v2 challenge: PAYMENT-REQUIRED header, mirrored in the JSON body; USDC on Base eip155:8453)"},"422":{"description":"Host does not resolve (no charge)"},"429":{"description":"Rate limited"},"503":{"description":"Audit capacity busy (no charge)"}},"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]},"description":"Free sample response (static example, same shape, \"sample\": true): https://cryptofeed402.site/audit/sample","x-sample":"https://cryptofeed402.site/audit/sample"}},"/audit/sample":{"get":{"summary":"Free: cached example audit of cryptofeed402.site (60/hr/IP)","x-price":"free","responses":{"200":{"description":"OK"},"429":{"description":"Rate limited"}},"security":[]}},"/.well-known/x402":{"get":{"summary":"x402 discovery document: every paid resource with method, description and price","x-price":"free","responses":{"200":{"description":"OK"}},"security":[]}},"/sentiment":{"get":{"summary":"Free index of the news-sentiment snapshot: available symbols, generated_at, age_seconds, fresh","x-price":"free","responses":{"200":{"description":"OK: available, fresh, generated_at, age_seconds, model, window_minutes, symbols[], price_per_symbol, url_template, stale_after_minutes"},"429":{"description":"Rate limited (60/hr/IP)"}},"security":[]}},"/sentiment/{symbol}":{"get":{"summary":"Crypto news sentiment for one asset: score -1..1, label, pos/neg/neu headline counts, top headlines with links","x-price":"$0.002","x-payment":"x402","parameters":[{"name":"symbol","in":"path","required":true,"example":"BTC","schema":{"type":"string","pattern":"^[A-Za-z0-9]{1,20}$"},"description":"Ticker, case-insensitive; see GET /sentiment for available symbols"}],"responses":{"200":{"description":"OK: symbol, score (-1..1), label (bearish|neutral|bullish), counts{n_headlines,pos,neg,neu}, top_headlines[{title,source,url,stance}] (max 5), window_minutes, generated_at, age_seconds, model, method, disclaimer","headers":{"X-Receipt":{"$ref":"#/components/headers/X-Receipt"},"X-Receipt-Signature":{"$ref":"#/components/headers/X-Receipt-Signature"}}},"402":{"description":"Payment Required (x402 v2 challenge: PAYMENT-REQUIRED header, mirrored in the JSON body; USDC on Base eip155:8453)"},"404":{"description":"Symbol not in the current snapshot (returned before any 402; no charge)"},"503":{"description":"No data yet or data older than 75 minutes (returned before any 402; no charge)"}},"security":[],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002"},"protocols":[{"x402":{}}]},"description":"Free sample response (static example, same shape, \"sample\": true): https://cryptofeed402.site/samples/sentiment","x-sample":"https://cryptofeed402.site/samples/sentiment"}},"/feedback/schedule":{"post":{"summary":"Free: tell us how often and at which UTC hours you want reports (so briefs can be scheduled to match)","x-price":"free","operationId":"requestReportSchedule","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["frequency","preferred_utc_hours"],"properties":{"frequency":{"type":"string","enum":["hourly","every_4h","every_6h","every_12h","daily","on_event"]},"preferred_utc_hours":{"type":"array","items":{"type":"integer","minimum":0,"maximum":23},"maxItems":6,"uniqueItems":true},"symbols":{"type":"array","items":{"type":"string","pattern":"^[A-Z0-9]{1,20}$"},"maxItems":20,"uniqueItems":true},"routes_of_interest":{"type":"array","items":{"type":"string","enum":["/price/{symbol}","/funding/extreme","/brief/latest","/history","/perps/{symbol}","/sentiment/{symbol}","/audit/agent-ready","/brief/teaser","/brief/sample"]},"maxItems":9,"uniqueItems":true},"agent_name":{"type":"string","maxLength":64},"note":{"type":"string","maxLength":280,"description":"Plain text; no control characters or < >; never published"}},"example":{"frequency":"every_6h","preferred_utc_hours":[0,12],"symbols":["BTC","ETH"],"routes_of_interest":["/brief/latest"],"agent_name":"my-agent"}}}}},"responses":{"201":{"description":"Recorded (latest answer per client per UTC day counts)"},"400":{"description":"Invalid JSON or schema (unknown fields rejected)"},"413":{"description":"Body over 4096 bytes"},"429":{"description":"Rate limited (10/hr/IP)"}},"security":[]},"get":{"summary":"Free aggregate results: counts by frequency, UTC hour, symbol and route (never raw notes or agent names)","x-price":"free","operationId":"getReportScheduleResults","responses":{"200":{"description":"OK"},"429":{"description":"Rate limited (60/hr/IP)"}},"security":[]}},"/.well-known/agent-card.json":{"get":{"summary":"A2A Agent Card (free)","description":"A2A v1.0 Agent Card. Skills map to the HTTP/x402 routes and MCP tools; no A2A JSON-RPC endpoint is implemented. Same card plus legacy keys at /.well-known/agent.json.","tags":["discovery"],"responses":{"200":{"description":"JSON document (free, static)","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[]}},"/.well-known/ai-catalog.json":{"get":{"summary":"AI Catalog (free)","description":"AI Catalog 1.0 listing the A2A agent card, MCP server card and this OpenAPI document.","tags":["discovery"],"responses":{"200":{"description":"JSON document (free, static)","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[]}},"/mcp/server-card":{"get":{"summary":"MCP Server Card (free)","description":"MCP Server Card (SEP-2127 / ext-server-card v1) for the streamable-HTTP MCP server at /mcp. Send Accept: application/mcp-server-card+json to get that media type. Tool list: /.well-known/mcp/server-card.json.","tags":["discovery"],"responses":{"200":{"description":"JSON document (free, static)","content":{"application/json":{"schema":{"type":"object"}}}}},"security":[]}},"/.well-known/ard.json":{"get":{"summary":"Free: ARD manifest (Agentic Resource Discovery) listing the MCP server, agent card and every paid route","description":"application/json, Access-Control-Allow-Origin *, ETag + Cache-Control. Spec: https://agenticresourcediscovery.org/how_to_publish/","x-price":"free","responses":{"200":{"description":"OK"},"304":{"description":"Not Modified (If-None-Match matched the ETag)"},"429":{"description":"Rate limited"}},"security":[]}},"/samples":{"get":{"summary":"Free: index of sample responses for every paid route","x-price":"free","responses":{"200":{"description":"OK"},"304":{"description":"Not Modified (If-None-Match matched the ETag)"},"429":{"description":"Rate limited"}},"security":[]}},"/samples/price":{"get":{"summary":"Free: static sample response of GET /price/{symbol} (same shape, \"sample\": true, never live data)","x-price":"free","responses":{"200":{"description":"OK"},"304":{"description":"Not Modified (If-None-Match matched the ETag)"},"429":{"description":"Rate limited"}},"security":[]}},"/samples/funding":{"get":{"summary":"Free: static sample response of GET /funding/extreme (same shape, \"sample\": true, never live data)","x-price":"free","responses":{"200":{"description":"OK"},"304":{"description":"Not Modified (If-None-Match matched the ETag)"},"429":{"description":"Rate limited"}},"security":[]}},"/samples/perps":{"get":{"summary":"Free: static sample response of GET /perps/{symbol} (same shape, \"sample\": true, never live data)","x-price":"free","responses":{"200":{"description":"OK"},"304":{"description":"Not Modified (If-None-Match matched the ETag)"},"429":{"description":"Rate limited"}},"security":[]}},"/samples/sentiment":{"get":{"summary":"Free: static sample response of GET /sentiment/{symbol} (same shape, \"sample\": true, never live data)","x-price":"free","responses":{"200":{"description":"OK"},"304":{"description":"Not Modified (If-None-Match matched the ETag)"},"429":{"description":"Rate limited"}},"security":[]}},"/samples/history":{"get":{"summary":"Free: static sample response of GET /history (same shape, \"sample\": true, never live data)","x-price":"free","responses":{"200":{"description":"OK"},"304":{"description":"Not Modified (If-None-Match matched the ETag)"},"429":{"description":"Rate limited"}},"security":[]}},"/.well-known/receipt-key.json":{"get":{"summary":"Ed25519 public key (raw base64url + JWK + PEM) used to sign X-Receipt on paid 200 responses, with verification steps","security":[],"responses":{"200":{"description":"Receipt key document"},"503":{"description":"Receipts not enabled"}}}},"/samples/outlook":{"get":{"summary":"Free: static sample response of GET /outlook/{symbol} (same shape, \"sample\": true, never live data)","x-price":"free","responses":{"200":{"description":"OK"},"304":{"description":"Not Modified (If-None-Match matched the ETag)"},"429":{"description":"Rate limited"}},"security":[]}},"/samples/funding-history":{"get":{"summary":"Free: static sample response of GET /funding/history/{symbol} (same shape, \"sample\": true, never live data)","x-price":"free","responses":{"200":{"description":"OK"},"304":{"description":"Not Modified (If-None-Match matched the ETag)"},"429":{"description":"Rate limited"}},"security":[]}}},"externalDocs":{"description":"llms.txt (agent-readable docs)","url":"https://cryptofeed402.site/llms.txt"},"components":{"headers":{"X-Receipt":{"description":"base64url of the receipt JSON bytes: {v, request_id, route, method, url, status, network, asset, asset_symbol, amount_unit, payTo, payer, quoted_amount, charged_amount, settle_tx, body_sha256 (hex sha256 of this response body), body_bytes, as_of, issued_at, key_id}. Present on paid 200 responses that settled via x402.","schema":{"type":"string"}},"X-Receipt-Signature":{"description":"base64url Ed25519 signature over the base64url-decoded X-Receipt bytes. Public key: https://cryptofeed402.site/.well-known/receipt-key.json","schema":{"type":"string"}}},"schemas":{"Receipt":{"type":"object","description":"Decoded X-Receipt payload (signed by X-Receipt-Signature).","properties":{"v":{"type":"integer","const":1},"request_id":{"type":"string"},"route":{"type":"string"},"method":{"type":"string"},"url":{"type":"string"},"status":{"type":"integer"},"network":{"type":"string","example":"eip155:8453"},"asset":{"type":"string"},"asset_symbol":{"type":"string"},"amount_unit":{"type":"string"},"payTo":{"type":"string"},"payer":{"type":["string","null"]},"quoted_amount":{"type":["string","null"]},"charged_amount":{"type":["string","null"]},"settle_tx":{"type":["string","null"]},"body_sha256":{"type":"string"},"body_bytes":{"type":"integer"},"as_of":{"type":["string","null"]},"issued_at":{"type":"string","format":"date-time"},"key_id":{"type":"string"}}}}}}