{"openapi":"3.1.0","info":{"title":"orchard-data","version":"1.0.0","description":"Market data for AI agents, paid per-call via x402 (USDC on Base). Free index at /, free spec here."},"servers":[{"url":"https://orchard-data.letom1176.workers.dev"}],"paths":{"/api/market-brief":{"get":{"summary":"Crypto majors + US ETFs + crypto fear&greed, one call","description":"Paid via x402 ($0.005 USDC on Base, network eip155:8453). GET without payment returns HTTP 402 with payment requirements.","x-price-usd":"$0.005","x-payment":{"protocol":"x402","network":"eip155:8453","asset":"USDC","payTo":"0xe61e9aae81810f199a7d313c355688b28e0f41b9"},"responses":{"200":{"description":"JSON payload"},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}}}},"/api/trending":{"get":{"summary":"Trending tickers: StockTwits + r/wallstreetbets mentions","description":"Paid via x402 ($0.005 USDC on Base, network eip155:8453). GET without payment returns HTTP 402 with payment requirements.","x-price-usd":"$0.005","x-payment":{"protocol":"x402","network":"eip155:8453","asset":"USDC","payTo":"0xe61e9aae81810f199a7d313c355688b28e0f41b9"},"responses":{"200":{"description":"JSON payload"},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}}}},"/api/fear-greed":{"get":{"summary":"Crypto fear & greed index","description":"Paid via x402 ($0.001 USDC on Base, network eip155:8453). GET without payment returns HTTP 402 with payment requirements.","x-price-usd":"$0.001","x-payment":{"protocol":"x402","network":"eip155:8453","asset":"USDC","payTo":"0xe61e9aae81810f199a7d313c355688b28e0f41b9"},"responses":{"200":{"description":"JSON payload"},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}}}},"/api/movers":{"get":{"summary":"Top trending US tickers with live quotes, sorted by |move|","description":"Paid via x402 ($0.005 USDC on Base, network eip155:8453). GET without payment returns HTTP 402 with payment requirements.","x-price-usd":"$0.005","x-payment":{"protocol":"x402","network":"eip155:8453","asset":"USDC","payTo":"0xe61e9aae81810f199a7d313c355688b28e0f41b9"},"responses":{"200":{"description":"JSON payload"},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}}}},"/api/macro":{"get":{"summary":"Treasury yields, dollar index, gold, WTI, VIX","description":"Paid via x402 ($0.003 USDC on Base, network eip155:8453). GET without payment returns HTTP 402 with payment requirements.","x-price-usd":"$0.003","x-payment":{"protocol":"x402","network":"eip155:8453","asset":"USDC","payTo":"0xe61e9aae81810f199a7d313c355688b28e0f41b9"},"responses":{"200":{"description":"JSON payload"},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}}}},"/api/ohlcv":{"get":{"summary":"Daily OHLCV candles for any US symbol","description":"Paid via x402 ($0.002 USDC on Base, network eip155:8453). GET without payment returns HTTP 402 with payment requirements.","x-price-usd":"$0.002","x-payment":{"protocol":"x402","network":"eip155:8453","asset":"USDC","payTo":"0xe61e9aae81810f199a7d313c355688b28e0f41b9"},"parameters":[{"name":"symbol","in":"query","description":"Ticker symbol","required":true,"schema":{"type":"string"},"example":"SPY"},{"name":"range","in":"query","description":"5d | 1mo | 3mo | 6mo | 1y","required":false,"schema":{"type":"string"},"example":"1mo"}],"responses":{"200":{"description":"JSON payload"},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}}}},"/api/regime-forecast":{"get":{"summary":"ML market-regime forecast with independently-scored accuracy (audit at /api/track-record) + transparent rules snapshot","description":"Paid via x402 ($0.01 USDC on Base, network eip155:8453). GET without payment returns HTTP 402 with payment requirements.","x-price-usd":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453","asset":"USDC","payTo":"0xe61e9aae81810f199a7d313c355688b28e0f41b9"},"responses":{"200":{"description":"JSON payload"},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}}}},"/api/catalyst-radar":{"get":{"summary":"Tickers with fresh bullish news catalysts — the AI scanner feeding a live-forward trading system","description":"Paid via x402 ($0.01 USDC on Base, network eip155:8453). GET without payment returns HTTP 402 with payment requirements.","x-price-usd":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453","asset":"USDC","payTo":"0xe61e9aae81810f199a7d313c355688b28e0f41b9"},"responses":{"200":{"description":"JSON payload"},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}}}},"/api/track-record":{"get":{"summary":"Tamper-evident accuracy ledger: forecasts timestamped before outcomes, scored server-side vs realized SPY under a disclosed rule","description":"Paid via x402 ($0.01 USDC on Base, network eip155:8453). GET without payment returns HTTP 402 with payment requirements.","x-price-usd":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453","asset":"USDC","payTo":"0xe61e9aae81810f199a7d313c355688b28e0f41b9"},"responses":{"200":{"description":"JSON payload"},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}}}},"/api/funding-rates":{"get":{"summary":"BTC/ETH/SOL perp funding rates (8h + annualized), next funding time, mark price","description":"Paid via x402 ($0.003 USDC on Base, network eip155:8453). GET without payment returns HTTP 402 with payment requirements.","x-price-usd":"$0.003","x-payment":{"protocol":"x402","network":"eip155:8453","asset":"USDC","payTo":"0xe61e9aae81810f199a7d313c355688b28e0f41b9"},"responses":{"200":{"description":"JSON payload"},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}}}},"/api/expected-move":{"get":{"summary":"Options-implied expected move via ATM straddle to nearest expiry","description":"Paid via x402 ($0.005 USDC on Base, network eip155:8453). GET without payment returns HTTP 402 with payment requirements.","x-price-usd":"$0.005","x-payment":{"protocol":"x402","network":"eip155:8453","asset":"USDC","payTo":"0xe61e9aae81810f199a7d313c355688b28e0f41b9"},"parameters":[{"name":"symbol","in":"query","description":"Ticker symbol","required":true,"schema":{"type":"string"},"example":"SPY"}],"responses":{"200":{"description":"JSON payload"},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}}}},"/api/backtest":{"get":{"summary":"Honest backtest of an entry rule on up to 10y real daily bars: no look-ahead, slippage charged, train/test halves, buy&hold + SPY baselines always printed","description":"Paid via x402 ($0.10 USDC on Base, network eip155:8453). GET without payment returns HTTP 402 with payment requirements.","x-price-usd":"$0.10","x-payment":{"protocol":"x402","network":"eip155:8453","asset":"USDC","payTo":"0xe61e9aae81810f199a7d313c355688b28e0f41b9"},"parameters":[{"name":"symbol","in":"query","description":"Ticker symbol","required":true,"schema":{"type":"string"},"example":"SPY"},{"name":"entry","in":"query","description":"rsi2_below | rsi14_below | ibs_below | dip_from_high20 | down_days | sma_cross_up | gap_down","required":true,"schema":{"type":"string"},"example":"rsi2_below"},{"name":"threshold","in":"query","description":"Rule threshold (e.g. 10 for rsi2_below, 0.15 for ibs_below)","required":true,"schema":{"type":"string"},"example":"10"},{"name":"hold_days","in":"query","description":"Max hold in trading days (1-30), default 5","required":false,"schema":{"type":"string"},"example":"5"},{"name":"stop_pct","in":"query","description":"Optional stop loss %","required":false,"schema":{"type":"string"},"example":"3"},{"name":"target_pct","in":"query","description":"Optional profit target %","required":false,"schema":{"type":"string"},"example":"5"}],"responses":{"200":{"description":"JSON payload"},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}}}},"/api/symbol-dossier":{"get":{"summary":"One-call deep ticker context: quote + 1y technicals + options expected move + market regime + news catalysts","description":"Paid via x402 ($0.02 USDC on Base, network eip155:8453). GET without payment returns HTTP 402 with payment requirements.","x-price-usd":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453","asset":"USDC","payTo":"0xe61e9aae81810f199a7d313c355688b28e0f41b9"},"parameters":[{"name":"symbol","in":"query","description":"Ticker symbol","required":true,"schema":{"type":"string"},"example":"NVDA"}],"responses":{"200":{"description":"JSON payload"},"402":{"description":"Payment required (x402 challenge in PAYMENT-REQUIRED header)"}}}}}}