ToolAssay

Funding arbitrage scanner across 8 exchanges (Bybit, Hyperliquid, dYdX, Gate, Kr

Funding arbitrage scanner across 8 exchanges (Bybit, Hyperliquid, dYdX, Gate, Kraken, Bitfinex, Deribit, OKX): for every coin the widest cross-venue perp funding spread, the long and short venue, both funding rates, gross and fee-adjusted net APR and breakeven days, with a 24h volume liquidity filter. Funding rate arbitrage, basis trade and carry screening of perpetual swaps. Data only, no advice. Bad input is free; under 3 venues not charged.

Not tested: has real-world effectsour last check, 2026-10-18
0 of 0checks answered this week
n/amedian answer time
$0.005listed price per call
n/aprice it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

GET https://derivs.duoleads.com/v1/funding-arbitrage

CategoryMarket data
Provider hostderivs.duoleads.com
Networkseip155:8453
Payment schemesexact
Self-reported calls, 30 days2 from 2 payers (the provider's figure, not ours)

Our checks, last 30 days

We never call tools that send, buy, move money or file anything, not even without paying.

Example input (from the provider)

{
  "method": "GET",
  "queryParams": {
    "min_apr": "10"
  },
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "method": {
          "enum": [
            "GET"
          ],
          "type": "string"
        },
        "queryParams": {
          "properties": {
            "fee_pct": {
              "default": "0.05",
              "description": "Taker fee per fill in percent of notional (0-1); 4 fills per round trip. Default 0.05.",
              "type": "string"
            },
            "holding_days": {
              "default": "30",
              "description": "Days the position is held, to amortise the fees in net_apr_pct (1-365). Default 30.",
              "type": "string"
            },
            "limit": {
              "default": "20",
              "description": "Opportunities returned, 1-100. Default 20.",
              "type": "string"
            },
            "min_apr": {
              "default": "10",
              "description": "Minimum gross spread, in APR percent (0-10000). Default 10.",
              "type": "string"
            },
            "min_volume_usd": {
              "default": "0",
              "description": "Liquidity filter: both legs need at least this 24 h volume in USD (0-1e12). Venues that publish no volume are excluded when > 0. Default 0.",
              "type": "string"
            }
          },
          "required": [],
          "type": "object"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON