---
title: Trades (WebSocket)
description: Real-time individual and aggregated trade streams via WebSocket.
---

# Trades (WebSocket)

Subscribe to live trade data as individual ticks or time-batched OHLCV aggregations.
<div class="type-header">
<span class="type-tag">TRADE</span>
<span class="type-tag">TRADE_AGG</span>
</div>

## Type-specific parameters

These parameters are in addition to the common channel parameters.

| Parameter | Type | Applies to | Required | Description |
| --- | --- | --- | --- | --- |
| `batchInterval` | string | `TRADE_AGG` | No | Aggregation window (e.g., `200ms`, `1s`, `5s`). |

---

## Raw trades (`TRADE`)

Individual trades with price, size, and side.

### Subscribe

<CodeBlock lang="JSON">
<pre>{
  <span class="s-p">"jsonrpc"</span>: <span class="s-s">"2.0"</span>,
  <span class="s-p">"id"</span>: <span class="s-n">0</span>,
  <span class="s-p">"method"</span>: <span class="s-s">"public/subscribe"</span>,
  <span class="s-p">"params"</span>: {
    <span class="s-p">"channels"</span>: [
      {
        <span class="s-p">"type"</span>: <span class="s-s">"TRADE"</span>,
        <span class="s-p">"category"</span>: <span class="s-s">"*"</span>,
        <span class="s-p">"exchange"</span>: <span class="s-s">"BINANCE_FUTURES"</span>,
        <span class="s-p">"symbol"</span>: <span class="s-s">"BTCUSDT"</span>
      }
    ],
    <span class="s-p">"compression"</span>: <span class="s-s">"brotli"</span>,
    <span class="s-p">"version"</span>: <span class="s-s">"v2"</span>
  }
}</pre>
</CodeBlock>

### Response

<CodeBlock lang="JSON">
<pre>{
  <span class="s-p">"points"</span>: [
    {
      <span class="s-p">"series"</span>: {
        <span class="s-p">"type"</span>: <span class="s-s">"TRADE"</span>,
        <span class="s-p">"symbol"</span>: <span class="s-s">"BTCUSDT"</span>,
        <span class="s-p">"exchange"</span>: <span class="s-s">"BINANCE_FUTURES"</span>,
        <span class="s-p">"normalizedSymbol"</span>: <span class="s-s">"BTC-USDT"</span>,
        <span class="s-p">"category"</span>: <span class="s-s">"PERPETUAL"</span>,
        <span class="s-p">"side"</span>: <span class="s-s">"BUY"</span>,
        <span class="s-p">"coin"</span>: <span class="s-s">"BTC"</span>,
        <span class="s-p">"inverse"</span>: <span class="s-n">false</span>
      },
      <span class="s-p">"trade"</span>: {
        <span class="s-p">"id"</span>: <span class="s-s">"7126482260"</span>,
        <span class="s-p">"price"</span>: <span class="s-n">90003</span>,
        <span class="s-p">"amount"</span>: <span class="s-n">0.002</span>,
        <span class="s-p">"timestamp"</span>: {
          <span class="s-p">"seconds"</span>: <span class="s-n">1769058875</span>,
          <span class="s-p">"nanoseconds"</span>: <span class="s-n">830000000</span>
        }
      }
    }
  ]
}</pre>
</CodeBlock>

### Response fields

| Field | Type | Description |
| --- | --- | --- |
| `series.side` | Side | Trade side -- `BUY` or `SELL` |
| `trade.id` | string | Exchange trade ID |
| `trade.price` | double | Trade price |
| `trade.amount` | double | Trade size in base asset |
| `trade.timestamp` | Timestamp | Trade execution time (seconds + nanoseconds) |

---

## Aggregated trades (`TRADE_AGG`)

Trades batched into OHLCV candles over a rolling time window. Useful for rendering real-time charts without processing every individual tick.

### Subscribe

<CodeBlock lang="JSON">
<pre>{
  <span class="s-p">"jsonrpc"</span>: <span class="s-s">"2.0"</span>,
  <span class="s-p">"id"</span>: <span class="s-n">0</span>,
  <span class="s-p">"method"</span>: <span class="s-s">"public/subscribe"</span>,
  <span class="s-p">"params"</span>: {
    <span class="s-p">"channels"</span>: [
      {
        <span class="s-p">"type"</span>: <span class="s-s">"TRADE_AGG"</span>,
        <span class="s-p">"category"</span>: <span class="s-s">"*"</span>,
        <span class="s-p">"exchange"</span>: <span class="s-s">"BINANCE_FUTURES"</span>,
        <span class="s-p">"symbol"</span>: <span class="s-s">"BTCUSDT"</span>,
        <span class="s-p">"batchInterval"</span>: <span class="s-s">"200ms"</span>
      }
    ],
    <span class="s-p">"compression"</span>: <span class="s-s">"brotli"</span>,
    <span class="s-p">"version"</span>: <span class="s-s">"v2"</span>
  }
}</pre>
</CodeBlock>

### Response

<CodeBlock lang="JSON">
<pre>{
  <span class="s-p">"points"</span>: [
    {
      <span class="s-p">"series"</span>: {
        <span class="s-p">"type"</span>: <span class="s-s">"TRADE_AGG"</span>,
        <span class="s-p">"symbol"</span>: <span class="s-s">"BTCUSDT"</span>,
        <span class="s-p">"exchange"</span>: <span class="s-s">"BINANCE_FUTURES"</span>,
        <span class="s-p">"normalizedSymbol"</span>: <span class="s-s">"BTC-USDT"</span>,
        <span class="s-p">"category"</span>: <span class="s-s">"PERPETUAL"</span>,
        <span class="s-p">"session"</span>: <span class="s-s">"0"</span>,
        <span class="s-p">"side"</span>: <span class="s-s">"SELL"</span>,
        <span class="s-p">"coin"</span>: <span class="s-s">"BTC"</span>,
        <span class="s-p">"inverse"</span>: <span class="s-n">false</span>
      },
      <span class="s-p">"tradeAggregation"</span>: {
        <span class="s-p">"open"</span>: <span class="s-n">90004.8</span>,
        <span class="s-p">"high"</span>: <span class="s-n">90004.8</span>,
        <span class="s-p">"low"</span>: <span class="s-n">90004.8</span>,
        <span class="s-p">"close"</span>: <span class="s-n">90004.8</span>,
        <span class="s-p">"volume"</span>: <span class="s-n">0.02</span>,
        <span class="s-p">"timestamp"</span>: {
          <span class="s-p">"seconds"</span>: <span class="s-n">1769058939</span>,
          <span class="s-p">"nanoseconds"</span>: <span class="s-n">800000000</span>
        },
        <span class="s-p">"firstTimestamp"</span>: {
          <span class="s-p">"seconds"</span>: <span class="s-n">1769058939</span>,
          <span class="s-p">"nanoseconds"</span>: <span class="s-n">865000000</span>
        },
        <span class="s-p">"lastTimestamp"</span>: {
          <span class="s-p">"seconds"</span>: <span class="s-n">1769058939</span>,
          <span class="s-p">"nanoseconds"</span>: <span class="s-n">865000000</span>
        }
      }
    }
  ]
}</pre>
</CodeBlock>

### Response fields

| Field | Type | Description |
| --- | --- | --- |
| `series.side` | Side | Aggressor side for this batch |
| `tradeAggregation.open` | double | First trade price in the batch |
| `tradeAggregation.high` | double | Highest trade price |
| `tradeAggregation.low` | double | Lowest trade price |
| `tradeAggregation.close` | double | Last trade price |
| `tradeAggregation.volume` | double | Total volume in the batch |
| `tradeAggregation.timestamp` | Timestamp | Batch timestamp |
| `tradeAggregation.firstTimestamp` | Timestamp | Time of the first trade in the batch |
| `tradeAggregation.lastTimestamp` | Timestamp | Time of the last trade in the batch |