Cryptocurrency Data Dictionary

Trade Data*

Raw tick by tick cryptocurrency historical trade data Kaiko

Tick-Level Trade Data

Every executed transaction on an exchange, including the price, volume, and trade direction.

Trade Data
Raw tick by tick cryptocurrency historical trade data Kaiko

OHLCV Candlesticks 

[Open, High, Low, Close, Volume] candlestick data in granularities ranging from 1 minute to 1 day. 

OHLCV
historical cryptocurrency OHLCV data Kaiko

VWAP (Average Price)

[Volume Weighted Average Price] in granularities ranging from 1 minute to 1 day.

VWAP

*Available for both centralized and decentralized exchanges

Order Book Data

historical cryptocurrency OHLCV data Kaiko

Order Book Snapshots

All bids and asks placed within 10% of the mid price. Snapshots are taken twice per minute.

Snapshots
raw orderbook cryptocurrency data Kaiko

Tick-Level Order Books

Incremental updates of all added, changed, and removed bids and asks on an order book. 

Tick OB
VWAP cryptocurrency historical data Kaiko

Top of Book

Tick-level updates of the best bid and best ask on an order book (quotes). 

Top of Book
Raw tick by tick cryptocurrency historical trade data Kaiko

Aggregated Market Depth

The cumulative quantity of bids and asks at different % ranges from the mid price.

Aggregated Depth
raw orderbook cryptocurrency data Kaiko

Price Slippage

Simulated slippage for custom order sizes, calculated using raw snapshots.

Slippage
VWAP cryptocurrency historical data Kaiko

Bid-Ask Spread

The difference between the best ask and the best bid, derived from order book snapshots.

Spread

Analytics

Raw tick by tick cryptocurrency historical trade data Kaiko

Derivatives Data

Open interest, implied volatility, funding rates, and more derivatives-specific data.

Derivatives

Pricing and Valuation

Raw tick by tick cryptocurrency historical trade data Kaiko

Valuation Services

Single and multi-asset reference rates designed for NAV calculations and portfolio valuation.

Valuation Services
Raw tick by tick cryptocurrency historical trade data Kaiko

Cross Prices

Fiat conversions into USD, EUR, GBP, JPY, and more for all crypto assets.

Exchange Rates
Raw tick by tick cryptocurrency historical trade data Kaiko

Asset Prices

A composite price for crypto assets aggregated across all or a custom selection of exchanges. 

Reference Rates

Tick-Level Trade Data

Trade Data is a general term for tick-level data, or all executed transactions occurring on an exchange. Our trade datasets consist of all tick-by-tick trade data,  normalized and timestamped. We began trade data collection in 2011 and add new exchanges on a continual basis. Today, we provide historical and live trade data for 100+ centralized and decentralized exchanges (both spot and derivatives markets). For DEXs, we provide full history since the exchange launched.

Request Trade Data
Browse Coverage

The data format below is available in CSV files and through REST. Trade data is also available through Kaiko Stream in a different format, described in the tick-level order book section of our Data Dictionary. 

VariableDescription                  
IDUnique trade ID (unique to the exchange). Trade ID's come directly from the exchange. If an exchange does not provide a trade ID, we will generate it ourselves. 
ExchangeInternal Kaiko symbol used for the exchange.
SymbolCurrency pair 
Date Epoch timestamp in milliseconds. You can learn more about timestamps, including how to convert them to human readable form here
PriceDisplayed in the quote currency
AmountQuantity of asset bought or sold, displayed in base currency
SellTrue or False, referring to the trade direction (detailed description of variable here). A trade marked as 'true' means that a price taker placed a market sell order. 

Additional Information

OHLCV Candlesticks 

OHLCV is an aggregated form of market data standing for Open, High, Low, Close and Volume. OHLCV data includes 5 data points: the Open and Close represent the first and the last price level during a time interval. High and Low represent the highest and lowest reached price during that interval. Volume is the total amount traded during that period. This data is most frequently represented in a candlestick chart, which allows traders to perform technical analysis on intraday values. We provide OHLCV data in granularities ranging from 1 minute to 1 day. 

Our OHLCV datasets can also be combined with VWAP and Trade Count data. Trade count is the number of trades that occurred over the interval. 

Request OHLCV Data
Browse Coverage

The below schema is for our combined dataset, which includes Count-OHLCV-VWAP. For clients who just purchase OHLCV data, the dataset will only contain the timestamp and OHLCV data points.

VariableDescription                  
TimestampEpoch timestamp in milliseconds. You can learn more about timestamps, including how to convert them to human readable form, here. The timestamp for all aggregates corresponds with the beginning of the time interval.
CountNumber of trades occurring over the time interval of the data set. For example, '231' for minute granularity would mean that 231 raw trades occurred over the minute. 
OpenOpening price in quote currency (for BTCUSD, USD is the quote curency)

HighHighest price reached during the timeframe, in quote currency
LowLowest price reached during the timeframe, in quote currency

CloseClosing price of the timeframe in quote currency 
VolumeVolume traded in the timeframe in base currency

VWAPVolume Weighted Average Price in quote currency

Additional Information

VWAP (Average Price)

VWAP, or Volume Weighted Average Price, is the average price of an asset over a time interval, weighted by volume. VWAP is an aggregated form of trade data. The formula for calculating VWAP is: ∑Price * Volume / ∑Volume. We provide VWAP in granularities ranging from 1 minute to 1 day.

Request DataBrowse Coverage
VariableDescription                  
TimestampEpoch timestamp in milliseconds. You can learn more about timestamps, including how to convert them to human readable form, here. The timestamp for all aggregates corresponds with the beginning of the time interval.
VWAPVolume Weighted Average Price in quote currency

Order Book Snapshots

An order book is a list containing all outstanding buy or sell orders for an asset, organized by price level. An order to buy is called a ‘bid’ and an order to sell is called an ‘ask’. The exchange’s matching engine pairs up bids and asks with market buy/sell orders, resulting in a trade. Kaiko provides level 2 order book snapshots, aggregated by price level. We take two order book snapshots per minute for all instruments and exchanges that we cover. Our order book snapshots include all bids and asks placed within 10% of the midprice, at the time the snapshot was taken.  

Data format used in CSV files and through REST.

VariableDescription                  
DateEpoch timestamp in milliseconds. You can learn more about timestamps, including how to convert them to human readable form, here
Typea = ask, b = bid. An ask is an order placed to sell, a bid to buy. 
PriceDisplayed in the quote currency
AmountQuantity of asset to buy or sell, displayed in the base currency

Additional Information

Tick-Level Order Books

Our tick-level order books are the most granular and comprehensive order book data in the industry. We redistribute every incremental tick-level updates or "delta" to the order book as they happen in real-time. This includes every added, changed or removed bid and ask, the price level, amount, and the corresponding timestamps and sequence ID. All order book data is normalized into a single schema across top-tier exchanges, enabling our clients to easily compare order book feeds for thousands of instruments.

The first version of our tick-level order book product is available through Kaiko Stream with rolling 5 weeks of history. We will soon offer historical CSV files.  

Tick-level order books are available through Kaiko Stream in an endpoint called "Market Update." Through this endpoint, you can also receive trade data and Top of Book data. The below schema is the same no matter the data type, which is differentiated by the "Commodity" and "Update" fields.  

VariableDescription                  
Commodity
The type of data. There are three options: SMUC_Full_Order_Book, SMUC_Top_of_Book, and SMUC_Trade

SMUC_Full_Order_Book denotes an updated tick-level order book event. SMUC_Top_of_Book denotes any update to the best bid/best ask. SMUC_Trade denotes a trade.
AmountThe quantity of the base asset
ClassThe internal Kaiko classification denoting whether an instrument is a spot, future, perpetual future, or option.
Code The currency pair, for example BTC-USD
Exchange 
The exchange code, for example "cbse" (Coinbase)
Sequence ID
The unique sequence ID created by Kaiko used to order all events. This can be used to re-build an internally maintained order book. 
Price
The price level at which the bid or ask is to be placed. 
tsExchange
Exchange-provided timestamp of the event. 
tsCollectionTimestamp at which the event entered Kaiko's infrastructure. Millisecond precision.
tsEventThe emission timestamp created by Kaiko. Millisecond precision. 
UpdateThe type of event. There are 6 options: TRADE_SELL, TRADE_BUY, UPDATED_BID, UPDATED_ASK, BEST_BID, BEST_ASK

Additional Information

Top of Book

Top of Book data comprises the best bid and best ask for a traded instrument. This data is derived from Kaiko's tick-level order book data and is updated at that frequency. Clients can access top of book data for any combination of currency pair and exchange. The first version of Top of Book is available through Kaiko Stream with 5 weeks of rolling history. In early 2022 we will launch historical CSV files.  

Top of Book is available through Kaiko Stream in an endpoint called "Market Update." Through this endpoint, you can also receive trade data and full order book data. The below schema is the same no matter the data type, which is differentiated by the "Commodity" and "Update" fields.  

VariableDescription                  
Commodity
The type of data. There are three options: SMUC_Full_Order_Book, SMUC_Top_of_Book, and SMUC_Trade

SMUC_Full_Order_Book denotes an updated tick-level order book event. SMUC_Top_of_Book denotes any update to the best bid/best ask. SMUC_Trade denotes a trade.
AmountThe quantity of the base asset
ClassThe internal Kaiko classification denoting whether an instrument is a spot, future, perpetual future, or option.
Code The currency pair, for example BTC-USD
Exchange 
The exchange code, for example "cbse" (Coinbase)
Sequence ID
The unique sequence ID given by the exchange used to order all events. This can be used to re-build an internally maintained order book.
Price
The price level at which the bid or ask is to be placed. 
tsExchange
Exchange provided timestamp of the event. 
tsCollectionTimestamp at which the event entered Kaiko's infrastructure.
tsEventThe emission timestamp created by Kaiko. 
UpdateThe type of event. There are 6 options: TRADE_SELL, TRADE_BUY, UPDATED_BID, UPDATED_ASK, BEST_BID, BEST_ASK

Bid-ask Spread

The spread is the difference between the best bid and the best ask on an instrument's order book and can be used as an indicator of liquidity. Kaiko's spread data is derived directly from our order book snapshots, which are taken twice per minute. We can provide real-time spreads and up to 1 month of historical spreads through our API, but can create custom CSV file generations if more history is required. We can also provide averages of spread data at intervals ranging from 1 minute to 1 day. 

Visualization of Kaiko's bid-ask spread data. We chart the average hourly spread for BTC-USD trading pairs on 6 exchanges.

Aggregated Market Depth

Aggregated market depth is the cumulative sum of all bids and asks on an order book snapshot at different intervals from the mid price. Aggregated market depth is derived directly from our raw order book snapshots which are taken twice per minute. The “deeper” an order book, the larger the quantity of bids and asks on either side of the mid price. Generally, deeper order books indicate that a market is more liquid and can support bigger market orders. 

Market depth is available through our API, both real-time and with up to 1 month of history. Custom CSV file generations are also available for longer historical timeframes. We can provide aggregated depth for both the bid side and the ask side at the following ranges from the mid price: 0.1%, 0.2%, 0.3%, 0.4%, 0.5%, 0.6%, 0.7%, 0.8%, 0.9%, 1%, 1.5%, 2%, 4%, 6%, 8% and 10%. We can also provide average market depth at intervals ranging from 1 minute to 1 day. For more information on market depth, view our article here

Visualization of Kaiko's market depth data. We chart the average hourly market depth for the BTC-USD pair on Coinbase.

VariableDescription                  
Bid_volume_xThe volume of bids placed within 0 and x% of the midprice. For example, bid_volume0_1 includes the sum of bids placed within 0 and .1% of the midprice. Bid_volume_10 would include the cumulative sum of all bids placed within 10% of the midprice. 
Ask_volume_xThe volume of asks placed within 0 and x% of the midprice. For example, ask_volume0_1 includes the sum of bids placed within 0 and .1% of the midprice. Ask_volume_10 would include the cumulative sum of all bids placed within 10% of the midprice. 

Price Slippage

Price sllippage is the difference between the expected price of a trade and the price at which the trade is fully executed. Slippage can result from two events: A change in the bid/ask spread in between the time a trade is placed and the trade is filled or insufficient order book depth to support large market orders. Simulating slippage before executing a trade is important in cryptocurrency markets and should be incorporated into strategy backtesting.

Order book data is required to simulate slippage, which is why Kaiko developed a “slippage calculator” which is used on order book snapshots to calculate slippage for custom order sizes. Kaiko's slippage calculator is available through our API and can be used for any order size. For example, we can simulate slippage for a $50,000 market buy order by running this order through our raw order book snapshots.  A percentage is returned which represents the difference between the expected price at the time of the simulated trade and the average price level required to fully fill the $50k order.

We can provide slippage for up to 1 month of history through our API for any order size, but can create custom CSV file generations with further history if needed. We also provide slippage at averages ranging from 1 minute to 1 day. For a full explanation of Kaiko's slippage data, view our article here

Visualization of Kaiko's slippage data. We chart the hourly average slippage on the bid side of an order book for a $100k market sell order.

VariableDescription                  
Bid_slippageThe percentage price slippage for a market sell order placed at the time that the order book snapshot was taken. The percentage is calculated by running the order size you specify through every bid on the order book until the order has been filled. For example, if you specify $100,000 as the order size you want to simulate, the calculation will fill this simulated sell order with all bids on the order book, and return a percentage in decimal form that represents the difference in price from either the midprice or best bid. The difference in price is calculated from the the midprice (or price level at the best bid) at the time the order book snapshot was taken and the last price level required to fully fill the simulated order.
Ask_slippageThe percentage price slippage for a market buy order placed at the time that the order book snapshot was taken. The percentage is calculated by running the order size you specify through every ask on the order book until the order has been filled. For example, if you specify $100,000 as the order size you want to simulate, the calculation will fill this simulated buy order with all asks on the order book, and return a percentage in decimal form that represents the difference in price from either the midprice or best bid. The difference in price is calculated from the the midprice (or price level at the best bid) at the time the order book snapshot was taken and the last price level required to fully fill the simulated order.

Cryptocurrency Derivatives Data

Derivatives-specific data unique to futures, options, and perpetual futures contracts. This includes everything from funding rates to implied volatility to open interest, depending on the contract type and the data provided by each individual exchange. We currently provide real-time and historical derivatives data, updated once per minute, available through our REST API. Data collection began in August 2020. 

We currently provide data collected from futures, options and perpetual futures contracts from the following exchanges: BitMEX, Deribit, OKEx, Kraken Futures, FTX, Binance Futures and Bybit. More exchanges (such as HuobiDM, CME, and Bitflyer) will be added soon. For all derivatives contracts, we provide our standard historical and live market data offering, including trades, order books, and aggregates. 

Request Trial
View API Documentation
VariableDescription                  
24_volumeThe total 24h traded volume (in base currency)
AskThe current best ask price. `null` when no asks are placed
BidThe current best bid price. `null` when no bids are placed.
Index_priceThe price of the underlying index. 
Mark_priceThe mark price of the contract. The mark price is calculated from the index price, often as a weighted average across multiple exchange's spot price, in order to avoid price manipulation. 
Open_interestThe total oustanding number of contracts.
ExpiryThe contract expiry date. 
PriceThe latest recorded spot price.

Additional Information

Pricing and Valuation Services

Our pricing and valuation tool enables any financial professional to build completely customizable single-asset and multi-asset price feeds for NAV calculations, portfolio valuation, asset allocation strategies, and indices. Our flexible design gives the ability to customize the data sources, frequency, time windowing, outlier management, and asset weighting that matches any pricing and valuation use case. Both live and historical data is available through our API endpoint or in CSV files, upon request. 

Through our Pricing and Valuation API endpoint, we enable any of the below parameters to be specified in order to build a single-asset or multi-asset data feed. For clients who require historical CSV files, we will ask for the below information in order to generate the files. 

VariableDescription                  
Start TimeFirst fixing date of the calculation
End TimeLast fixing date of the calculation
IntervalFrequency after the first fixing. Select an interval to receive price updates ranging from 1 minute (intraday) to 1 day (daily close at any time or average daily price).
Semi-length Window
The time interval to compute the transaction. For example, a semi-length window of 15 minutes would only include data within +/- 15 minutes from the interval requested. 
QuoteSelect which fiat currency you would like the rate to be denominated in. We offer standard USD rates in addition to EUR, GBP, and 20+ fiat currencies.
WeightsFor multi-asset price feeds, select which weight to assign each crypto asset used in the calculation depending on portfolio allocation. For single-asset feeds, simple input "1" as the weight. 
ExchangeInput a custom selection of trustworthy exchanges or opt to use data from all exchanges. 
PercentagesSelect a custom percentile of data points to filter out at the trade level. Multiple percentiles can be calculated at once. 
SourcesAn optional parameter that when included, provides a list of every instrument-level data aggregation used in the calculation. 

Additional Information

Asset Prices

Reference rates can be used for asset pricing, valuation, and any use case requiring an aggregated price for a crypto asset. Our reference rates are provided at the asset level, and aggregate price data across multiple exchanges. For example, a Bitcoin Reference Rate denominated in USD would be calculated using price feeds from BTC-USD pairs aggregated across all or a custom selection of exchanges that offer this pair. 

We enable clients to select any combination of exchanges as inputs for the calculation of our reference rates. We can also provide recommendations for exchanges to be used in the calculation. We provide historical and live Reference Rates through our API at intervals ranging from 1 minute to 1 day. We offer an optional parameter to have the output data include exactly which exchanges we pulled data from to form the aggregation, along with the individual VWAP data points used to calculate the rate.

VariableDescription                  
TimestampTimestamp at which the price interval begins.
PriceOur reference rates are calculated by taking the volume weighted average price (VWAP) of all instrument-level VWAP's from a selection of exchanges. Clients can select which exchanges they would like as constituents in the calculation. 
VolumeTotal volume traded on the constituent exchanges over the reference rate interval.
CountTotal amount of trades reported during interval

Cross Prices

Not every crypto asset trades against USD so we developed an exchange rate methodology for determining a cross rate calculation. Our exchange rate API endpoint returns the price of any crypto asset in USD, EUR, GBP, AUD, NZD, and dozens of other fiat currencies. The difference between this endpoint and Reference Rates is that Reference Rates will not give a USD price if that asset does not natively trade against USD. This can be inconvenient if you need to standardize volume calculations across all exchanges or want to view standardized prices in a single currency. 

The USD price is calculated based on the path of the highest liquidity. Our liquidity gauge is currently the volume traded. With our API endpoint, we include an optional parameter to display the data used as input for the calculation of the exchange rate price and the path which was followed. In cases where the most liquid path changed over time, this will be taken into account in the calculation of the price for each interval. You can read our documentation for this endpoint here

Exchange Cross Rates are available in granularities ranging from 1 minute to 1 day. 

VariableDescription                  
TimestampTimestamp at which the price interval begins.
PriceOur reference rates are calculated by taking the volume weighted average price (VWAP) of all instrument-level VWAP's from a selection of exchanges. Clients can select which exchanges they would like as constituents in the calculation. 
Section

Get Started With Kaiko Today

We can set up a trial of our full data services or provide a custom price quote if you let us know about your data requirements.

Kaiko's Research Newsletter