# Crypto Derivatives API
> Live cross-exchange perpetual-futures market data — no key, nothing cached. Where single-exchange APIs show one venue, this compares the whole derivatives market across every exchange at once. The contract endpoint takes a symbol (BTCUSDT, ETHUSD) and returns that contract on every exchange that lists it — the mark price, the funding rate, the basis, the open interest and the 24-hour volume on Binance, Bybit, OKX, MEXC, Hyperliquid and the rest side by side, so you can instantly see where funding is richest and where the open interest sits (BTCUSDT trades on dozens of venues with billions in open interest each). The exchanges endpoint is the derivatives-exchange league table, ranked by open interest in BTC, with each venue's 24-hour volume and number of perpetual and futures pairs. The top endpoint surfaces the largest contracts market-wide by open interest or by volume. This is the cross-exchange derivatives layer for any trading, funding-arbitrage, risk or analytics app. Live from CoinGecko, nothing stored. Distinct from single-exchange funding and open-interest APIs — this is the whole perpetual-futures market across exchanges. 4 endpoints.

## 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/derivatives-api/..."
```

## Pricing
- **Free** (Free) — 9,500 calls/Mo, 3 req/s
- **Starter** ($11/Mo) — 118,000 calls/Mo, 8 req/s
- **Pro** ($27/Mo) — 595,000 calls/Mo, 15 req/s
- **Scale** ($64/Mo) — 3,010,000 calls/Mo, 30 req/s

## Endpoints

### Derivatives

#### `GET /v1/contract` — A symbol across every exchange

**Parameters:**
- `symbol` (query, required, string) — Contract symbol Example: `BTCUSDT`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/derivatives-api/v1/contract?symbol=BTCUSDT"
```

**Response:**
```json
{
    "data": {
        "symbol": "BTCUSDT",
        "contracts": [
            {
                "price": 62109.1,
                "symbol": "BTCUSDT",
                "exchange": "Binance (Futures)",
                "basis_pct": 0.0715,
                "underlying": "BTC",
                "contract_type": "perpetual",
                "last_traded_at": 1781099763,
                "volume_24h_usd": 14118720422,
                "funding_rate_pct": -0.00048,
                "open_interest_usd": 6292310173,
                "price_change_24h_pct": 0.053
            },
            {
                "price": 61510.3,
                "symbol": "BTC_USDT",
                "exchange": "MEXC (Futures)",
                "basis_pct": 0.0476,
                "underlying": "BTC",
                "contract_type": "perpetual",
                "last_traded_at": 1781099916,
                "volume_24h_usd": 6641994322,
                "funding_rate_pct": -0.0004,
                "open_interest_usd": 4206102915,
                "price_change_24h_pct": -0.24
            },
            {
                "price": 62128.8,
                "symbol": "BTCUSDT",
                "exchange": "Bybit (Futures)",
                "basis_pct": 0.0298,
                "underlying": "BTC",
                "contract_type": "perpetual",
                "last_traded_at": 1781099732,
                "volume_24h_usd": 6444884745,
                "funding_rate_pct": 0.00112,
                "open_interest_usd": 3468
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/exchanges` — Derivatives-exchange league table

**Parameters:**
- `limit` (query, optional, string) — How many (default 30, max 100) Example: `30`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/derivatives-api/v1/exchanges?limit=30"
```

#### `GET /v1/top` — Largest contracts market-wide

**Parameters:**
- `by` (query, optional, string) — open_interest | volume (default open_interest) Example: `open_interest`
- `limit` (query, optional, string) — How many (default 20, max 50) Example: `20`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/derivatives-api/v1/top?by=open_interest&limit=20"
```

### Meta

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

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

**Response:**
```json
{
    "data": {
        "source": "CoinGecko public derivatives API (live)",
        "service": "derivatives-api",
        "endpoints": {
            "GET /v1/top": "Largest contracts market-wide (by=open_interest|volume, limit up to 50).",
            "GET /v1/meta": "This document.",
            "GET /v1/contract": "A symbol across every exchange (symbol=BTCUSDT): price, funding, basis, OI, volume per venue.",
            "GET /v1/exchanges": "Derivatives-exchange league table by open interest (limit up to 100)."
        },
        "description": "Live cross-exchange perpetual-futures market data from CoinGecko: a symbol's contract on every exchange that lists it (mark price, funding rate, basis, open interest, 24h volume side by side); the derivatives-exchange league table ranked by open interest with volumes and pair counts; and the largest contracts market-wide by open interest or volume. Live, no key, nothing stored. Distinct from single-exchange funding and open-interest APIs — this is the whole perpetual-futures market across exchanges.",
        "upstream_status": null
    },
    "meta": {
        "timestamp": "2026-06-09T11:39:15.292Z",
        "request_id": "efa2a9bf-a542-4b7b-97f5-16be18584755"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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