# Tanod chainpeek – Cross-Venue Perpetual Funding Carry Ranker

> Tanod chainpeek – Cross-Venue Perpetual Funding Carry Ranker is a paid API for AI agents from tanod.dev, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-12).

Ranks perpetual funding rate arbitrage opportunities across Binance, Bybit, OKX, Hyperliquid, and dYdX by annualized spread, showing optimal long/short venue pairs per asset.

## Facts

- Endpoint: POST https://tanod.dev/v1/defi/funding-carry?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tanod-chainpeek-cross-venue-perpetual-funding-carry-ranker-1a10595e
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Ih-S6Y-FAfJw2lPI9brqg

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability tanod-chainpeek-cross-venue-perpetual-funding-carry-ranker-1a10595e -d '<json body>'
```

Example prompt: Show me the top 10 cross-venue funding rate arb opportunities for BTC and ETH across Binance, Bybit, and OKX, assuming a 7-day hold and 3 bps taker fee per side — sort by annualized spread.

## When to prefer this

Use this endpoint when an agent needs to identify, rank, and compute net APR for cross-venue perpetual funding carry trades across the five major venues (Binance, Bybit, OKX, Hyperliquid, dYdX). It is the right choice when fee-adjusted annualized spread is the primary decision metric and the agent needs structured long/short venue pair recommendations per asset rather than raw funding rate feeds from a single exchange.

## Known failure modes

- Symbol listed on fewer than two chosen venues returns asset in symbols_not_found rather than markets
- A venue's API is temporarily unavailable and appears in venues_failed with an empty result for that venue
- min_volume_usd filter too high causes all venue legs to be excluded, returning empty markets array
- Invalid symbol pattern (non-alphanumeric or too long) causes 422 validation error
- Requesting fewer than two venues returns a validation error since arbitrage requires at least two venues
- Funding rates are point-in-time snapshots and may not reflect the actual settled rate

## How this service works

One MCP server and HTTP API with 193 pay-per-call tools for AI agents (security checks, chain data, finance, aviation, documents), plus free uptime and MikroTik monitoring and 130+ free browser tools. No signup; free daily tier. Operated by an AI.

## Output

Returns a ranked list of perpetual funding arbitrage pairs, each specifying the optimal long and short venue, current funding rates (hourly and annualized), 24h volume, open interest, spread annualized percent, net annualized percent after fees, and mark/index prices — sorted by spread descending by default.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "limit": {
   "type": "integer",
   "default": 20,
   "maximum": 100,
   "minimum": 1,
   "description": "Rows returned, 1-100 (default 20)."
  },
  "venues": {
   "anyOf": [
    {
     "type": "array",
     "items": {
      "enum": [
       "hyperliquid",
       "dydx",
       "binance",
       "bybit",
       "okx"
      ],
      "type": "string"
     },
     "maxItems": 5,
     "minItems": 2
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "Optional subset of hyperliquid, dydx, binance, bybit, okx (at least two). Default: all five."
  },
  "symbols": {
   "anyOf": [
    {
     "type": "array",
     "items": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._-]{1,20}$"
     },
     "maxItems": 50
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "Optional: only these base assets (case-insensitive, at most 50), such as BTC. Names listed on fewer than two of the chosen venues are returned in symbols_not_found."
  },
  "holding_days": {
   "type": "number",
   "default": 7,
   "maximum": 365,
   "description": "Days the position is held; the fees are amortised over it (default 7).",
   "exclusiveMinimum": 0
  },
  "taker_fee_bps": {
   "type": "number",
   "default": 0,
   "maximum": 1000,
   "minimum": 0,
   "description": "Taker fee per side in basis points (default 0). Net APR subtracts 4 taker legs (open and close on both venues): 4 x bps / 100 x 365 / holding_days."
  },
  "min_volume_usd": {
   "type": "number",
   "default": 0,
   "maximum": 10000000000000,
   "minimum": 0,
   "description": "A venue is only used for a symbol when its 24 h volume there reaches this (USD), so it applies to both legs. Default 0."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "note": "Data only, not trading advice. Funding rates change and may differ from the rate finally settled.",
  "pair": "long the venue with the lowest hourly funding, short the venue with the highest; shorts receive positive funding",
  "cache": "fetched",
  "count": 1,
  "source": {
   "okx": {
    "url": "https://www.okx.com/api/v5/public/funding-rate?instId=ANY",
    "docs": "https://www.okx.com/docs-v5/en/#public-data-rest-api-get-funding-rate",
    "name": "OKX v5 swaps"
   },
   "bybit": {
    "url": "https://api.bybit.com/v5/market/tickers?category=linear",
    "docs": "https://bybit-exchange.github.io/docs/v5/market/tickers",
    "name": "Bybit v5 linear"
   }
  },
  "markets": [
   {
    "long": {
     "venue": "bybit",
     "interval_h": 8,
     "mark_price": 82760.8,
     "index_price": 82803.47,
     "funding_rate": -0.00004185,
     "funding_hourly": -0.0000052313,
     "volume_24h_usd": 2832332361.74,
     "open_interest_usd": 4667526797.96,
     "funding_annualized_pct": -4.583
    },
    "short": {
     "venue": "okx",
     "interval_h": 8,
     "mark_price": 82763.1,
     "index_price": 82808.4,
     "funding_rate": 0.0000132006,
     "funding_hourly": 0.0000016501,
     "volume_24h_usd": 3857128901.15,
     "open_interest_usd": 2496421859.48,
     "funding_annualized_pct": 1.445
    },
    "symbol": "BTC",
    "long_venue": "bybit",
    "short_venue": "okx",
    "venues_compared": 2,
    "net_annualized_pct": -4.401,
    "spread_annualized_pct": 6.028,
    "annualized_pct_by_venue": {
     "okx": 1.445,
     "bybit": -4.583
    }
   }
  ],
  "sorted_by": "spread_annualized_pct desc",
  "rate_basis": {
   "okx": "current-period rate",
   "bybit": "current-period rate"
  },
  "net_formula": "net = spread - 4 x taker_fee_bps / 100 x 365 / holding_days",
  "venues_used": [
   "bybit",
   "okx"
  ],
  "holding_days": 7,
  "annualization": "rate / interval_h x 8760 x 100, simple (not compounded)",
  "taker_fee_bps": 5,
  "venues_failed": [],
  "markets_ranked": 1,
  "fee_cost_annualized_pct": 10.429
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tanod-chainpeek-cross-venue-perpetual-funding-carry-ranker-1a10595e/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from tanod.dev](https://www.zero.xyz/host/tanod.dev/llms.txt)
