Pay-per-call APIs
built for agents.
49 paid services for market data, onchain checks, the web and documents. No API keys, no signup. Your agent pays $0.002–$0.04 per call in USDC on Base, Solana or Polygon, or RLUSD on the XRP Ledger, and gets JSON back. Plus two premium checks in USDC on Base only: a $1 verified brief and a $5 seller due-diligence check. Plus the $1 Funding Pulse Weekly report (USDC on Base only).
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.
Listed in Coinbase's x402 Bazaar ↗·/.well-known/x402
$ curl -i https://horizonpulse.dev/api/pulseHTTP/2 402 Payment Requiredpayment-required: eyJ4NDAyVmVyc2lvbiI6MiwiZXJyb3IiOiJQYXltZW50…scheme=exact network=eip155:8453amount=2000 (USDC, 6 dp = $0.002) payTo=0x5b32…e0e9$ agent: sign EIP-3009 transfer, retry with PAYMENT-SIGNATURE→ facilitator verify ✓ settle ✓ (947 ms)HTTP/2 200 OK{ "BTC": 82858.42, "ETH": 2459.44, "SOL": 107.48, … }tx 0x996f…705a on Base
Open to every agent. Pay per call via x402.
No accounts and no API keys. Pick any option listed in the 402 response, which gives the exact amount for each.
USDC
Base, Solana, Polygon
RLUSD
XRP Ledger
The $1 verified brief and the $5 seller due-diligence check accept USDC on Base only. The $1 Funding Pulse Weekly report accepts USDC on Base only.
49 routes. One protocol.
Every route works the same way: request, get a 402, pay per call, get JSON. 28 of 49 have an example response at /api/demo/<route>, recorded on a fixed input on the date shown.
| Route | Method | Returns | Per call | |
|---|---|---|---|---|
| Crypto market data | ||||
| /api/pulse | GET | BTC, ETH and SOL spot prices with 24h momentum (CoinGecko) | $0.002 | Sample → |
| /api/signals | GET | RSI, MACD and Bollinger bands plus perpetual funding (CoinGecko, OKX) | $0.005 | Sample → |
| /api/yield | GET | Ranked DeFi yields, pools with TVL of $10M or more (DefiLlama) | $0.02 | Sample → |
| /api/portfolio | GET | Base and Ethereum balances, concentration score and rule findings vs fixed thresholds (not financial advice) | $0.04 | Sample → |
| /api/gas | GET | Base and Ethereum fees with a suggested max fee (public RPC) | $0.002 | Sample → |
| /api/funding | GET | BTC, ETH and SOL perpetual funding with a crowding hint (OKX) | $0.003 | Sample → |
| Onchain checks | ||||
| /api/tx-status | GET | Did my transaction land, and is it final (4 chains) | $0.002 | Sample → |
| /api/tokenized-stock | GET | Tokenized stock status check on Base (on-chain, no price) | $0.002 | Sample → |
| /api/balance | GET | Can my wallet pay x402 calls right now (4 rails) | $0.002 | Sample → |
| /api/tx-guard | GET | Check a recipient address before sending: allow / warn / block from four mechanical checks; allow is not a guarantee | $0.002 | Sample → |
| /api/chain/head | GET | Current block, slot or ledger height on 5 chains | $0.002 | Sample → |
| /api/token/meta | GET | Token name, symbol, decimals and supply from chain state | $0.002 | Sample → |
| /api/name/resolve | GET | Resolve an ENS name or Basename, or find an address's primary name | $0.002 | Sample → |
| /api/batch | GET · POST | Up to 10 chain checks (balance, gas, tx status, token, chain head, names) for one payment | $0.01 | |
| x402 tools | ||||
| /api/x402-check | GET | Audit any x402 endpoint without paying it | $0.01 | Sample → |
| /api/x402-check/deep | GET | Live deep check of an x402 endpoint and its payTo | $0.03 | Sample → |
| /api/bazaar-check | GET | Check whether an x402 seller is listed in CDP Bazaar, and why not | $0.01 | Sample → |
| /api/market/search | GET | Find a paid x402 API for a task, re-checked live | $0.005 | Sample → |
| /api/market/quote | GET | Check an x402 seller's live price and payTo before paying | $0.005 | Sample → |
| Web, documents and everyday data | ||||
| /api/fetch | GET | Any public URL as clean text or markdown | $0.02 | Sample → |
| /api/http | GET · POST | Universal HTTP proxy: your method, headers and body | $0.01 | Sample → |
| /api/extract | GET · POST | Page to structured fields, or your own CSS selectors | $0.015 | Sample → |
| /api/watch | GET | Did this page or endpoint change since my last check | $0.002 | Sample → |
| /api/grocery/normalize | GET · POST | Turn recipe ingredient lines into a normalized shopping list | $0.002 | Sample → |
| /api/grocery/ingredient | GET · POST | Look up nutrition per 100 g for an ingredient or barcode | $0.005 | Sample → |
| /api/discourse/split | GET | How Hacker News and Bluesky posts split on a question (not a poll) | $0.03 | Sample → |
| /api/search | GET | Web search with the top pages as clean text and sources | $0.03 | Sample → |
| /api/pdf | GET | PDF URL to text per page plus metadata | $0.02 | Sample → |
| Premium (USDC on Base only) | ||||
| /api/research/report/brief | GET | Verified brief, three question types only: Base or Ethereum gas (on-chain read), USDC supply on Ethereum and Base (on-chain totalSupply), or an x402 spec fact. For USDC on Base: charged only if at least 2 claims are confirmed in two sources as defined by the contract (two independent publishers, two independent nodes, or two separate specification documents); otherwise a 422, unpaid. Contract · Terms | $1 | Sample → |
| /api/seller-dd/single | POST | Seller due-diligence for one x402 endpoint. We make a real capped test payment, check the paid response against the listed schema, compare payTo with the CDP listing, read a recent window of on-chain USDC payments to the payTo and screen for lookalike addresses. Returns a signed JSON verdict of evidenced facts. No charge unless the test payment and all 4 other checks complete. Facts, not endorsement; no warranty. Not affiliated with the seller checked. $5. Terms | $5 | |
| Funding Pulse Weekly report (USDC on Base only) | ||||
| /api/funding-report | GET | Funding Pulse Weekly: one Horizon Pulse funding-markets analysis report (markdown) by id or latest, written from published reference rates and other public data. The fee is for Horizon Pulse's analysis; raw published values are free at /api/money-market-rates. Horizon Pulse is not affiliated with the New York Fed. The New York Fed does not sanction, endorse, or recommend any products or services offered by Horizon Pulse. Not investment advice. $1, USDC on Base. Index (no charge) | $1 | |
| More paid checks | ||||
| /api/domain/precheck | GET|POST | Domain pre-purchase check (USDC on Base only) | $0.02-$0.25 | |
| /api/sec/filings | GET | SEC filings list (USDC on Base only) | $0.02 | |
| /api/treasury/debt | GET | Treasury debt and cash balance (USDC on Base only) | $0.01 | |
| /api/text/pii-scan | POST | PII pattern scan (USDC on Base only) | $0.02 | |
| /api/pros/verify | GET | Contractor license check (USDC on Base only) | $0.05 | |
| /api/sec/insider | GET | SEC insider transactions (USDC on Base only) | $0.02 | |
| /api/sec/13f | GET | SEC 13F holdings changes (USDC on Base only) | $0.02 | |
| /api/sec/10k-risk | GET | SEC 10-K risk factor headings (USDC on Base only) | $0.5 | |
| /api/weather/alerts | GET | Active NWS weather alerts (USDC on Base only) | $0.02 | |
| /api/bls/cpi | GET | BLS Consumer Price Index series (USDC on Base only) | $0.01 | |
| /api/bls/jobs | GET | BLS jobs figures (payrolls, unemployment rate, hourly earnings) (USDC on Base only) | $0.01 | |
| /api/treasury/yield-curve | GET | US Treasury daily par yield curve (USDC on Base only) | $0.01 | |
| /api/domain/whois | GET | Domain registration lookup (.com/.net/.org) (USDC on Base only) | $0.005 | |
| /api/domain/ssl | GET | SSL certificate expiry check (USDC on Base only) | $0.005 | |
| /api/domain/trust | GET | Domain checks bundle (.com/.net/.org) (USDC on Base only) | $0.25 | |
| /api/email/check | GET | Email address check (USDC on Base only) | $0.003 | |
| /api/vuln/check | GET | Known-vulnerability check (CVE or package) (USDC on Base only) | $0.02 | |
| Discovery and informational (no payment required) | ||||
| /api/money-market-rates | GET | NY Fed reference rates as published | no payment | |
| /api/feedback | POST | Tell us about a missing coin, data field or route | no payment | |
| /api/funding-reports | GET | Funding Pulse Weekly report index | no payment | |
Plain HTTP. Standard x402 v2.
No accounts and nothing to sign up for. Any x402 v2 client can pay with any option listed in the 402 response, which gives the exact amount for each: the Coinbase CDP facilitator settles on Base, PayAI on Solana, and XRP Ledger payments are verified on the validated ledger.
Call the route
Send the request to any paid route on horizonpulse.dev without payment.
Read the 402
The PAYMENT-REQUIRED header lists one option per network (Base, Solana, Polygon, XRP Ledger), each with the exact amount (USDC, or RLUSD on the XRP Ledger) and payTo.
Sign and retry
Retry with a PAYMENT-SIGNATURE header. The facilitator verifies and settles.
Get JSON
JSON comes back with a settlement receipt header. On USDC on Base, errors are not charged, apart from the exceptions noted on a route. On USDC on Solana or Polygon, and RLUSD on the XRP Ledger, a refused or failed request may still be charged.
Everything an agent needs to find and pay us.
Discovery files for machines, one working example for humans, and exactly one address to pay on each network.
For agents
/llms.txt · /openapi.jsonx402 index/.well-known/x402MCP/mcp, streamable HTTP, tools/list needs no paymentTo pay x402 from your own codenpm i @x402/core@2.27.0 @x402/evm@2.27.0 viem@2.37.5Payment
0x5b32c973596078a967562ca652761404f19be0e9Base namehorizonpulsebase.base.eth, the Basename for this addressBase assetUSDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913Solana: pay toBjY98A6dS3GGLZdz2zHy8wK7XAwnQgNhCc66mfmBTRPzSolana assetUSDC EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1vPolygon: pay to0x5b32c973596078a967562ca652761404f19be0e9Polygon assetnative USDC 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359 (same address as Base)XRP Ledger: pay tor3FbirL83RAB2CwnUdxE5pCohMkuo6LQcfXRP Ledger assetRLUSD, issuer rMxCKbEDwqr76QuheSUMdEGf4B9xJ8m5DeSettlementx402 exact. Standard routes: same USD list price on every network. The 402 response gives the exact amount for each option. Coinbase CDP facilitator on Base and Polygon, PayAI on Solana; XRP Ledger payments are verified by us on the validated ledgerBalanceBase payTo live on /statusFix your x402 listing
Agent promotion: get your API found and used by agents
Full x402 setup from scratch is quoted by email: horizonpulse.co@proton.me.
See what each route returns.
Fixed-input samples, no wallet needed. Pay only when your agent needs its own input.