Skip to main content
ClaudeWave

Live crypto market data for AI agents: 59 MCP tools, 52 paid per call in USDC over x402 on Solana or Base, 7 free, MPP on the price routes. Our own liquidation tape across 900+ perps. No API key.

SubagentsRegistry oficial0 estrellas0 forks● JavaScriptMITActualizado today
ClaudeWave Trust Score
95/100
✓ Verified
Passed
  • ✓Open-source license (MIT)
  • ✓Actively maintained (<30d)
  • ✓Clear description
  • ✓Topics declared
  • ✓Documented (README)
Last scanned: 10/9/2026
Install as a Claude Code subagent
Method: Clone
Terminal
git clone https://github.com/seekdaseek/agentfeed && cp agentfeed/*.md ~/.claude/agents/
1. Clone the repository and copy the agent .md definitions into ~/.claude/agents (or .claude/agents inside a project).
2. Start a new Claude Code session to load the agents.
3. Delegate work to them with the Task/Agent tool or by name.
Casos de uso

Resumen de Subagents

<!-- mcp-name: io.github.seekdaseek/agentfeed -->
# AgentFeed

[![smithery badge](https://smithery.ai/badge/ochinimus/agentfeed)](https://smithery.ai/servers/ochinimus/agentfeed)

**Crypto liquidations, cascade detection, positioning and market data for AI agents. Pay per call in USDC. No API keys, no accounts, no subscriptions.**

AgentFeed sells live trading data through the [x402 payment protocol](https://solana.com/x402) on Solana, Base, Polygon and Arbitrum. An agent hits an endpoint, gets a `402 Payment Required` with the price, pays a fraction of a cent in USDC from its own wallet, and receives the data — in about two seconds, gas sponsored by the facilitator.

Two rails, same data:

| Rail | Endpoint | For |
|------|----------|-----|
| **MCP** (Streamable HTTP) | `https://x402.ochinimus.app/mcp` | Claude, Cursor, MCP-native frameworks |
| **HTTP** (x402) | `https://x402.ochinimus.app/api/*` | Anything that speaks HTTP |

---

## What makes this different: the liquidation tape

We run our own liquidation collector across **Bybit, OKX and Binance** — every USDT-margined
perpetual on all three, recorded continuously since 2026-07-08.

The size of that tape is not a claim, it is a query. Measured **2026-09-28 06:56 UTC**:

| | |
|---|---|
| Rows | **4,924,729** |
| Distinct perp markets, whole tape | **907** |
| Distinct perp markets, last 7 days | **861** — binance 728 · bybit 693 · okx 454 |
| Range (UTC) | 2026-07-08 16:42:32 → 2026-09-28 06:56:17 |

It grows while you read this: the row count above and the one you get from the
same query five minutes later will not match.

The 7-day figure is published live by the service itself at
[`/`](https://x402.ochinimus.app/) under `coverage.perp_markets_7d`, recomputed from the tape
rather than restated, so this README can be checked against it rather than believed.

**This data cannot be bought.** Not from us, not from anyone:

- **Binance deleted their liquidation archive.** `liquidationSnapshot` no longer exists on
  `data.binance.vision` — the directory is an empty shell. Verified 2026-07-12.
- **Bybit has never published historical liquidation data.**
- **OKX offers a 7-day rolling REST window and nothing more.**

There is no public historical liquidation dataset for any major venue, at any price. The only
way to hold this data is to have been recording it.

### And here is exactly where our data is weak

Being straight about this matters more than the marketing:

| Venue | Feed | Complete? |
|---|---|---|
| **Bybit** | `allLiquidation` | ✅ **Yes.** Every liquidation, 500ms cadence. The only complete, unthrottled public liquidation stream among the major perp venues. |
| **Binance** | `!forceOrder@arr` | ❌ **No.** Snapshot only — max one order per symbol per 1000ms, per Binance's own docs. `allForceOrders` REST is unmaintained. |
| **OKX** | `liquidation-orders` | ❌ **No.** Max one update per second per contract. |
| **Hyperliquid** | — | ⛔ **Not included.** Hyperliquid exposes *no public liquidation stream*. `WsTrade` carries no liquidation marker; the data lives only in user-scoped streams. Capturing it requires running a node. |

**Binance and OKX rows are a structural undercount, and the undercount is worst during
cascades — exactly when the data matters most.** This is true of every liquidation dataset on
the market, including the well-known ones. Most don't say so.

**Bybit rows are the highest-integrity part of the dataset.** Weight accordingly.

### The `side` field, which most datasets get wrong

Three exchanges, three conventions. We normalize all of them:

- **Bybit** `S` is already the *position* side (`Buy` = a long was liquidated). Passed through.
- **Binance** `S` is the *order* side — a `SELL` order is what closes a long. **Flipped.**
- **OKX** exposes `posSide` explicitly. Mapped.

**In our output: `Buy` = a LONG was liquidated. `Sell` = a SHORT was liquidated.** Invert this
and every long/short ratio you compute is backwards for some venues.

Notional uses `filled_qty × avg_fill_price` — what actually executed — not `limit_price × requested_size`.

---

## Price index

Every paid route, cheapest question last. Generated from
[`/.well-known/x402.json`](https://x402.ochinimus.app/.well-known/x402.json),
read 2026-10-08 — names, prices and routes are the manifest's, not a copy kept
in sync by hand. What each one returns is under
[66 tools](#66-tools-59-paid-http-routes--7-free--pricing), word for word as
the service publishes it.

| Tool | Price | Route |
|---|---|---|
| `get_squeeze_score` | $0.1 | `/api/squeeze-score` |
| `get_cascade_scan` | $0.05 | `/api/cascade-scan` |
| `get_liq_history` | $0.05 | `/api/liq-history` |
| `get_peg_universe` | $0.05 | `/api/peg-universe` |
| `get_cascade_history` | $0.03 | `/api/cascade-history` |
| `get_options_gex` | $0.03 | `/api/options-gex` |
| `get_peg_sessions` | $0.03 | `/api/peg-sessions` |
| `get_cascade_forecast` | $0.02 | `/api/cascade-forecast` |
| `get_exit_quote` | $0.02 | `/api/exit-quote` |
| `get_funding_extremes` | $0.02 | `/api/funding-extremes` |
| `get_funding_radar` | $0.02 | `/api/funding-radar` |
| `get_liq_heatmap` | $0.02 | `/api/liq-heatmap` |
| `get_liquidation_leaders` | $0.02 | `/api/liquidation-leaders` |
| `get_market_state` | $0.02 | `/api/market-state` |
| `get_oi_spike_scan` | $0.02 | `/api/oi-spike-scan` |
| `get_options_summary` | $0.02 | `/api/options-summary` |
| `get_peg_deviation` | $0.02 | `/api/peg-deviation` |
| `get_spread_arb` | $0.02 | `/api/spread-arb` |
| `get_token_holders` | $0.02 | `/api/token-holders/:mint` |
| `get_tradfi_radar` | $0.02 | `/api/tradfi-radar` |
| `get_venue_liq_share` | $0.02 | `/api/venue-liq-share` |
| `get_wallet_activity` | $0.02 | `/api/wallet-activity/:wallet` |
| `get_whale_trades` | $0.02 | `/api/whale-trades` |
| `get_basis` | $0.01 | `/api/basis` |
| `get_cascade_alert` | $0.01 | `/api/cascade` |
| `get_equity_24h` | $0.01 | `/api/equity-24h` |
| `get_funding_cross` | $0.01 | `/api/funding-cross` |
| `get_liquidation_stats` | $0.01 | `/api/liquidation-stats` |
| `get_long_short` | $0.01 | `/api/long-short` |
| `get_open_interest` | $0.01 | `/api/open-interest` |
| `get_orderbook_imbalance` | $0.01 | `/api/orderbook-imbalance` |
| `get_orderbook_walls` | $0.01 | `/api/orderbook-walls` |
| `get_stablecoin_flows` | $0.01 | `/api/stablecoin-flows` |
| `get_token_risk` | $0.01 | `/api/token-risk/:mint` |
| `get_top_movers` | $0.01 | `/api/top-movers` |
| `get_trade_context` | $0.01 | `/api/trade-context` |
| `get_volatility` | $0.01 | `/api/volatility` |
| `get_wallet_holdings` | $0.008 | `/api/wallet-holdings/:wallet` |
| `get_base_balance` | $0.005 | `/api/base-balance` |
| `get_base_gas` | $0.005 | `/api/base-gas` |
| `get_btc_price` | $0.005 | `/api/btc-price` |
| `get_dex_quote` | $0.005 | `/api/dex-quote` |
| `get_eth_price` | $0.005 | `/api/eth-price` |
| `get_funding_history` | $0.005 | `/api/funding-history` |
| `get_funding_pulse` | $0.005 | `/api/funding-pulse` |
| `get_funding_rate` | $0.005 | `/api/funding-rate` |
| `get_jito_tips` | $0.005 | `/api/jito-tips` |
| `get_liq_pulse` | $0.005 | `/api/liq-pulse` |
| `get_macro_calendar` | $0.005 | `/api/macro-calendar` |
| `get_market_snapshot` | $0.005 | `/api/market-snapshot` |
| `get_perp` | $0.005 | `/api/perp` |
| `get_positioning` | $0.005 | `/api/positioning` |
| `get_priority_fees` | $0.005 | `/api/priority-fees` |
| `get_recent_liquidations` | $0.005 | `/api/liquidations` |
| `get_sol_network` | $0.005 | `/api/sol-network` |
| `get_sol_price` | $0.005 | `/api/sol-price` |
| `get_spot` | $0.005 | `/api/price` |
| `get_token_metadata` | $0.005 | `/api/token-metadata/:mint` |
| `get_tvl` | $0.005 | `/api/tvl` |

## Two payment protocols on one 402

Every paid route answers `402` with an x402 v2 challenge in the `PAYMENT-REQUIRED` header, and
the same challenge as an x402 v1 body (`{x402Version: 1, accepts}`) for Base and Solana. Pay with
`PAYMENT-SIGNATURE` (v2, any rail) or `X-PAYMENT` (v1 on Base or Solana, verified and settled
through the CDP facilitator's v1 kinds; Polygon and Arbitrum have no v1 kind there and stay v2).
`/api/sol-price` and `/api/btc-price` additionally carry an MPP `solana`/`charge` challenge in
`WWW-Authenticate` on the *same* response, so a client settles with whichever protocol it
speaks. The two live in disjoint header namespaces, so an x402-only client never sees the MPP
one and is unaffected.

```
$ curl -si https://x402.ochinimus.app/api/btc-price      # 2026-09-23 09:18:09 UTC

HTTP/2 402
payment-required: eyJ4NDAyVmVyc2lvbiI6MiwiZXJyb3IiOiJQYXltZW50IHJlcXVpcmVkIiwi…
www-authenticate: Payment id="T0-lA4BfXXpf3GvzGklT8YobRJwSlEu8AXu9ZLz5VOg",
                  realm="x402.ochinimus.app", method="solana", intent="charge",
                  request="eyJhbW91bnQiOiIxMDAwIiwiY3VycmVuY3ki…",
                  expires="2026-09-23T09:23:09.919Z", opaque="eyJfbXBweF9zY29wZSI6…"
```

Base64-decoded, that MPP `request` is the whole quote:

```json
{
  "amount": "1000",
  "currency": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
  "recipient": "4a8o45skRPcyjAdyR8yES215Swvh8uTpZD6KLarhxCJ7",
  "methodDetails": {
    "decimals": 6,
    "network": "mainnet",
    "recentBlockhash": "6e6NEAxddHca5ipHioSwZRhcGcSL4rW4q18AYszfnxyv",
    "tokenProgram": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
  }
}
```

Note what is **not** there: no `feePayer`. The client pays its own transaction fee and the
server holds no funded signing key, which is the difference between the MPP challenge and the
Solana x402 one sitting beside it in the same response.

**Replay is refused, not merely discouraged.** A settled signature is claimed atomically in
SQLite before the resource is served, so two processes racing the same credential produce
exactly one 200 and one refusal — covered by tests that fork real worker processes rather
than stubbing the race.

**The layer is fail-soft by design.** If it cannot initialise it logs `[mpp] DISABLED: <cause>`
and the service keeps s
ai-agentsbasecrypto-datamcpmppsolanausdcx402

Lo que la gente pregunta sobre agentfeed

¿Qué es seekdaseek/agentfeed?

+

seekdaseek/agentfeed es subagents para el ecosistema de Claude AI. Live crypto market data for AI agents: 59 MCP tools, 52 paid per call in USDC over x402 on Solana or Base, 7 free, MPP on the price routes. Our own liquidation tape across 900+ perps. No API key. Tiene 0 estrellas en GitHub y su última actualización registrada es del 2026-10-08.

¿Cómo se instala agentfeed?

+

Puedes instalar agentfeed clonando el repositorio (https://github.com/seekdaseek/agentfeed) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.

¿Es seguro usar seekdaseek/agentfeed?

+

Nuestro agente de seguridad ha analizado seekdaseek/agentfeed y le ha asignado un Trust Score de 95/100 (tier: Verified). Revisa el desglose completo de comprobaciones superadas y flags en esta página.

¿Quién mantiene seekdaseek/agentfeed?

+

seekdaseek/agentfeed es mantenido por seekdaseek. La última actividad registrada en GitHub es del 2026-10-08, con 3 issues abiertos.

¿Hay alternativas a agentfeed?

+

Sí. En ClaudeWave puedes explorar subagents similares en /categories/agents, ordenados por popularidad o actividad reciente.

Despliega agentfeed en tu cloud

Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.

¿Mantienes este repo? Añade un badge a tu README

Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.

Featured on ClaudeWave: seekdaseek/agentfeed
[![Featured on ClaudeWave](https://claudewave.com/api/badge/seekdaseek-agentfeed)](https://claudewave.com/repo/seekdaseek-agentfeed)
<a href="https://claudewave.com/repo/seekdaseek-agentfeed"><img src="https://claudewave.com/api/badge/seekdaseek-agentfeed" alt="Featured on ClaudeWave: seekdaseek/agentfeed" width="320" height="64" /></a>

Más Subagents

Alternativas a agentfeed