# BTC Markets Exchange API
> Live spot market data from BTC Markets, Australia's established crypto exchange, served straight from its public order books — no key on the data, nothing cached, nothing stored. Look up any market for its last price, best bid/ask and spread, 24h high/low, 24h change and base/quote volume; rank every market for a quote currency (Australian dollar AUD, BTC or USDT) by 24h turnover; list the tradable pairs with their base, quote and precision; or pull live order-book depth with the running spread. Markets are addressed BASE-QUOTE (BTC-AUD). This is the BTC Markets venue specifically — a distinct Australian-dollar price feed, ideal for AUD price discovery and AU-market arbitrage, separate from the USD/USDT-quoted exchange APIs in the catalogue.

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

## Pricing
- **Free** (Free) — 24,000 calls/Mo, 3 req/s
- **Starter** ($9/Mo) — 315,000 calls/Mo, 10 req/s
- **Growth** ($25/Mo) — 1,340,000 calls/Mo, 25 req/s
- **Scale** ($59/Mo) — 4,700,000 calls/Mo, 50 req/s

## Endpoints

### Ticker

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

**Parameters:**
- `market` (query, optional, string) — Market as BTC-AUD Example: `BTC-AUD`
- `base` (query, optional, string) — Base asset (with quote=) Example: `ETH`
- `quote` (query, optional, string) — Quote asset Example: `AUD`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/btcmarkets-api/v1/ticker?market=BTC-AUD&base=ETH&quote=AUD"
```

**Response:**
```json
{
    "data": {
        "ask": 89515.88,
        "bid": 89429.38,
        "base": "BTC",
        "last": 89478.81,
        "quote": "AUD",
        "market": "BTC-AUD",
        "source": "BTC Markets",
        "spread": 86.5,
        "low_24h": 86400,
        "high_24h": 89822.99,
        "open_24h": 87752.84,
        "change_24h": 1725.97,
        "change_24h_pct": 1.97,
        "base_volume_24h": 30.40152336,
        "quote_volume_24h": 2675589.36
    },
    "meta": {
        "timestamp": "2026-06-11T07:48:37.907Z",
        "request_id": "048c3c46-c69a-45fd-9f66-79f0d44f3484"
    },
    "status": "ok",
    "message": "Ticker retrieved successfully",
    "success": true
}
```

### Tickers

#### `GET /v1/tickers` — All markets for a quote ranked by 24h turnover

**Parameters:**
- `quote` (query, optional, string) — Quote asset Example: `AUD`
- `limit` (query, optional, string) — Max results (1-400) Example: `50`

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

**Response:**
```json
{
    "data": {
        "count": 42,
        "quote": "AUD",
        "source": "BTC Markets",
        "tickers": [
            {
                "ask": 89515.86,
                "bid": 89429.47,
                "base": "BTC",
                "last": 89478.81,
                "quote": "AUD",
                "market": "BTC-AUD",
                "spread": 86.39,
                "low_24h": 86400,
                "high_24h": 89822.99,
                "open_24h": 87752.84,
                "change_24h": 1725.97,
                "change_24h_pct": 1.97,
                "base_volume_24h": 30.40152336,
                "quote_volume_24h": 2675589.36
            },
            {
                "ask": 1.591,
                "bid": 1.5891,
                "base": "XRP",
                "last": 1.5883,
                "quote": "AUD",
                "market": "XRP-AUD",
                "spread": 0.0019,
                "low_24h": 1.5552,
                "high_24h": 1.6126,
                "open_24h": 1.5919,
                "change_24h": -0.0036,
                "change_24h_pct": -0.23,
                "base_volume_24h": 1194606.73370214,
                "quote_volume_24h": 1889774.21
            },
            {
                "ask": 2361,
                "bid": 2358.7,
                "base": "ETH",
                "last": 2358.21,
                "quote": "AUD",
                "market": "ETH-AUD",
                "spread": 2.3,
                "low_24h": 2292.45,
                "high_
…(truncated, see openapi.json for full schema)
```

### Markets

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

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

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

**Response:**
```json
{
    "data": {
        "count": 42,
        "quote": "AUD",
        "source": "BTC Markets",
        "markets": [
            {
                "base": "AAVE",
                "quote": "AUD",
                "market": "AAVE-AUD",
                "status": "Online",
                "price_decimals": 2,
                "amount_decimals": 8,
                "min_order_amount": 0.005
            },
            {
                "base": "ADA",
                "quote": "AUD",
                "market": "ADA-AUD",
                "status": "Online",
                "price_decimals": 4,
                "amount_decimals": 8,
                "min_order_amount": 0.14
            },
            {
                "base": "ALGO",
                "quote": "AUD",
                "market": "ALGO-AUD",
                "status": "Online",
                "price_decimals": 4,
                "amount_decimals": 8,
                "min_order_amount": 0.001
            },
            {
                "base": "AUDM",
                "quote": "AUD",
                "market": "AUDM-AUD",
                "status": "Online",
                "price_decimals": 4,
                "amount_decimals": 8,
                "min_order_amount": 0.0001
            },
            {
                "base": "AVAX",
                "quote": "AUD",
                "market": "AVAX-AUD",
                "status": "Online",
                "price_decimals": 2,
                "amount_decimals": 8,
                "min_ord
…(truncated, see openapi.json for full schema)
```

### Book

#### `GET /v1/book` — Live order-book depth with running spread

**Parameters:**
- `market` (query, optional, string) — Market as BTC-AUD Example: `BTC-AUD`
- `limit` (query, optional, string) — Depth per side (1-100) Example: `20`

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

**Response:**
```json
{
    "data": {
        "asks": [
            {
                "price": 89515.91,
                "amount": 0.111
            },
            {
                "price": 89515.98,
                "amount": 0.17166582
            },
            {
                "price": 89516,
                "amount": 0.01
            },
            {
                "price": 89535.04,
                "amount": 0.0302
            },
            {
                "price": 89592.28,
                "amount": 0.2573
            },
            {
                "price": 89592.29,
                "amount": 0.112317
            },
            {
                "price": 89592.33,
                "amount": 0.09
            },
            {
                "price": 89607.03,
                "amount": 0.111
            },
            {
                "price": 89607.04,
                "amount": 0.0151
            },
            {
                "price": 89620.32,
                "amount": 0.0774
            },
            {
                "price": 89696,
                "amount": 0.01
            },
            {
                "price": 89727.57,
                "amount": 0.08
            },
            {
                "price": 89727.58,
                "amount": 0.0528
            },
            {
                "price": 89737.07,
                "amount": 0.0774
            },
            {
                "price": 89846.74,
                "amount": 0.04968075
            },
            {
   
…(truncated, see openapi.json for full schema)
```

### Meta

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

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

**Response:**
```json
{
    "data": {
        "note": "Markets are BASE-QUOTE (BTC-AUD). The default quote is the Australian dollar (AUD). quote_volume_24h is the 24h turnover in the quote currency; the open is derived from last - price24h.",
        "source": "BTC Markets public API (api.btcmarkets.net/v3, live)",
        "service": "btcmarkets-api",
        "endpoints": {
            "GET /v1/book": "Live order-book depth — best bid/ask and spread (market=BTC-AUD, limit=20).",
            "GET /v1/meta": "This document.",
            "GET /v1/ticker": "Ticker for one market (market=BTC-AUD or base=BTC&quote=AUD).",
            "GET /v1/markets": "Tradable pairs with base/quote and precision (quote=AUD optional).",
            "GET /v1/tickers": "All markets for a quote ranked by 24h turnover (quote=AUD, limit=50)."
        },
        "description": "Live spot market data from BTC Markets, Australia's established crypto exchange. The ticker endpoint returns a market's last price, best bid/ask, 24h high/low, 24h change and base/quote volume; the tickers endpoint ranks every market for a quote currency (AUD, BTC or USDT) by 24h turnover; the markets endpoint lists tradable pairs with base/quote and precision; the book endpoint returns live order-book depth. Live, no key, nothing stored. A distinct Australian-dollar venue for AUD price discovery, separate from the USDT-quoted exchange feeds.",
        "market_count": 49,
        "upstream_status": "ok"
    },
    "meta": {
        "timestamp": "20
…(truncated, see openapi.json for full schema)
```


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