---
name: agentfeed
description: Live crypto market data paid per call in USDC over x402, no API key. Use when an agent needs perp funding, open interest, a liquidation tape, cascade detection or forecasting, orderbook depth, tokenized-stock peg deviation, lending-collateral exit liquidity, Solana on-chain reads or a spot price. 59 paid routes and 6 free ones at https://x402.ochinimus.app.
---

# AgentFeed

59 paid GET routes and 6 free ones at https://x402.ochinimus.app. JSON in, JSON out. No API key, no account, no signup: payment happens per request.

## When to use AgentFeed

Reach for it when the answer has to come from live market state rather than from memory or a web page:

- A perp's funding, open interest, long/short crowding or realised volatility.
- What is being liquidated right now, what was liquidated earlier, and at which price levels.
- Whether a liquidation cascade is running, and how likely one is in the next 15 minutes.
- How far a tokenized US equity has drifted from its underlying, and when in the day it drifts worst.
- What seized lending collateral would actually realise if it had to be sold at size.
- Solana reads: wallet holdings and activity, SPL token metadata and rug signals, priority fees, Jito tips, a Jupiter quote.
- Base reads: gas, and any ERC20 or native balance.

Do not reach for it for anything a free source answers well. Start with the free routes below, and with the 21 routes at $0.005 (/api/sol-price, /api/btc-price, /api/funding-rate, /api/market-snapshot, /api/token-metadata/:mint, /api/liquidations, /api/positioning, /api/macro-calendar, /api/funding-history, /api/priority-fees, /api/jito-tips, /api/sol-network, /api/tvl, /api/dex-quote, /api/eth-price, /api/base-gas, /api/base-balance, /api/perp, /api/liq-pulse, /api/funding-pulse, /api/price) before paying for the premium tapes.

## How to pay

Call the route. Unpaid, it answers **402** with the x402 v2 challenge base64-encoded in the **`PAYMENT-REQUIRED` response header** (every rail); the JSON body is the same challenge as **x402 v1** (`{x402Version: 1, accepts}`, Base and Solana). Pay and repeat the request with a `PAYMENT-SIGNATURE` header (v2) or an `X-PAYMENT` header (v1; an `X-PAYMENT` carrying a v2 payload is read as `PAYMENT-SIGNATURE`).

4 rails are accepted on every paid route: **USDC on Solana mainnet**, **USDC on Base** (`eip155:8453`), **USDC on Polygon** (`eip155:137`), **USDC on Arbitrum** (`eip155:42161`).

**Copy payTo only from a fresh 402 response, never from transaction history: a lookalike of the treasury address has sent address-poisoning transfers to our buyers.**

**MPP** (`solana/charge`) is offered alongside x402 on `/api/sol-price` and `/api/btc-price`, carried in the `WWW-Authenticate` header of the same 402. Clients that speak only x402 never see it.

Every 200 has the same envelope:

```json
{ "tool": "get_sol_price", "data": { }, "paid": true }
```

## Read the spec before you guess

| Endpoint | What it gives you |
|---|---|
| `GET https://x402.ochinimus.app/openapi.json` | Every route with its parameters, price and a real captured response example |
| `GET https://x402.ochinimus.app/.well-known/x402.json` | The manifest every number on this page is generated from |
| `GET https://x402.ochinimus.app/.well-known/x402` | The resource list, one concrete URL per route |
| `GET https://x402.ochinimus.app/api/sample/<route>` | A real response for one route, free, before you pay for it |

## Free routes (6)

No payment, no key. Same code path as the paid routes.

| Route | What you get |
|---|---|
| `GET /api/fear-greed` | What is the crypto Fear and Greed index? |
| `GET /api/last-liquidation` | What was the last liquidation on each major? |
| `GET /api/exit-method` | How is exit liquidity measured, and on how many rows? |
| `GET /api/forecast-record` | How accurate has the cascade forecast actually been? |
| `GET /api/sample` | Which paid routes have a stored sample response |
| `GET /api/sample/<route>` | One paid route's real captured response, with its price and input schema |

## Paid routes (59)

One call of every paid route costs $0.913. Prices are per call; there are no bundles, minimums or subscriptions.

### Our own collateral exit-liquidity tape

| Question | Route | Price |
|---|---|---|
| What can this seized collateral actually be sold for, at size? | `GET /api/exit-quote` <br>params: symbol, size_usd | $0.02 |

### Our own tokenized-equity peg tape

| Question | Route | Price |
|---|---|---|
| How far is a tokenized stock trading from its underlying? | `GET /api/peg-deviation` <br>params: symbol, hours | $0.02 |
| When in the trading day does the peg break worst? | `GET /api/peg-sessions` <br>params: symbol, days | $0.03 |
| Which tokenized stocks carry the worst off-hours peg risk? | `GET /api/peg-universe` <br>params: days, min_liquidity_usd | $0.05 |

### Our own liquidation tape

| Question | Route | Price |
|---|---|---|
| How likely is a liquidation spike in the next 15 minutes? | `GET /api/cascade-forecast` <br>params: symbol, symbols | $0.02 |
| Which liquidation cascades already happened? | `GET /api/cascade-history` <br>params: symbol, scope, hours, min_usd, gap_s | $0.03 |
| At which price levels did leverage actually get flushed? | `GET /api/liq-heatmap` <br>params: symbol, hours, buckets | $0.02 |
| How much was liquidated, bucketed over time? | `GET /api/liq-history` <br>params: symbol, scope, hours, bucket_min | $0.05 |
| What is being liquidated right now? | `GET /api/liq-pulse` | $0.005 |
| Is this trade crowded and about to hurt someone? | `GET /api/squeeze-score` <br>params: symbol | $0.1 |

### Market and positioning

| Question | Route | Price |
|---|---|---|
| What is BTC worth? | `GET /api/btc-price` | $0.005 |
| What is ETH worth? | `GET /api/eth-price` | $0.005 |
| How crowded is retail on this perp? | `GET /api/long-short` <br>params: symbol | $0.01 |
| What is the market doing, in one call? | `GET /api/market-snapshot` | $0.005 |
| What is the full pre-trade picture for this coin right now? | `GET /api/market-state` <br>params: symbol | $0.02 |
| How is the market positioned on SOL and BTC? | `GET /api/positioning` | $0.005 |
| What is the spot price, without picking a venue? | `GET /api/price` <br>params: symbol | $0.005 |
| What is SOL worth? | `GET /api/sol-price` | $0.005 |
| What do I need to know before placing a trade? | `GET /api/trade-context` | $0.01 |

### Live liquidations and cascades

| Question | Route | Price |
|---|---|---|
| Is a cascade running on the majors right now? | `GET /api/cascade` <br>params: window, min_events, min_usd | $0.01 |
| Is a cascade running on any perp right now? | `GET /api/cascade-scan` <br>params: window, min_events, min_usd | $0.05 |
| Which symbols are blowing up right now? | `GET /api/liquidation-leaders` <br>params: window_min, limit | $0.02 |
| How much was liquidated in the last 1h and 24h? | `GET /api/liquidation-stats` | $0.01 |
| Which liquidations just printed? | `GET /api/liquidations` <br>params: symbol, scope, limit, min_usd | $0.005 |
| What is this perp doing right now, in one call? | `GET /api/perp` <br>params: symbol | $0.005 |
| Which exchange is doing the liquidating? | `GET /api/venue-liq-share` <br>params: symbol, hours | $0.02 |

### Tokenized stocks and peg

| Question | Route | Price |
|---|---|---|
| What is this stock trading at right now, even on the weekend? | `GET /api/equity-24h` <br>params: symbol | $0.01 |

### Derivatives

| Question | Route | Price |
|---|---|---|
| Is this perp trading above or below spot? | `GET /api/basis` <br>params: symbol | $0.01 |
| What is funding for this perp across venues? | `GET /api/funding-cross` <br>params: symbol | $0.01 |
| Which trades are most crowded by funding? | `GET /api/funding-extremes` <br>params: limit, min_turnover_usd | $0.02 |
| What has the carry on this perp actually been? | `GET /api/funding-history` <br>params: symbol, limit | $0.005 |
| Where is funding most extreme right now? | `GET /api/funding-pulse` | $0.005 |
| Which perps have unusual funding right now, venue by venue? | `GET /api/funding-radar` <br>params: top, min_oi_usd | $0.02 |
| What is the funding rate on this perp? | `GET /api/funding-rate` <br>params: symbol | $0.005 |
| Where is new leverage piling in? | `GET /api/oi-spike-scan` <br>params: limit | $0.02 |
| How much open interest sits on this perp? | `GET /api/open-interest` <br>params: symbol | $0.01 |
| Which stock, index, gold or oil perps have extreme funding right now? | `GET /api/tradfi-radar` <br>params: class, venue, top, min_oi_usd | $0.02 |

### Microstructure and screeners

| Question | Route | Price |
|---|---|---|
| Which side of the book holds more resting liquidity? | `GET /api/orderbook-imbalance` <br>params: symbol, bps | $0.01 |
| Where are the big resting orders? | `GET /api/orderbook-walls` <br>params: symbol, top | $0.01 |
| Is there a cross-exchange spread worth arbing? | `GET /api/spread-arb` <br>params: symbol | $0.02 |
| What moved most in the last 24 hours? | `GET /api/top-movers` <br>params: limit, min_turnover_usd | $0.01 |
| How volatile has this perp been? | `GET /api/volatility` <br>params: symbol | $0.01 |
| Are whales buying or selling this perp? | `GET /api/whale-trades` <br>params: symbol, min_usd, limit | $0.02 |

### Solana on-chain

| Question | Route | Price |
|---|---|---|
| What will this swap actually execute at? | `GET /api/dex-quote` <br>params: input_mint, output_mint, amount | $0.005 |
| What tip will land my Jito bundle? | `GET /api/jito-tips` | $0.005 |
| What priority fee will land my Solana transaction? | `GET /api/priority-fees` | $0.005 |
| Is the Solana network healthy right now? | `GET /api/sol-network` | $0.005 |
| Who holds this SPL token? | `GET /api/token-holders/:mint` <br>params: :mint | $0.02 |
| What is this SPL token? | `GET /api/token-metadata/:mint` <br>params: :mint | $0.005 |
| Is this SPL token a rug? | `GET /api/token-risk/:mint` <br>params: :mint | $0.01 |
| What has this Solana wallet been doing? | `GET /api/wallet-activity/:wallet` <br>params: :wallet, limit | $0.02 |
| What does this Solana wallet hold? | `GET /api/wallet-holdings/:wallet` <br>params: :wallet | $0.008 |

### Base and EVM

| Question | Route | Price |
|---|---|---|
| What does this EVM address hold? | `GET /api/base-balance` <br>params: address, token, chain | $0.005 |
| What is gas on Base? | `GET /api/base-gas` | $0.005 |

### DeFi and macro

| Question | Route | Price |
|---|---|---|
| When are the next FOMC decision and CPI, NFP and PCE releases? | `GET /api/macro-calendar` <br>params: type, days | $0.005 |
| Is stablecoin supply growing or shrinking? | `GET /api/stablecoin-flows` | $0.01 |
| How much TVL does this protocol have? | `GET /api/tvl` <br>params: target | $0.005 |

### Other

| Question | Route | Price |
|---|---|---|
| Where is options gamma exposure and the gamma flip for this coin? | `GET /api/options-gex` <br>params: currency | $0.03 |
| What is implied volatility, skew and max pain for this coin's options? | `GET /api/options-summary` <br>params: currency | $0.02 |

## Limits and error codes

| Code | Means | What to do |
|---|---|---|
| `200` | Paid and served | Read `data`; `paid` tells you whether the route was priced |
| `402` | Payment Required | No payment presented, or the payment did not settle. x402 v2: the full challenge is base64 in the PAYMENT-REQUIRED response header, for every rail; read it first. x402 v1: the body above, for Base and Solana; pay it with X-PAYMENT. |
| `400` | Bad Request | The handler threw: a missing or malformed caller parameter, or an upstream data source failed. |
| `429` | Too Many Requests | More than 240 GET (or POST /mcp) requests from one IP in 60s. Other HTTP methods have a separate 2400/60s allowance. Retry-After is also set as a response header. |
| `503` | Service Unavailable | The route answers from a precomputed snapshot and that snapshot is past its staleness limit, or no source has data to answer with. Never charged: a status of 400 or more cancels the x402 settlement. Retry-After is also set as a response header. |
| `405` | Method Not Allowed | HEAD on a free /api route. The response has an Allow: GET header and an empty body. HEAD on a paid route answers 402 with the challenge in PAYMENT-REQUIRED and no body. |
| `502` | An upstream failed on a FREE route | Only `/api/forecast-record` returns this. Retry later; nothing stale is served silently |

- **Rate limit**, per caller per 60s: 240 for `GET` and `POST /mcp`, 2400 for every other method. A 429 carries `Retry-After`.
- Every paid route's error responses are documented per operation in [openapi.json](https://x402.ochinimus.app/openapi.json) and once for the whole surface in [/.well-known/x402](https://x402.ochinimus.app/.well-known/x402). 30 routes carry a real observed `400` example.
- A path parameter may also be sent as a query parameter (`/api/token-risk?mint=...`); it is rewritten to the canonical form before the paywall.
- A route that cannot answer returns 200 with a `decline` field naming the reason. It never returns fabricated or zero-filled data.

## Also available over MCP

The same tools are an MCP server at `https://x402.ochinimus.app/mcp` (Streamable HTTP). Paid tools answer with an x402 payment request; the free ones just answer.
