> For the complete documentation index, see [llms.txt](https://docs.koinju.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.koinju.io/exchanges/kucoin-future.md).

# KuCoin Futures historical trade data

KuCoin Futures historical trade data since 2023-01-01, available through SQL or REST in one unified schema and checked every day against KuCoin's own data.

Koinju provides KuCoin Futures trades and OHLCV candles for all markets since **2023-01-01**, under the exchange ID `kucoin-future`. This page explains what that gives you compared with KuCoin's own API, how we collect the data, and how we verify that no trades are missed.

{% hint style="info" %}
How far back you can query depends on your plan: see [Pricing](/pricing.md). Every exchange and its start date is listed on [Coverage](/data/coverage.md).
{% endhint %}

## Why use Koinju for KuCoin data

* **Full history in one place.** KuCoin publishes its trade history as daily trade files ([KuCoin historical data](https://www.kucoin.com/markets/historydata)), which our volume check uses to add missing trades. Koinju provides it as one continuous history since 2023-01-01, aligned to UTC days and queryable for any period through SQL or REST.
* **One schema across exchanges.** Unified symbols and columns across every exchange we cover, KuCoin included, so the same query works on all of them.
* **Checked against KuCoin's own data.** Every day, each market's volume is compared with KuCoin's own daily candle and any missing trades are added.
* **Faithful to KuCoin.** KuCoin's own trade IDs and trade times.

## At a glance

| Property              | Value                                                                              |
| --------------------- | ---------------------------------------------------------------------------------- |
| Exchange ID           | `kucoin-future`                                                                    |
| Historical data since | 2023-01-01                                                                         |
| Data types            | Public trades, OHLCV                                                               |
| Collected from        | KuCoin's real-time WebSocket, trade channel (`/contractMarket/execution:<symbol>`) |
| Volume check          | Every day, against KuCoin's UTC daily candles                                      |

## How we collect KuCoin trades

* **Every match, in real time.** We subscribe to KuCoin's [trade channel](https://www.kucoin.com/docs-new/3470084w0) (`/contractMarket/execution:<symbol>`) for every KuCoin Futures market listed as open. For each order executed, KuCoin sends a match message in real time, and each row keeps KuCoin's own trade ID.
* **New listings picked up automatically.** The market list is refreshed every minute, and new markets are subscribed without a restart.
* **Active redundancy.** Every market is collected twice, by two collectors running in parallel. If one connection drops, it reconnects and resubscribes automatically while the other keeps collecting trades. Both copies of a trade share one key (exchange, market and trade ID), so the second copy is dropped before storage, and anything missed is recovered by the checks below.
* **KuCoin's timestamps.** A trade's `timestamp` is the trade time reported by KuCoin, not the time we received it.

## From KuCoin's message to your data

Each trade KuCoin publishes is stored as one row, with KuCoin's fields mapped to the same columns used for every exchange:

| KuCoin field | Koinju column | Notes                                                  |
| ------------ | ------------- | ------------------------------------------------------ |
| `symbol`     | `market`      | Koinju's universal symbol, for example `BTC-USDT-PERP` |
| `tradeId`    | `trade_id`    | KuCoin's own trade ID                                  |
| `price`      | `price`       | KuCoin's trade price                                   |
| `size`       | `quantity`    | Number of contracts, as KuCoin publishes it            |
| `side`       | `side`        | The trade's side, as KuCoin publishes it               |
| `ts`         | `timestamp`   | KuCoin's trade time                                    |

## How we verify that no KuCoin trades are missed

### Volume check against KuCoin's own candles

The reference is KuCoin's own daily candle for each UTC day. A daily candle is only final once the day has closed, so each day is checked the morning after, against KuCoin's final figures for that day. The daily rhythm follows the reference data rather than an arbitrary time window.

1. **Compare.** Each market's volume for the UTC day is compared with KuCoin's daily candle. Markets where our volume is lower than KuCoin's go to step 2.
2. **Add.** For those markets, the comparison is repeated hour by hour. The trades of the hours that differ are fetched from KuCoin's daily trade files, and only trades we do not already hold are added.
3. **Re-check.** The whole comparison runs again on the updated data, and any difference that remains is flagged for review.

A day is marked as checked only after all three steps complete. If any step fails, the day stays open and is retried on the next run.

## KuCoin-specific details

* **UTC daily candles.** KuCoin's Futures daily candles (`granularity=1440`) start at 00:00 UTC, the same day boundaries as our daily total.
* **The exact figure compared.** The volume check compares the daily candle's transaction volume, which KuCoin counts in lots, that is contracts ([KuCoin docs](https://www.kucoin.com/docs-new/rest/futures-trading/market-data/get-klines)), with the sum of the trade quantities we hold for that day.
* **Quantities in contracts.** KuCoin publishes futures trade sizes as a number of contracts, and we store them as published. Each contract's value is set by the market's multiplier, for example 0.001 BTC per `XBTUSDTM` contract and 1 USD per `XBTUSDM` contract ([KuCoin docs](https://www.kucoin.com/docs-new/rest/futures-trading/market-data/get-all-symbols)).

## Access KuCoin data

* [Public trades](/data/public-trades.md): every trade, through SQL (`api.trade`) or REST, with `exchange = 'kucoin-future'`.
* [OHLCV](/data/ohlcv.md): candles for every market.
* [Market list](/data/market-list.md): all `kucoin-future` markets and their symbols.
* [How to connect](/how-to-connect.md): SQL, REST and client setup.

## FAQ

**Why are KuCoin Futures quantities in contracts?**

KuCoin publishes futures trade sizes as a number of contracts, and we store them as published. Each market's contract size is listed on the [Market list](/data/market-list.md) (`contract_size`).

**Which timestamp does Koinju store?**

The trade time reported by KuCoin.

**Which KuCoin Futures markets are included?**

Every futures market KuCoin lists as open. The market list is refreshed every minute, so a new listing is subscribed within a minute of appearing in KuCoin's market list.
