# Crypto Arbitrage API
> Live crypto cross-exchange price comparison and arbitrage spread — the spot price of a coin on the major centralised exchanges at once, served straight from each exchange's public ticker. For any base coin it fetches the spot price from Binance, OKX, Bybit, KuCoin and Coinbase in parallel, returns the per-exchange price table, identifies the cheapest venue to buy and the most expensive to sell, and computes the spread between them — absolute and percentage — the headline cross-exchange arbitrage gap. Get the full price table, the best buy/sell opportunity, or the list of exchanges. Live, no key, no cache. Quotes are USDT (Binance/OKX/Bybit/KuCoin) or USD (Coinbase), within a few basis points. A price-discovery and arbitrage layer for trading, analytics and dashboard apps. Distinct from single-exchange price and OHLC APIs — this is the cross-exchange arbitrage view.

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

## Pricing
- **Free** (Free) — 8,000 calls/Mo, 5 req/s
- **Starter** ($12/Mo) — 110,000 calls/Mo, 15 req/s
- **Pro** ($34/Mo) — 550,000 calls/Mo, 40 req/s
- **Desk** ($82/Mo) — 2,800,000 calls/Mo, 100 req/s

## Endpoints

### Prices

#### `GET /v1/prices` — Per-exchange price table + spread summary

**Parameters:**
- `base` (query, optional, string) — Coin ticker Example: `BTC`

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

**Response:**
```json
{
    "data": {
        "base": "BTC",
        "count": 5,
        "prices": [
            {
                "name": "Coinbase",
                "price": 62818.905,
                "quote": "USD",
                "exchange": "coinbase"
            },
            {
                "name": "KuCoin",
                "price": 62849.6,
                "quote": "USDT",
                "exchange": "kucoin"
            },
            {
                "name": "Binance",
                "price": 62850,
                "quote": "USDT",
                "exchange": "binance"
            },
            {
                "name": "Bybit",
                "price": 62851.1,
                "quote": "USDT",
                "exchange": "bybit"
            },
            {
                "name": "OKX",
                "price": 62854.8,
                "quote": "USDT",
                "exchange": "okx"
            }
        ],
        "summary": {
            "cheapest": {
                "price": 62818.905,
                "exchange": "coinbase"
            },
            "mid_price": 62844.881,
            "spread_abs": 35.895,
            "spread_pct": 0.0571,
            "most_expensive": {
                "price": 62854.8,
                "exchange": "okx"
            }
        }
    },
    "meta": {
        "timestamp": "2026-06-09T03:02:36.095Z",
        "request_id": "5cde7851-5c73-422e-a6b3-78772cd17116"
    },
    "status": "ok",
    "message": "Prices retrieved successfully",
    "suc
…(truncated, see openapi.json for full schema)
```

### Arbitrage

#### `GET /v1/arbitrage` — Best buy/sell venues and spread for a coin

**Parameters:**
- `base` (query, optional, string) — Coin ticker Example: `ETH`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/cryptoarbitrage-api/v1/arbitrage?base=ETH"
```

**Response:**
```json
{
    "data": {
        "base": "ETH",
        "note": "Indicative gross spread from public last prices; excludes fees, withdrawal limits and slippage.",
        "buy_at": {
            "price": 1665.255,
            "exchange": "coinbase"
        },
        "sell_at": {
            "price": 1666.29,
            "exchange": "kucoin"
        },
        "mid_price": 1665.963,
        "spread_abs": 1.035,
        "spread_pct": 0.0622,
        "profit_per_unit": 1.035,
        "exchanges_compared": 5
    },
    "meta": {
        "timestamp": "2026-06-09T03:02:36.466Z",
        "request_id": "b184cb11-156d-4ddd-9a26-cb89c8730359"
    },
    "status": "ok",
    "message": "Arbitrage retrieved successfully",
    "success": true
}
```

### Exchanges

#### `GET /v1/exchanges` — List the compared exchanges

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

**Response:**
```json
{
    "data": {
        "count": 5,
        "exchanges": [
            {
                "id": "binance",
                "name": "Binance",
                "quote": "USDT"
            },
            {
                "id": "okx",
                "name": "OKX",
                "quote": "USDT"
            },
            {
                "id": "bybit",
                "name": "Bybit",
                "quote": "USDT"
            },
            {
                "id": "kucoin",
                "name": "KuCoin",
                "quote": "USDT"
            },
            {
                "id": "coinbase",
                "name": "Coinbase",
                "quote": "USD"
            }
        ]
    },
    "meta": {
        "timestamp": "2026-06-09T03:02:36.580Z",
        "request_id": "3cba99f0-c0ae-4f50-b1b3-0f36ec7bc7b4"
    },
    "status": "ok",
    "message": "Exchanges retrieved successfully",
    "success": true
}
```

### Meta

#### `GET /v1/meta` — Service metadata

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

**Response:**
```json
{
    "data": {
        "source": "Binance, OKX, Bybit, KuCoin, Coinbase public spot tickers (live)",
        "service": "cryptoarbitrage-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/prices": "Per-exchange price table + spread summary (base=BTC).",
            "GET /v1/arbitrage": "Best buy/sell venues and the spread for a coin (base=ETH).",
            "GET /v1/exchanges": "List the compared exchanges and their quote currencies."
        },
        "description": "Live crypto cross-exchange price comparison and arbitrage spread: for any coin, the spot price on Binance, OKX, Bybit, KuCoin and Coinbase at once, the cheapest venue to buy and the most expensive to sell, and the spread (absolute and percentage) between them. Get the full price table, the best buy/sell opportunity, or the exchange list. Live, no key. Distinct from single-exchange price and OHLC APIs — this is the cross-exchange arbitrage layer.",
        "exchanges_live_for_btc": 5
    },
    "meta": {
        "timestamp": "2026-06-09T03:02:36.936Z",
        "request_id": "c72f13ed-7cf8-4e73-a3d0-59aa76f3ba6e"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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