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 are placed within 10% of the best bid and best ask, respectively. Snapshots are taken twice per minute.

Snapshots
raw orderbook cryptocurrency data Kaiko

Tick-Level Order Book

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

Derivatives Data

Raw tick by tick cryptocurrency historical trade data Kaiko

Derivatives Metrics 

Futures, perpetual futures, and options metrics from the leading derivatives exchanges, in historical or real time format.

Derivatives
Raw tick by tick cryptocurrency historical trade data Kaiko

Derivatives Analytics

Implied Volatility Smiles and Surfaces updated every hour, adapted to risk management of options trading.

Derivatives

Pricing Services 

Raw tick by tick cryptocurrency historical trade data Kaiko

Custom Valuation

Customizable single and multi-asset price feeds designed for NAV and portfolio valuation.

Custom Valuation
Raw tick by tick cryptocurrency historical trade data Kaiko

Cross Prices

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

Cross Rates
Raw tick by tick cryptocurrency historical trade data Kaiko

Asset Prices

Volume-weighted prices aggregated across real trading pairs. 

Asset Prices
Raw tick by tick cryptocurrency historical trade data Kaiko

Aggregated Quotes 

Regulatory compliant crypto asset quotes, in real time

Quantitative Analytics

Raw tick by tick cryptocurrency historical trade data Kaiko

Value at Risk

Daily Value at Risk (VaR) estimator for single and multi-asset portfolios

Value at Risk

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 best bid and best ask +- 10%, 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. Upon connection, clients receive an order book snapshot and then incremental tick-level updates ("delta") as they happen in real-time. This includes every added, changed or removed price level and amount, 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 list of supported exchanges can be found on the API doc.


The tick-level order book product is available through Kaiko Stream with rolling 15 days of history and CSV files, which are created on a daily basis

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

Custom Valuation

Our custom valuation tool enables any financial professional to build 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. 

Kaiko can also provide recommendations for building robust price feeds and you can contact us below to learn more. 

Through our Custom 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

Asset prices are calculated using only real trading pairs for a crypto asset. For example, a Bitcoin asset price 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 also include the ability to receive the underlying instrument-level price feeds from each constituent exchange. 

Asset prices are optimal for simple trading and valuation, and let traders track volume-weighted prices across real trading pairs. We enable clients to select any combination of exchanges as inputs for the calculation of our asset prices and we can also provide our own recommendations for exchanges. We provide historical and live asset prices through our API at intervals ranging from 1 minute to 1 day. 

This data format occurs for when the optional API parameter "sources" is set to false. If you would like to receive the individual instrument-level price feed used to calculate each asset price, you can set "sources" to true, in which case the data format would also include an additional time series containing each individual constituent data point. You can view our API documentation for the full format

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 a synthetic exchange rate methodology for determining a cross rate calculation. Our Cross Prices API endpoint returns the price of any crypto asset in USD, EUR, GBP, AUD, NZD, and 100+ of other fiat currencies, and also includes the ability to convert prices into crypto units, such as BTC or ETH.

The difference between this pricing methodology and Asset Prices is that Asset Prices will not give a USD price if that asset does not natively trade against USD. This can be inconvenient if you need to standardize price and volume calculations across all exchanges. The synthetic cross rate is calculated based on the path of the highest liquidity. Our liquidity gauge is currently the volume traded. Cross Prices 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. 

Get started with Kaiko today

Let us know about your data requirements so we can set up a free trial of our data services or provide a custom price quote.