# Crypto Funding Rate Arbitrage API
> The perpetual-futures funding rate for a coin side by side across the major exchanges, and the spread between them — computed live from each venue's public API, no key, nothing stored. A perpetual swap charges or pays funding every few hours to keep its price tethered to spot; when the same coin's funding differs across exchanges, a trader can be long the perp where funding is most negative (and gets paid) and short where it is most positive, harvesting the spread market-neutral. The funding endpoint returns, for a coin, the current funding rate on Binance, Bybit, OKX and Gate.io — per interval and annualised — the venue paying the most, the one charging the most, and the cross-exchange spread (the arbitrage edge). The screener endpoint scans a basket and ranks the coins by the size of that spread, surfacing the biggest funding-arbitrage opportunities. This is the cross-exchange funding-rate / basis-arbitrage cut for crypto — distinct from the single-exchange funding-rates feed (one venue), the spot-versus-perpetual basis and the price APIs in the catalogue. Funding is per interval (most venues settle every 8 hours); annualisation assumes three settlements a day, and intervals can differ by venue, so verify before trading. Coins are bases (BTC, ETH).

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/fundingarbitrage-api/..."
```

## Pricing
- **Free** (Free) — 350 calls/Mo, 2 req/s
- **Starter** ($12/Mo) — 10,600 calls/Mo, 6 req/s
- **Pro** ($38/Mo) — 64,000 calls/Mo, 16 req/s
- **Business** ($86/Mo) — 330,000 calls/Mo, 40 req/s

## Endpoints

### Funding Arbitrage

#### `GET /v1/funding` — Funding rate across exchanges & arbitrage spread

**Parameters:**
- `coin` (query, required, string) — Coin base symbol Example: `BTC`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/fundingarbitrage-api/v1/funding?coin=BTC"
```

**Response:**
```json
{
    "data": {
        "coin": "BTC",
        "note": "funding_rate_pct is per funding interval (most venues every 8h); annualized assumes 8-hour funding (3x/day). best_long_venue has the most negative funding (longs are paid); best_short_venue the most positive. The spread is the market-neutral arbitrage edge before fees. Funding intervals can differ by venue — verify before trading.",
        "source": "Binance + Bybit + OKX + Gate.io",
        "venues": [
            {
                "exchange": "binance",
                "annualized_pct": 1.65,
                "funding_rate_pct": 0.00151
            },
            {
                "exchange": "bybit",
                "annualized_pct": 6.78,
                "funding_rate_pct": 0.00619
            },
            {
                "exchange": "okx",
                "annualized_pct": -1.12,
                "funding_rate_pct": -0.00103
            },
            {
                "exchange": "gate",
                "annualized_pct": -4.38,
                "funding_rate_pct": -0.004
            }
        ],
        "best_long_venue": "gate",
        "best_short_venue": "bybit",
        "exchanges_listed": 4,
        "spread_annualized_pct": 11.16,
        "spread_pct_per_interval": 0.01019
    },
    "meta": {
        "timestamp": "2026-06-12T10:35:33.261Z",
        "request_id": "235e6012-2e40-4662-96ca-303b7983c63c"
    },
    "status": "ok",
    "message": "Funding retrieved successfully",
    "success": true
}
```

#### `GET /v1/screener` — Rank a basket by cross-exchange funding spread

**Parameters:**
- `coins` (query, optional, string) — Comma list of coins (default liquid majors) Example: `BTC,ETH,SOL,DOGE,XRP`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/fundingarbitrage-api/v1/screener?coins=BTC%2CETH%2CSOL%2CDOGE%2CXRP"
```

**Response:**
```json
{
    "data": {
        "note": "Coins ranked by the cross-exchange funding spread (annualized) — the biggest market-neutral funding-arbitrage edges. Long the perp at best_long_venue, short at best_short_venue. Before fees; verify funding intervals.",
        "source": "Binance + Bybit + OKX + Gate.io",
        "scanned": 5,
        "opportunities": [
            {
                "coin": "ETH",
                "exchanges": 4,
                "best_long_venue": "okx",
                "best_short_venue": "bybit",
                "spread_annualized_pct": 13.18,
                "spread_pct_per_interval": 0.01204
            },
            {
                "coin": "BTC",
                "exchanges": 4,
                "best_long_venue": "gate",
                "best_short_venue": "bybit",
                "spread_annualized_pct": 11.16,
                "spread_pct_per_interval": 0.01019
            },
            {
                "coin": "SOL",
                "exchanges": 4,
                "best_long_venue": "okx",
                "best_short_venue": "bybit",
                "spread_annualized_pct": 8.99,
                "spread_pct_per_interval": 0.00821
            },
            {
                "coin": "DOGE",
                "exchanges": 4,
                "best_long_venue": "okx",
                "best_short_venue": "bybit",
                "spread_annualized_pct": 5.8,
                "spread_pct_per_interval": 0.0053
            },
            {
                "coi
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Spec

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/fundingarbitrage-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "note": "coin is a base (BTC, ETH). Funding is per interval (most venues every 8h); annualised assumes 3 settlements/day. screener takes coins=BTC,ETH,... (default majors, max 25). Read fresh per call, nothing cached.",
        "source": "Binance, Bybit, OKX, Gate.io public perpetual endpoints, live",
        "service": "fundingarbitrage-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/funding": "Funding rate across four exchanges with the arbitrage spread (coin=BTC).",
            "GET /v1/screener": "Rank a basket by cross-exchange funding spread (coins=BTC,ETH,SOL)."
        },
        "exchanges": [
            "binance",
            "bybit",
            "okx",
            "gate"
        ],
        "description": "Crypto funding-rate arbitrage — the perpetual funding rate for a coin across Binance, Bybit, OKX and Gate.io, and the spread between them, computed live from each venue's public API (no key, nothing stored). funding returns per-venue funding (per interval and annualised), the venue paying the most, the one charging the most and the cross-exchange spread. screener ranks a basket by the size of that spread. The cross-exchange funding / basis-arbitrage cut — distinct from the single-exchange funding-rates feed, the spot-versus-perp basis and the price APIs.",
        "upstream_status": "ok",
        "btc_venues_listed": 4
    },
    "meta": {
        "timestamp": "2026-06-12T10:35:35.960Z",

…(truncated, see openapi.json for full schema)
```


---
Marketplace page: https://www.oanor.com/api/fundingarbitrage-api
OpenAPI spec: https://www.oanor.com/api/fundingarbitrage-api/openapi.json
