🌳 orchard-data

x402USDC on Baseno API keysno signup

Pay-per-call market data for AI agents. Your agent GETs an endpoint, receives an HTTP 402 with payment requirements, signs a USDC micro-payment, retries, gets JSON. Fractions of a cent per call.

⭐ = unique data from a live algorithmic trading system (the model actually trades), refreshed ~15 min during US market hours, staleness always reported honestly.

EndpointPriceWhat you get
GET /api/backtest$0.10Honest backtest of your entry rule on 10y of real bars — train/test halves, no look-ahead, baselines printed, noise flagged as noise
GET /api/symbol-dossier$0.02One-call deep ticker context: quote + 1y technicals + expected move + regime + news catalysts — cheaper than buying the parts separately
GET /api/regime-forecast$0.01ML market-regime forecast with verifiable accuracy — audit the scored ledger before you buy
GET /api/catalyst-radar$0.01Tickers with fresh bullish news catalysts — the AI scanner feeding a live-forward trading system
GET /api/dip-radar$0.01Dip radar over the exact ~55-name universe a live trading system trades: RSI(2), 20d-high distance, dip flags under disclosed thresholds — 24/7
GET /api/track-record$0.01Tamper-evident accuracy ledger: forecasts timestamped before outcomes, scored vs realized SPY daily
GET /api/expected-move$0.005Options-implied expected move (ATM straddle): ?symbol=SPY, NVDA, ...
GET /api/funding-rates$0.003BTC/ETH/SOL perp funding: 8h + annualized, next funding time
GET /api/market-brief$0.005BTC/ETH/SOL + SPY/QQQ/IWM/VIX + crypto fear&greed, one call
GET /api/trending$0.005StockTwits trending + r/wallstreetbets mention counts
GET /api/movers$0.005Top trending US tickers with live quotes, sorted by move
GET /api/macro$0.003Treasury yields, dollar index, gold, oil, VIX
GET /api/ohlcv$0.002Daily OHLCV candles: ?symbol=SPY&range=1mo
GET /api/fear-greed$0.001Crypto fear & greed index, current + previous reading

Try it in 30 seconds

npm i @x402/fetch @x402/evm viem

import { wrapFetchWithPaymentFromConfig } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm";
import { privateKeyToAccount } from "viem/accounts";

const fetchPay = wrapFetchWithPaymentFromConfig(fetch, {
  schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(privateKeyToAccount(PRIVATE_KEY)) }],
});
const res = await fetchPay("https://orchard-data.letom1176.workers.dev/api/regime-forecast");
console.log(await res.json());

Machine-readable: /openapi.json · agent manifest: GET / with Accept: application/json · protocol: x402.org