# trades stream

> HyperCore private-preview documentation.

> For the complete documentation index, see [llms.txt](/docs/llms.txt).

<Callout intent="info">
  This API is in private preview. Target September 2026; timing is subject to change.
</Callout>


# trades stream

Subscribe to real-time trades for one market.

## Subscribe

```json
{
  "method": "subscribe",
  "subscription": {
    "type": "trades",
    "coin": "BTC"
  }
}
```

## Event

```json
{
  "channel": "trades",
  "data": [
    {
      "coin": "BTC",
      "side": "B",
      "px": "72581.0",
      "sz": "0.00017",
      "time": 1787259217020,
      "hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
      "tid": 877707108085800,
      "users": [
        "0x9b54264d7502f80163ea949038aad771eae67e38",
        "0x706bb519b05b7dc01d048af9a5e29d1ef5d6d9e3"
      ]
    }
  ]
}
```

## Payload fields

| Field | Type | Description |
| --- | --- | --- |
| data | array | Trade records. |
| data[] | object | Trade record. |
| data[].coin | string | Market symbol for the trade. |
| data[].side | string | Taker side: A is ask/sell; B is bid/buy. |
| data[].px | string | Trade price. |
| data[].sz | string | Trade size. |
| data[].time | integer | Trade time in milliseconds. |
| data[].hash | string | Layer-1 transaction hash for the trade. |
| data[].tid | integer | Trade identifier. |
| data[].users | array | Buyer and seller addresses, in that order. |

The taker is `users[0]` when `side` is `B`, and `users[1]` when `side` is `A`.

## Unsubscribe

```json
{
  "method": "unsubscribe",
  "subscription": {
    "type": "trades",
    "coin": "BTC"
  }
}
```