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.
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
git clone https://github.com/seekdaseek/agentfeed && cp agentfeed/*.md ~/.claude/agents/Subagents overview
<!-- mcp-name: io.github.seekdaseek/agentfeed -->
# 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 sWhat people ask about agentfeed
What is seekdaseek/agentfeed?
+
seekdaseek/agentfeed is subagents for the Claude AI ecosystem. 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. It has 0 GitHub stars and its last recorded update is dated 2026-10-08.
How do I install agentfeed?
+
You can install agentfeed by cloning the repository (https://github.com/seekdaseek/agentfeed) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is seekdaseek/agentfeed safe to use?
+
Our security agent has analyzed seekdaseek/agentfeed and assigned a Trust Score of 95/100 (tier: Verified). See the full breakdown of passed checks and flags on this page.
Who maintains seekdaseek/agentfeed?
+
seekdaseek/agentfeed is maintained by seekdaseek. The last recorded GitHub activity is dated 2026-10-08, with 3 open issues.
Are there alternatives to agentfeed?
+
Yes. On ClaudeWave you can browse similar subagents at /categories/agents, sorted by popularity or recent activity.
Deploy agentfeed to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](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>More Subagents
The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
The agent that grows with you
Java 面试 & 后端通用面试指南,覆盖计算机基础、数据库、分布式、高并发、系统设计与 AI 应用开发
Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.
Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype to production without rebuilding the stack.
The agent engineering platform.