AgentFeed

MCP serverProductivity

Once added, your AI can pull AgentFeed's own liquidation tape, a record of liquidation events, and check peg data for tokenized equities. The integration provides this through 47 tools. Usage is paid in USDC.

Then ask your AI: use AgentFeed to get liq pulse

Details

Available today. Use it as a step in a pipeline you build, or from your connected AI.

After adding it, see github.com/seekdaseek/agentfeed for setup details. Keep in mind that usage is paid in USDC.

What your AI can do with it

  • Pull liquidation tape data
  • Check peg data for tokenized equities
  • Answer questions about liquidation activity
  • Report how tokenized equities are tracking their pegs
  • Work across 47 tools

Install AgentFeed

The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.

  • Claude Code

    claude mcp add --transport http --scope user agentfeed 'https://x402.ochinimus.app/mcp'

    Run it once in your project, then open /mcp to approve any sign-in the server asks for.

  • Claude Desktop

    https://x402.ochinimus.app/mcp

    Add a custom connector in Settings, paste this address, and approve the sign-in.

  • Cursor

    cursor://anysphere.cursor-deeplink/mcp/install?name=agentfeed&config=eyJ1cmwiOiJodHRwczovL3g0MDIub2NoaW5pbXVzLmFwcC9tY3AifQ==

    Open the link and Cursor adds the server at that address.

  • ChatGPT

    https://x402.ochinimus.app/mcp

    In Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.

  • Codex

    codex mcp add agentfeed --url 'https://x402.ochinimus.app/mcp'

    Run it once, then sign in with codex mcp login agentfeed if the server asks for an account.

From the project's README

As published by seekdaseek/agentfeed in README.md.

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 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:

RailEndpointFor
MCP (Streamable HTTP)https://x402.ochinimus.app/mcpClaude, 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:

Rows4,924,729
Distinct perp markets, whole tape907
Distinct perp markets, last 7 days861 — 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 / 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:

VenueFeedComplete?
BybitallLiquidation✅ 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.
OKXliquidation-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, 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, word for word as the service publishes it.

ToolPriceRoute
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:

{
  "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 serving x402 on every route rather than taking the paid surface down with it. Which routes are gated is published live at / and in /.well-known/x402.json under mpp.routes, so the advertised set is always whatever is actually mounted.

AgentFeed is one of several merchants accepting MPP on Solana mainnet — the Foundation's own Google proxy and smartmoney-market in solana-foundation/pay-skills do too.

Upstream work this produced

solana-foundation/pay-kit #328fix(mpp): send preflightCommitment with sendTransaction so confirmed-only blockhashes are accepted — a challenge blockhash minted at confirmed is rejected by a preflight bank that defaults to finalized, so a client that pays fast always fails. Open, approved, 44/44 checks green, mergeable/clean (read 2026-09-23)
solana-foundation/surfpool #813fix(core): make blockhash handling honor commitment and preflightCommitment — merged 2026-09-21 by MicaiahReid, opened by EfeDurmaz16, who had reviewed #328. Its description explains why the bug above was invisible in CI: "This hid a deterministic mainnet failure from pay-kit's Surfpool CI: solana-foundation/pay-kit#328." A sandbox that stamped an always-valid blockhash could not reproduce a finality race that mainnet reproduces every time
solana-foundation/pay-skills #260providers: add ochinimus/agentfeed
solana-foundation/pay #469pay hangs forever on paid routes in non-GUI contexts: the Touch ID gate polls for a prompt that cannot render

The pay-kit fix ships here as mpp/patches/@solana+mpp+0.7.0.patch, applied by patch-package on install and asserted by npm run verify-patch — the patch is a production dependency, not a dev one, because a --omit=dev install would otherwise complete silently unpatched.

66 tools (59 paid HTTP routes + 7 free) & pricing

59 paid + 7 free, 66 total on the MCP rail. Every call is metered individually in USDC over x402 — no bundles, no minimums. Calling all 59 paid tools once costs $0.913 — the entire market read for 91 cents. Counts and prices are summed from the live manifest, read 2026-10-08.

The flagship is get_squeeze_score — a 0-100 short-squeeze / long-flush composite built from funding, crowding, OI build and the liq-skew of our exclusive tape. One number, one dime, answers "is this trade crowded and about to hurt someone."

The moat — our own liquidation tape

ToolPriceRouteWhat you get
get_squeeze_score$0.1/api/squeeze-scoreFLAGSHIP: short-squeeze / long-flush score 0-100 for any USDT perp. Composite of funding, long/short crowding, 24h OI build, and liq-skew from our exclusive tape. One number that answers "is this trade crowded and about to hurt someone".
get_liq_history$0.05/api/liq-historyHISTORICAL liquidation tape, time-bucketed: total/long/short USD, prints, biggest print per bucket. Any USDT perp or the whole recorded universe, up to 7 days back. Bybit is the only complete liq tape in crypto and no exchange publishes history of it — this data exists nowhere else.
get_liq_heatmap$0.02/api/liq-heatmapLiquidation heatmap by PRICE LEVEL from our own tape: where leverage actually got flushed in the last N hours — USD, prints, long/short split per price zone, hottest zone flagged. Real prints, not entry-price estimates.
get_cascade_history$0.03/api/cascade-historyPAST liquidation cascades reconstructed from our tape: clustered same-side flush events with start/end, prints, USD total, peak print. get_cascade_alert tells you NOW; this tells you what already happened, up to 72h back.
get_venue_liq_share$0.02/api/venue-liq-shareWhich venue is flushing whom: per-exchange liquidation share (Bybit/OKX/Binance) with long/short split and biggest print, any symbol or whole universe.
get_cascade_forecast$0.02/api/cascade-forecastFORWARD-LOOKING liquidation forecast, not a description of what already happened. Returns the probability that a symbol will liquidate more in the NEXT 15 minutes than its own 90th-percentile 15-minute window. Calibrated on a 28-day tape of 1.4M Bybit liquidations across 799 symbols, which cannot be reconstructed by anyone starting today because no exchange publishes liquidation history. Every answer carries the exact question, the threshold in USD, the window it read, the number of historical occurrences behind the number, and instructions for settling it yourself from the public feed. When a state has too little history the tool DECLINES rather than guessing, and says why.

The second moat — our own tokenized-equity peg tape

ToolPriceRouteWhat you get
get_peg_universe$0.05/api/peg-universeEvery tokenized US equity we track, ranked by off-hours peg risk: p95 and max deviation bps, market-open deviation as control, median liquidity. Dead pools are excluded rather than reported as perfect pegs.
get_peg_sessions$0.03/api/peg-sessionsPeg deviation broken out by trading session (open, premarket, afterhours, overnight, weekend): mean, p95, max bps and median liquidity per session, with the worst off-hours window flagged. Market-open acts as the control.
get_peg_deviation$0.02/api/peg-deviationPeg deviation for a tokenized US equity on Solana: on-chain DEX price vs the underlying last real trade, in bps, with 24h stats split into market-open and off-hours. Sampled every 5 minutes by our own collector; this tape exists nowhere else.

Sampled every 5 minutes since 19 July 2026. Deviation is measured against the underlying's last real trade — outside US market hours that is the last print before the close, not a live quote. Dead pools are excluded rather than reported as perfect pegs.

The third moat — our own collateral exit-liquidity tape

ToolPriceRouteWhat you get
get_exit_methodfree/api/exit-methodHow the measurement works and the row counts behind every paid answer, computed from the tape at request time
get_exit_quote$0.02/api/exit-quoteEXIT LIQUIDITY on seized collateral: what a liquidator ACTUALLY realises selling a Kamino reserve into live routing, versus the oracle price the protocol marks it at. Returns max_exitable_usd (largest clip whose liquidator margin is still positive, found by bisection, with its resolution width), the exitable fraction, the conservative bound at the 2% penalty floor, and for the nearest clip actually probed: realised USD, haircut bps and liquidator margin bps. Distinguishes a router that REFUSES to quote a token (permissioning, not illiquidity) from a book with no route (a real liquidity finding) - they are different facts and were one status until this split. A terminal verdict requires six consecutive agreeing observations from the symbol's own tape, so a single bad quote cannot produce a finding; withheld verdicts fall back to the last corroborated measurement with its age rather than returning null. Zero bad debt today does not disprove any of this - it means nobody has been forced to test it at size. Method, corroboration rules and row counts are free via get_exit_method.

Live liquidations & cascades

ToolPriceRouteWhat you get
get_recent_liquidations$0.005/api/liquidationsRecent liquidations across the USDT perps we record on Bybit (complete unthrottled tape), OKX and Binance. Any symbol, not just majors; defaults to majors. The measured market count is published live at / under coverage.perp_markets_7d
get_cascade_alert$0.01/api/cascadeLiquidation cascade detector for the 5 majors (SOL/BTC/ETH/XRP/DOGE) across Bybit+OKX+Binance. For every perp we record use /api/cascade-scan
get_cascade_scan$0.05/api/cascade-scanFULL-UNIVERSE cascade scan: every USDT perp we record across Bybit+OKX+Binance. Bybit is the only complete unthrottled liquidation tape in crypto and no exchange publishes history of it
get_liquidation_leaders$0.02/api/liquidation-leadersWhat is blowing up right now: top symbols by liquidation USD across every USDT perp we record, with long/short split, biggest print and venue count
get_liquidation_stats$0.01/api/liquidation-stats1h/24h liquidation totals for the 5 majors (SOL/BTC/ETH/XRP/DOGE), long/short split, biggest print, per-exchange breakdown
get_liq_pulse$0.005/api/liq-pulseUse when an agent needs to know what is being liquidated right now. Returns the last 60 minutes across every USDT perp we record: total USD, long/short split, prints and the top 5 symbols. Declines with the tape age if our recording is stale.

Derivatives

ToolPriceRouteWhat you get
get_funding_cross$0.01/api/funding-crossFunding for ANY USDT perp across Bybit + OKX + Hyperliquid in one call, with cross-venue spread and crowding read.
get_funding_radar$0.02/api/funding-radarFunding rates radar across Bybit, OKX and Hyperliquid: tracks every USDT perp listed on at least two of them from $5M combined OI and shows $10M and up by default; current 8h-equivalent funding per venue, each venue's 30-day z-score, the cross-venue spread and a flag on any |z| ≥ 2, most extreme first. Precomputed every 5 min, with as_of and stale.
get_options_summary$0.02/api/options-summaryImplied volatility and options skew for BTC, ETH, SOL, XRP and HYPE from Deribit: DVOL (or our 30-day ATM implied vol where Deribit publishes none) with its 24h change, the ATM IV term structure, 25-delta risk reversal and butterfly per expiry, put/call ratio by open interest and 24h volume, options open interest in USD, max pain for the next three expiries and the top strikes. Precomputed every 5 minutes; a snapshot older than 15 minutes answers 503 and is never charged.
get_options_gex$0.03/api/options-gexGamma exposure (GEX) for BTC, ETH, SOL, XRP and HYPE options on Deribit: gamma by strike in USD per 1% move, net GEX under a dealer-sign convention stated in every response, the gamma flip level and the call and put walls. Black-Scholes gamma on Deribit mark implied volatility across every live expiry. Precomputed every 5 minutes; a snapshot older than 15 minutes answers 503 and is never charged.
get_market_state$0.02/api/market-stateMarket state for BTC, ETH, SOL or HYPE in one call: spot and perp basis, realized vol 7d and 30d, implied vol (DVOL or 30-day ATM) and the IV minus RV spread, funding per venue with 30-day z-scores, open interest and its 24h change, long/short, liquidations 1h and 24h by side, Fear and Greed, the next FOMC or CPI release, and flags with stated thresholds. Every part carries its source and as-of time; a part we do not hold is null with a reason.
get_funding_extremes$0.02/api/funding-extremesMost crowded trades across every Bybit USDT perp: top most-positive and most-negative funding with annualized %, 24h price move and OI. Crowded shorts = squeeze candidates.
get_open_interest$0.01/api/open-interestOpen interest for ANY USDT perp: Bybit OI in base + USD with 1h/24h change, plus OKX OI. (get_positioning covers SOL+BTC only.)
get_oi_spike_scan$0.02/api/oi-spike-scanAbnormal open-interest jumps across every Bybit USDT perp vs a 30min+ baseline — where new leverage is piling in, with funding and price context. Squeeze/flush precursor screener.
get_long_short$0.01/api/long-shortLong/short account ratio for ANY USDT perp with 1h and 24h trend (retail crowding gauge).
get_basis$0.01/api/basisPerp-vs-spot basis for any USDT pair: premium/discount %, contango/backwardation read, funding context.
get_volatility$0.01/api/volatilityRealized volatility for any USDT perp: 7d and 30d annualized from daily closes, plus today's range. Position-sizing input.
get_funding_history$0.005/api/funding-historyFunding-rate history for any USDT perp (up to 200 intervals): average, annualized, share of positive intervals — what the carry has actually been.
get_top_movers$0.01/api/top-movers24h top gainers and losers across every Bybit USDT perp with a liquidity floor, funding attached. The "what moved" screener.
get_perp$0.005/api/perpUse when an agent needs one perp market in a single call. Returns cross-venue funding (Bybit, OKX, Hyperliquid), open interest with 1h/24h change, long/short ratio, and 24h liquidations with long/short split and biggest print from our own tape.
get_funding_pulse$0.005/api/funding-pulseUse when an agent needs the most extreme funding rates right now. Returns the 5 largest absolute annualised rates across the whole Bybit USDT perp universe, each with venue, 8h rate, open interest and 24h price move. One call, not a full screen.

Microstructure

Shortened here. Read the whole README on GitHub.

Tools it offers (66)

What this server listed when Ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.

  • get_liq_pulse
  • get_perp
  • get_funding_pulse
  • get_liquidation_leaders
  • get_cascade_scan
  • get_liq_heatmap
  • get_squeeze_score
  • get_cascade_forecast_free
  • get_forecast_record
  • get_cascade_forecast
  • get_open_interest
  • get_funding_cross
  • get_sol_price
  • get_btc_price
  • get_funding_rate
  • get_fear_greed
  • get_market_snapshot
  • get_wallet_holdings
  • get_token_metadata
  • get_recent_liquidations
  • get_cascade_alert
  • get_forecast_question
  • get_liquidation_stats
  • get_last_liquidation
  • get_positioning
  • get_trade_context
  • get_token_risk
  • get_exit_method
  • get_liq_history
  • get_cascade_history

Signals

Last commit
Oct 2026
Advanced
Delivery
agentfeed MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
Item type
mcp-server
Key
io-github-seekdaseek-agentfeed
Source
github.com/seekdaseek/agentfeed
Hosted endpoint
https://x402.ochinimus.app/mcp