# Crypto Trade Size Distribution API
> Who is actually trading a pair — retail or whales — read from the composition of Binance's aggregated trade tape by trade size, no key, nothing stored. Order flow tells you the net direction; this tells you the size profile behind it: whether a move is driven by a swarm of small retail prints or a handful of large institutional ones, often the more important signal. The distribution endpoint scans the recent aggregated trades for a pair and buckets them into size cohorts (micro under $1k, retail $1k-$10k, mid $10k-$100k, whale over $100k), returning each cohort's trade count, volume in base and quote and its share of total volume, plus the whale-volume share — the single read on how institutional the flow is. The percentiles endpoint returns the trade-size percentiles (p50, p90, p99) and the average, median and largest trade. The symbols endpoint lists tradable pairs. This is the trade-size composition / participant-mix analytics cut for crypto — distinct from the order-flow / CVD API (which measures buy-versus-sell direction), the order-book depth, the slippage and the price APIs in the catalogue. Pairs are Binance symbols (BTCUSDT) or a coin=BTC&quote=USDT form.

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

## Pricing
- **Free** (Free) — 400 calls/Mo, 2 req/s
- **Starter** ($12/Mo) — 11,800 calls/Mo, 6 req/s
- **Pro** ($36/Mo) — 66,000 calls/Mo, 18 req/s
- **Business** ($81/Mo) — 350,000 calls/Mo, 45 req/s

## Endpoints

### Trade Size

#### `GET /v1/distribution` — Trade volume by size cohort + whale share

**Parameters:**
- `symbol` (query, required, string) — Binance pair Example: `BTCUSDT`
- `trades` (query, optional, string) — Recent trades to scan (200-5000, default 2000) Example: `3000`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/tradesize-api/v1/distribution?symbol=BTCUSDT&trades=3000"
```

**Response:**
```json
{
    "data": {
        "note": "trades bucketed by USD notional: micro <$1k, retail $1k-$10k, mid $10k-$100k, whale >$100k. volume_share_pct is each cohort's share of total quote volume. A high whale share means the flow is institution-driven.",
        "source": "Binance",
        "symbol": "BTCUSDT",
        "cohorts": [
            {
                "label": "under $1k",
                "cohort": "micro",
                "trades": 2665,
                "base_volume": 4.05765,
                "quote_volume": 257055.77,
                "volume_share_pct": 4.66
            },
            {
                "label": "$1k-$10k",
                "cohort": "retail",
                "trades": 249,
                "base_volume": 10.28481,
                "quote_volume": 651526.46,
                "volume_share_pct": 11.8
            },
            {
                "label": "$10k-$100k",
                "cohort": "mid",
                "trades": 77,
                "base_volume": 49.68285,
                "quote_volume": 3147735.64,
                "volume_share_pct": 57.02
            },
            {
                "label": "over $100k",
                "cohort": "whale",
                "trades": 9,
                "base_volume": 23.10244,
                "quote_volume": 1463843.18,
                "volume_share_pct": 26.52
            }
        ],
        "trades_scanned": 3000,
        "window_seconds": 478.8,
        "total_quote_volume": 5520161.06,
        "whale_volume_sh
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/percentiles` — Trade-size percentiles & averages

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

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

**Response:**
```json
{
    "data": {
        "note": "trade-size percentiles over the recent tape: pN is the size below which N% of trades fall (quote = USD notional, base = coin amount).",
        "source": "Binance",
        "symbol": "BTCUSDT",
        "trades_scanned": 2000,
        "avg_trade_quote": 2427.69,
        "base_percentiles": {
            "p25": 0.00016,
            "p50": 0.00045,
            "p75": 0.003072,
            "p90": 0.020519,
            "p99": 1
        },
        "quote_percentiles": {
            "p25": 10.13,
            "p50": 28.5,
            "p75": 194.55,
            "p90": 1299.82,
            "p99": 63352.45
        },
        "median_trade_quote": 28.5,
        "largest_trade_quote": 189038.6
    },
    "meta": {
        "timestamp": "2026-06-12T01:41:08.726Z",
        "request_id": "2fbfaa9d-e9c7-47da-8135-a87006e37754"
    },
    "status": "ok",
    "message": "Percentiles retrieved successfully",
    "success": true
}
```

#### `GET /v1/symbols` — Tradable Binance pairs

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

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

**Response:**
```json
{
    "data": {
        "count": 435,
        "quote": "USDT",
        "source": "Binance",
        "symbols": [
            "0GUSDT",
            "1000CATUSDT",
            "1000CHEEMSUSDT",
            "1000SATSUSDT",
            "1INCHUSDT",
            "1MBABYDOGEUSDT",
            "2ZUSDT",
            "AAVEUSDT",
            "ACEUSDT",
            "ACHUSDT",
            "ACMUSDT",
            "ACTUSDT",
            "ACXUSDT",
            "ADAUSDT",
            "ADXUSDT",
            "AEURUSDT",
            "AEVOUSDT",
            "AGLDUSDT",
            "AIGENSYNUSDT",
            "AIUSDT",
            "AIXBTUSDT",
            "ALCXUSDT",
            "ALGOUSDT",
            "ALICEUSDT",
            "ALLOUSDT",
            "ALPINEUSDT",
            "ALTUSDT",
            "AMPUSDT",
            "ANIMEUSDT",
            "ANKRUSDT",
            "APEUSDT",
            "API3USDT",
            "APTUSDT",
            "ARBUSDT",
            "ARDRUSDT",
            "ARKMUSDT",
            "ARKUSDT",
            "ARPAUSDT",
            "ARUSDT",
            "ASRUSDT",
            "ASTERUSDT",
            "ASTRUSDT",
            "ATMUSDT",
            "ATOMUSDT",
            "ATUSDT",
            "AUCTIONUSDT",
            "AUDIOUSDT",
            "AUSDT",
            "AVAUSDT",
            "AVAXUSDT",
            "AVNTUSDT",
            "AWEUSDT",
            "AXLUSDT",
            "AXSUSDT",
            "BABYUSDT",
            "BANANAS31USDT",
            "BANANAUSDT",
          
…(truncated, see openapi.json for full schema)
```

### Meta

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

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

**Response:**
```json
{
    "data": {
        "note": "symbol is a Binance pair (BTCUSDT) or coin=BTC&quote=USDT. Up to 5000 recent trades scanned (trades=N, default 2000). Cohorts are by USD notional. Read fresh per call; only the tradable-symbol list is cached hourly.",
        "source": "Binance public REST (api.binance.com/api/v3/aggTrades, live)",
        "service": "tradesize-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/symbols": "Tradable Binance pairs, optionally filtered by quote (quote=USDT).",
            "GET /v1/percentiles": "Trade-size percentiles, average, median and largest trade (symbol=BTCUSDT).",
            "GET /v1/distribution": "Trade volume by size cohort + whale share (symbol=BTCUSDT, trades=2000)."
        },
        "description": "Crypto trade-size distribution — the participant mix (retail vs whales) behind a pair's volume, from Binance's aggregated trade tape (no key, nothing stored). distribution buckets recent trades into size cohorts (micro <$1k, retail $1k-$10k, mid $10k-$100k, whale >$100k) with each cohort's count, volume and share, plus the whale-volume share. percentiles returns the trade-size percentiles (p50/p90/p99), the average, median and largest trade. symbols lists tradable pairs. The trade-size composition / participant-mix cut — distinct from the order-flow/CVD API (buy-vs-sell direction), order-book depth and price APIs.",
        "trading_symbols": 1370,
        "upstream_status": "ok"
    },
 
…(truncated, see openapi.json for full schema)
```


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