x402 crypto market data API
Updated
Crypto market data on Base and Ethereum.
In short: Horizon Pulse is a set of pay-per-call HTTP APIs for AI agents. An agent calls a route, gets an HTTP 402 with the price, pays for that one call with x402 v2 in USDC on Base, Solana or Polygon, or RLUSD on the XRP Ledger, and gets JSON back. No signup or API key.
| Method | Path | Price | What it returns |
|---|---|---|---|
| GET | /api/pulse | $0.002 USDC | BTC, ETH and SOL spot prices with 24h momentum (Coinbase Exchange, CoinGecko fallback) |
| GET | /api/signals | $0.005 USDC | RSI, MACD and Bollinger bands plus perpetual funding (CoinGecko, OKX) |
| GET | /api/yield | $0.02 USDC | Ranked DeFi yields, pools with TVL of $10M or more (DefiLlama) |
| GET | /api/portfolio | $0.04 USDC | Base and Ethereum balances, concentration score and rule findings vs fixed thresholds (not financial advice) |
| GET | /api/gas | $0.002 USDC | Base and Ethereum fees with a suggested max fee (public RPC) |
| GET | /api/funding | $0.003 USDC | BTC, ETH and SOL perpetual funding with a crowding hint (OKX) |
| GET | /api/tokenized-stock | $0.002 USDC | Tokenized stock status check on Base (on-chain, no price) |
Full docs: /docs · /llms.txt · /openapi.json
Common questions
Do I need an account or an API key?
No. There is no signup and no API key. Each call is paid on its own with x402 v2.
How does payment work?
Call a paid route without payment and you get HTTP 402 with the price in the PAYMENT-REQUIRED header. An x402 client signs the payment and retries the same request with a PAYMENT-SIGNATURE header. The settlement receipt comes back in the PAYMENT-RESPONSE header.
Which networks and tokens can I pay with?
The standard routes take USDC on Base, Solana or Polygon, or RLUSD on the XRP Ledger, at the same price on each. The verified brief, the seller due-diligence check, the Funding Pulse Weekly report and SEC company facts are USDC on Base only. The 402 response lists the options for each call; pay with one of those.
Can I see a response before paying?
Yes. Each demo route under /api/demo/ returns a fixed-input sample without payment, for example /api/demo/pulse.