# XT Exchange API
> Live spot market data from XT.com, a global crypto exchange, served straight from its public v4 API with no key and nothing cached. The ticker endpoint returns a market's last price, open, 24-hour high and low, 24-hour change and base and quote volume. The tickers endpoint returns every spot market for a quote currency ranked by 24-hour quote volume, so one call surfaces the most-traded pairs on the venue. The markets endpoint lists the tradable pairs with their price and quantity precision and trading state. The book endpoint returns live order-book depth — every bid and ask level with price and amount, plus the best bid/ask and the spread. Everything is read live from XT on each request, nothing stored. A distinct global venue, separate from the other exchange feeds on the marketplace. Ideal for trading bots, price tickers, arbitrage scanners, portfolio trackers and market dashboards. Live, no key. 4 spot endpoints. For candles or perpetuals use an OHLC or derivatives API.

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

## Pricing
- **Free** (Free) — 5,450 calls/Mo, 2 req/s
- **Starter** ($9/Mo) — 96,500 calls/Mo, 6 req/s
- **Pro** ($25/Mo) — 505,000 calls/Mo, 18 req/s
- **Business** ($60/Mo) — 3,080,000 calls/Mo, 45 req/s

## Endpoints

### Market

#### `GET /v1/book` — Live order-book depth

**Parameters:**
- `market` (query, required, string) — Market BASE_QUOTE Example: `BTC_USDT`
- `limit` (query, optional, string) — Levels per side (default 20) Example: `20`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/xt-api/v1/book?market=BTC_USDT&limit=20"
```

**Response:**
```json
{
    "data": {
        "asks": [
            {
                "price": 62714.01,
                "amount": 23.91541
            },
            {
                "price": 62714.06,
                "amount": 1.5434
            },
            {
                "price": 62714.14,
                "amount": 0.65605
            },
            {
                "price": 62714.24,
                "amount": 0.35531
            },
            {
                "price": 62714.33,
                "amount": 0.76146
            },
            {
                "price": 62714.39,
                "amount": 0.53051
            },
            {
                "price": 62714.42,
                "amount": 1.4136
            },
            {
                "price": 62714.48,
                "amount": 0.73122
            },
            {
                "price": 62714.59,
                "amount": 1.6079
            },
            {
                "price": 62714.67,
                "amount": 0.28791
            },
            {
                "price": 62714.75,
                "amount": 0.60262
            },
            {
                "price": 62714.79,
                "amount": 1.28709
            },
            {
                "price": 62714.85,
                "amount": 0.55593
            },
            {
                "price": 62714.92,
                "amount": 1.38858
            },
            {
                "price": 62715.01,
                "amount": 0.23115
            }
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/markets` — Tradable pairs with precision and state

**Parameters:**
- `quote` (query, optional, string) — Filter by quote currency Example: `USDT`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/xt-api/v1/markets?quote=USDT"
```

**Response:**
```json
{
    "data": {
        "count": 1276,
        "quote": "USDT",
        "source": "XT",
        "markets": [
            {
                "base": "XT",
                "quote": "USDT",
                "state": "ONLINE",
                "market": "XT_USDT",
                "tradable": true,
                "price_precision": 4,
                "quantity_precision": 2
            },
            {
                "base": "BTC",
                "quote": "USDT",
                "state": "ONLINE",
                "market": "BTC_USDT",
                "tradable": true,
                "price_precision": 2,
                "quantity_precision": 5
            },
            {
                "base": "ETH",
                "quote": "USDT",
                "state": "ONLINE",
                "market": "ETH_USDT",
                "tradable": true,
                "price_precision": 2,
                "quantity_precision": 4
            },
            {
                "base": "XRP",
                "quote": "USDT",
                "state": "ONLINE",
                "market": "XRP_USDT",
                "tradable": true,
                "price_precision": 4,
                "quantity_precision": 1
            },
            {
                "base": "USDC",
                "quote": "USDT",
                "state": "ONLINE",
                "market": "USDC_USDT",
                "tradable": true,
                "price_precision": 4,
                "quantity_precision": 0
            },
 
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/ticker` — Ticker for one market

**Parameters:**
- `market` (query, required, string) — Market BASE_QUOTE Example: `BTC_USDT`
- `symbol` (query, optional, string) — Base coin (alternative to market) Example: `BTC`
- `quote` (query, optional, string) — Quote currency for symbol Example: `USDT`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/xt-api/v1/ticker?market=BTC_USDT&symbol=BTC&quote=USDT"
```

**Response:**
```json
{
    "data": {
        "base": "BTC",
        "last": 62714.01,
        "quote": "USDT",
        "market": "BTC_USDT",
        "source": "XT",
        "low_24h": 60783.36,
        "high_24h": 62995.99,
        "open_24h": 61712.88,
        "timestamp": 1781164147214,
        "change_24h": 1001.13,
        "change_24h_pct": 1.62,
        "base_volume_24h": 8445.24928,
        "quote_volume_24h": 523088345.01
    },
    "meta": {
        "timestamp": "2026-06-11T07:49:08.767Z",
        "request_id": "b134e200-e343-4879-b604-002594ccfe38"
    },
    "status": "ok",
    "message": "Ticker retrieved successfully",
    "success": true
}
```

#### `GET /v1/tickers` — All spot markets for a quote by volume

**Parameters:**
- `quote` (query, optional, string) — Quote currency (default USDT) Example: `USDT`
- `limit` (query, optional, string) — Max markets (default 50) Example: `50`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/xt-api/v1/tickers?quote=USDT&limit=50"
```

**Response:**
```json
{
    "data": {
        "count": 50,
        "quote": "USDT",
        "source": "XT",
        "tickers": [
            {
                "base": "BTC",
                "last": 62714.01,
                "quote": "USDT",
                "market": "BTC_USDT",
                "low_24h": 60783.36,
                "high_24h": 62995.99,
                "open_24h": 61712.88,
                "timestamp": 1781164147214,
                "change_24h": 1001.13,
                "change_24h_pct": 1.62,
                "base_volume_24h": 8445.24928,
                "quote_volume_24h": 523088345.01
            },
            {
                "base": "ETH",
                "last": 1653.91,
                "quote": "USDT",
                "market": "ETH_USDT",
                "low_24h": 1604.39,
                "high_24h": 1667.49,
                "open_24h": 1639.35,
                "timestamp": 1781164148174,
                "change_24h": 14.56,
                "change_24h_pct": 0.88,
                "base_volume_24h": 147507.4581,
                "quote_volume_24h": 241326495.75
            },
            {
                "base": "USDC",
                "last": 1.0009,
                "quote": "USDT",
                "market": "USDC_USDT",
                "low_24h": 1.0004,
                "high_24h": 1.0012,
                "open_24h": 1.0005,
                "timestamp": 1781164147884,
                "change_24h": 0.0004,
                "change_24h_pct": 0.03,
                "base_vol
…(truncated, see openapi.json for full schema)
```

### Meta

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

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

**Response:**
```json
{
    "data": {
        "note": "Markets are BASE_QUOTE (e.g. BTC_USDT). change_24h_pct is the 24h change; quote_volume_24h is in the quote currency.",
        "source": "XT API (sapi.xt.com/v4/public, live)",
        "service": "xt-api",
        "endpoints": {
            "GET /v1/book": "Live order-book depth — best bid/ask and spread (market=BTC_USDT, limit=20).",
            "GET /v1/meta": "This document.",
            "GET /v1/ticker": "Ticker for one market (market=BTC_USDT or symbol=BTC&quote=USDT).",
            "GET /v1/markets": "Tradable pairs with precision and state (quote=USDT optional).",
            "GET /v1/tickers": "All spot markets for a quote ranked by 24h quote volume (quote=USDT, limit=50)."
        },
        "description": "Live spot market data from XT.com, a global crypto exchange. The ticker endpoint returns a market's last price, open, 24h high/low, 24h change and base/quote volume; the tickers endpoint ranks every spot market for a quote currency by 24h quote volume; the markets endpoint lists tradable pairs with precision and state; the book endpoint returns live order-book depth. Live, no key, nothing stored. A distinct global venue, separate from other exchange feeds.",
        "market_count": 1367,
        "upstream_status": "ok"
    },
    "meta": {
        "timestamp": "2026-06-11T07:49:09.450Z",
        "request_id": "289fae8f-4543-4fcd-9616-1fc46358d6e0"
    },
    "status": "ok",
    "message": "Meta",
    "success": true
}
```


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