# Funding Rates Arbitrage Decision API

> Funding Rates Arbitrage Decision API is a paid API for AI agents from funding-rates-x402.data-labs.cloud, paid per call via x402, $0.05/call, status down (last checked 2026-08-24).

Returns cross-venue perpetual futures funding rate arbitrage opportunities with long/short leg recommendations and confidence scores across up to 16 perp venues

## Facts

- Endpoint: GET https://funding-rates-x402.data-labs.cloud/v1/funding/arbitrage
- Price: $0.05/call
- Payment: x402
- Status: down
- Last checked: 2026-08-24
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/funding-rates-arbitrage-decision-api-b9203c7f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_lZopzY2bPWaAxMlyQ0Y-4

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 funding-rates-arbitrage-decision-api-b9203c7f
```

Example prompt: Check for funding rate arbitrage opportunities on BTC and ETH across Binance, Bybit, and Hyperliquid right now, and only show me opportunities with an annualized spread above 8%.

## When to prefer this

Use this endpoint when an AI trading agent needs a ready-made, actionable cross-venue funding rate arbitrage signal with leg recommendations rather than raw funding rate data it must analyze itself. Prefer this over raw data feeds when you want confidence scoring, filtering by minimum spread, and multi-venue normalization (including both periodic and continuous accrual venues like Reya and Paradex) in a single call.

## Known failure modes

- 402 Payment Required — no valid MPP payment receipt provided; response includes per-route pricing challenge
- No opportunities returned if minAnnualizedSpread threshold is too high or no spread exists at query time
- 'source_stale' or 'source_refresh_failed' warnings if venue data is outdated
- 'insufficient_venues' warning if fewer than 2 venues return data for a symbol
- 'unsupported_symbol' or 'unsupported_venue' warning for unrecognized inputs
- 'interval_mismatch' warning when comparing venues with different funding cadences
- 'fees_not_included' warning reminding that trading fees are not factored into spread calculations

## How this service works

Paid funding rate decision API for AI trading agents across up to 16 perp venues. Settled via x402 on Base mainnet (eip155:8453) using the Coinbase Mogami v2 facilitator; unpaid requests receive a 402 challenge that lists the per-route price.

## Output

Returns an array of arbitrage opportunities, each with the symbol, annualized spread, per-venue funding rate records (rate, interval, next funding time, cadence type), a recommendation object listing which venue to go long and which to go short, a confidence level (high/medium/low), and any applicable warnings such as stale data or interval mismatches. Also includes top-level meta and warnings fields.

## Example request

```json
{
 "venues": "binance,bybit,hyperliquid",
 "symbols": "BTC,ETH",
 "minAnnualizedSpread": 0.08
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "venues": {
   "type": "string",
   "description": "Comma-separated list of venues to include. Omit for all configured venues."
  },
  "symbols": {
   "type": "string",
   "description": "Comma-separated list of canonical uppercase base symbols (e.g. `BTC,ETH`). Omit to receive every symbol the configured venues report."
  },
  "minAnnualizedSpread": {
   "type": "number",
   "description": "Minimum annualized spread (decimal, e.g. `0.05` for 5%). Opportunities below this threshold are filtered out."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "data",
  "meta",
  "warnings"
 ],
 "properties": {
  "raw": {
   "type": "object",
   "additionalProperties": true
  },
  "data": {
   "type": "object",
   "required": [
    "opportunities"
   ],
   "properties": {
    "opportunities": {
     "type": "array",
     "items": {
      "type": "object",
      "required": [
       "symbol",
       "annualizedSpread",
       "fundingRateSpread",
       "recommendation",
       "confidence",
       "warnings",
       "records",
       "horizonClass",
       "scoredAnnualizedSpread",
       "horizonHaircut"
      ],
      "properties": {
       "symbol": {
        "type": "string"
       },
       "records": {
        "type": "array",
        "items": {
         "type": "object",
         "required": [
          "venue",
          "symbol",
          "fundingRate",
          "nextFundingTime",
          "funding_kind",
          "funding_interval_hours"
         ],
         "properties": {
          "venue": {
           "enum": [
            "binance",
            "bybit",
            "mexc",
            "gate",
            "bitget",
            "bingx",
            "kucoin",
            "htx",
            "hyperliquid",
            "aster",
            "variational",
            "lighter",
            "pacifica",
            "backpack",
            "reya",
            "paradex",
            "nado",
            "risex"
           ],
           "type": "string"
          },
          "symbol": {
           "type": "string"
          },
          "fundingRate": {
           "type": "number",
           "description": "Per-interval funding rate (decimal)."
          },
          "funding_kind": {
           "enum": [
            "periodic",
            "continuous_accrual"
           ],
           "type": "string",
           "description": "Cadence type. `periodic` venues pay funding on a discrete cadence (1h, 4h, 8h). `continuous_accrual` venues (Reya, Paradex) accrue continuously; the rate is already normalized per `funding_interval_hours`."
          },
          "nextFundingTime": {
           "type": [
            "number",
            "null"
           ],
           "description": "Unix epoch ms of next funding payment, or null if not applicable."
          },
          "funding_interval_hours": {
           "type": "number",
           "minimum": 0
          }
         },
         "additionalProperties": false
        },
        "minItems": 2
       },
       "warnings":
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/funding-rates-arbitrage-decision-api-b9203c7f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from funding-rates-x402.data-labs.cloud](https://www.zero.xyz/host/funding-rates-x402.data-labs.cloud/llms.txt)
