Cryptocurrency Data Dictionary

Raw tick by tick cryptocurrency historical trade data Kaiko

Tick-by Tick Trade Data

Every executed transaction on an exchange, including the price, volume, and timestamp at which the transaction occurred. 

Trade Data
VWAP cryptocurrency historical data Kaiko

Liquidity Measures

Market depth, bid/ask spread, price slippage calculator, and aggregated order books averaged over time intervals (1 min.- 1day).

Liquidity Measures
historical cryptocurrency OHLCV data Kaiko

Order Book Snapshots

Limit order book snapshots taken twice per minute, including all bids/asks placed within 10% of the midprice. 

Order Books
Raw tick by tick cryptocurrency historical trade data Kaiko

OHLCV Candlesticks 

[Open, High, Low, Close, Volume] candlestick data in granularities ranging from 1 second to 1 day, for all instruments.

OHLCV
raw orderbook cryptocurrency data Kaiko

Tick-by-Tick Order Books

Incremental tick-level updates/deltas of all bids and asks on an order book. L3 and L2 data available for top exchanges.

Tick Order Books
historical cryptocurrency OHLCV data Kaiko

VWAP (Average Price)

[Volume Weighted Average Price] data in granularities ranging from 1 second to 1 day, for all instruments.

VWAP
Raw tick by tick cryptocurrency historical trade data Kaiko

Exchange Rates

 A composite price for a crypto asset aggregated across all or a custom selection of exchanges. Fiat conversions available.

Exchange Rates
Raw tick by tick cryptocurrency historical trade data Kaiko

Count - OHLCV - VWAP

A combined dataset including trade count over time intervals ranging from 1 second to 1 day, and OHLCV and VWAP.

C-OHLCV-VWAP
Raw tick by tick cryptocurrency historical trade data Kaiko

Derivatives Data

Open interest, implied volatility, funding rates, and more live derivatives-specific data from all top exchanges.

Derivatives

Trade Data

Trade Data is a general term for tick-by-tick 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. We now provide historical and real-time trade data for over 85 exchanges and 20,000+ instruments.

We collect trade data by polling exchange REST API's at regular intervals. Upon collection, we normalize the data into the schema shown below. 

Request Trade Data
Browse Coverage
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. 

Trades for BTC/USD on Coinbase.

Exchange / InstrumentDate                  Download
Coinbase - BTC/USDOctober 4, 2019
Link
Deribit - BTCPerpetualDecember 23, 2019Link
Binance - BTC/USDTOctober 04, 2019Link
Okex - BTC/USDTOctober 01, 2019Link
Delivery ChannelTrade Data Availability                  
Flat File Data Feed
All historical data and daily .csv file updates
REST APIAll historical data and real-time updates.
WebSocketLive updates for top exchanges. 

Additional Information

Detailed Methodology
In-Depth Description of Schema
Gaps in Data

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, for 20,000 currency pairs across 85+ exchanges. 

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.  

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
Exchange / InstrumentDate                  Download
Bitmex - XBT/USDOctober 16, 2019
Link
Kraken - BTC/USDSeptember 1, 2019Link
Coinbase - BTC/USDSeptember 1, 2019Link
Delivery ChannelOrder Book Availability                  
Flat File Data Feed
All historical data and weekly .csv file updates
REST API1 month historical data and real-time snapshot updates
WebSocket(in development)

Additional Information

Detailed Methodology
What is a 10% Snapshot?
What happens when an exchange doesn't provide the full order book?
Is there a way to match executed trades to the bids/asks in the order book?
Why are there barely any bids/asks for some snapshots?
Can you backfill historical order books?

Tick-by-Tick Order Books

Our tick-by-tick order book data sets are the most granular and comprehensive order book data in the industry. We collect every incremental update or "delta" to the order book as they happen in real-time, and we store this data in rows. This includes every added, changed or removed bid and ask, the price level, amount, and the corresponding timestamp or sequence ID. 

The first version of our tick-level order book product comprises Level 3 (L3) data collected from three exchanges: Coinbase, Bitstamp, and Bitfinex. We are also able to provide historical backfills of order book data for all top-tier exchanges at L2 precision. L3 data includes every individual bid and ask changed, added, or removed from an order book, non-aggregated. L2 data includes orders aggregated by price level. 

 Each tick-level order book data set comes with an additional file of corresponding order book snapshots, taken once per hour. These snapshots can be used for full limit order book reconstruction of historical market states. This data is not normalized, but stored in raw exchange-native json format. 

The schema below is for our L3 order book data. Email us if you would like our L2 documentation for a wider range of exchanges. 

L3 Tick-by-Tick Order Book Data Format

Tick-Level Order Book Data Format

Order book data is pulled from the Coinbase WebSocket 'Full' Channel (link to Coinbase documentation here). The full channel provides real-time updates on orders and trades, which we store in rows. These updates can be applied to a L3 order book snapshot to re-build historical market states, which we collect through Coinbase's REST API and store in a separate file. Coinbase's documentation details an algorithm for recreating order books using sequence numbers.

Coinbase data is formatted to include 6 different "event" types: received, open, done, match, change, and activate. Explanations for these are included in their documentation, and should inform how you reconstruct the order books. Depending on the order type, you can "add" or "subtract" bids and asks to your reconstructed book.

We currently support btc/usd and eth/usd L3 data from Coinbase.

VariableDescription                  
Kaiko TimestampEpoch timestamp in milliseconds recording when we received the individual data packet. You can learn more about timestamps, including how to convert them to human readable form, here
JSON Response
The raw response received from Coinbase's WebSocket channel. There are several uniform fields across all order types including: "type", "side", "product-ID", "time" and "sequence". The other fields differ slightly depending on the event type, and more information can be found on Coinbase's documentation. 
(JSON Response Broken Down, Only Uniform Fields): Type
The order type (either 'Received,' 'Done,' 'Open,' 'Match,' 'Change' or 'Activate)
Product ID
The currency pair, ex. BTC-USD
Side
Either 'Buy' or 'Sell', referring to both bids/asks updated to the order book or the trade, depending on the order type.
TimeThe time of the event.
SequenceThe sequence ID, to be used in reconstruction of order book states.

Data preview for BTC/USD on Coinbase, May 21 2020. 

Order book data is pulled from the Bitstamp WebSocket 'Live Orders' channel (link to Bitstamp documentation here). The live orders channel provides all created, changed or deleted orders to the order book. This information can be used to update an existing order book snapshot, which we provide stored in separate files. This data is un-aggregated, and represents every changed, created, or deleted order, and the corresponding timestamp. 

We store in rows each raw data packet received from the channel, and the corresponding Kaiko timestamp. 

Bitstamp data is formatted to include 3 different order types: order_deleted, order_changed, and order_created. Depending on the order type, you can "add" or "subtract" bids and asks to your reconstructed book. 

We currently support btc/usd and eth/usd L3 data from Bitstamp.

VariableDescription                  
Kaiko TimestampEpoch timestamp in milliseconds recording when we received the individual data packet. You can learn more about timestamps, including how to convert them to human readable form, here
JSON Response
The raw response received from Bitstamp's WebSocket channel. Fields are uniform across all order types
(JSON Response Broken Down):ID
The unique order ID
Order type
Either '1' or '0', 0 = bid, 1 = ask.
Datetime
Order action timestamp.
MicrosecondOrder action timestamp.
AmountAmount of order. 
Price
Price of order. (price level to be updated)
ChannelWebSocket channel and currency pair.
EventEither "order_deleted," "order_changed", or "order_created"

Data preview for BTC/USD on Bitstamp, May 22 2020. 

Order book data is pulled from Bitfinex's 'Raw Book' WebSocket channel (link to Bitfinex documentationhere). The data is requested at R0 precision, meaning every individual order is received as they are updated or removed from the order book.

This information can be used to update an existing order book snapshot, which we provide stored in separate files. The identification number of each individual order can be used to add, update, or remove orders from an internally maintained order book. 

We store Bitfinex data in rows containing each raw data packet received from the channel, and the corresponding Kaiko timestamp. Bitfinex data is not separated by order type. Rather, each individual row represents a change to the order book determined by the order identification number. Any change to an order, order removed, or order added would be indicated by the same order ID and a change to the price or amount. For example, if an order is updated, the same order ID would be sent but with a different price or amount. If the price is '0', this indicates the order with the given identification number is to be removed from the order book. If order amount > 0, then the order is a bid and if <0, the order is an ask. 

Bitfinex provides internal sequence IDs (per connection) and millisecond timestamps which we collect to help with order book reconstruction.

We currently supportbtc/usd andeth/usd L3 data from Bitfinex. 

VariableDescription                  
Kaiko TimestampEpoch timestamp in milliseconds recording when we received the individual data packet. You can learn more about timestamps, including how to convert them to human readable form, here
JSON Response
The raw response received from Bitfinex's WebSocket channel. Fields are uniform across all order types
(JSON Response Broken Down):Channel ID
Identification number assigned to the channel for the duration of the connection.

Order ID
Identification number of the order.

Price
Order price; if 0 you have to remove the order from your book

±Amount 
Amount of order. If > 0 bid, else ask 
Sequence IDThe sequence ID assigned to individual updates since the beginning of the connection. 
Timestamp
Millisecond timestamp provided by Bitfinex, accompanied with each update. 

Data preview for BTC/USD on Bitfinex, May 20, 2020. The first number is the timestamp, the second is the channel ID, and the third is the order ID. The other numbers are simply the price and the order amount to be updated, per order type. 

We provide a public sample bundle of btc-usd on the 3 exchanges for 6/15/2020, which can be downloaded here (download starts instantly upon click). Just a warning that this sample bundle is large (1.1GB). Thus, if you would like a full trial of this data type, please email us at hello@kaiko.com and we can configure a trial using AWS or GCP cloud storage services. 

The sample bundle includes: 1 day's worth of data for Coinbase, Bitstamp, and Bitfinex, which includes 1 file per exchange for tick-level "events" and 1 file for "snapshots."

Additional Information

Detailed Methodology
How can this data be used by traders?
What is the difference between L2 and L3 data?
Will you provide tick order book data for more exchanges?
Do you provide more history for tick-by-tick order books?
How will this data be delivered?

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 specified 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 second to 1 day. 
 

Request OHLCV Data
Browse 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 beginningof the time interval. 
OpenOpening price of the time interval in quote currency (For BTC/USD, the price would be USD).
HighHighest price reached during time interval, in quote currency.
LowLowest price reached during time interval, in quote currency.
CloseClosing price of the time interval, in the quote currency. 
VolumeQuantity of asset bought or sold, displayed in base currency.
Exchange / InstrumentDate                  Granularity
Download
Coinbase - BCH/USDJanuary - February, 2019
1 Hour
Link
Bitstamp - BTC/USDJan-Mar, 20201 MinuteLink
Bitflyer - BTC/USDT20191 DayLink
Delivery ChannelOHLCV Availability                  
Flat File Data Feed
All historical data and daily .csv file updates
REST APIAll historical data and real-time updates
WebSocketNot available

Additional Information

Detailed Methodology

VWAP (Volume Weighted 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 second to 1 day.

Request VWAP Data
Browse 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
Exchange / InstrumentDate                  Granularity
Download
Bitflyer - BTC/USDJanuary 1-2, 2019
1 Minute
Link
FTX - ETHPerpetualJanuary, 20191 HourLink
Coinbase -ETH/BTC20191 DayLink
Delivery ChannelVWAP Availability                  
Flat File Data Feed
All historical data and daily .csv file updates
REST APIAll historical data and real-time updates
WebSocketNot available

Liquidity Measures: Market Depth, Slippage, and Spread


We offer an entire suite of order book API endpoints for traders and researchers, built using our order book snapshots. Through these endpoints, we offer several derivations of order book data:  market depth, slippage, spread, and averages of these measures over time intervals ranging from 1 minute to 1 day. Below, we include links to detailed posts about the products and include short descriptions of the data types.  

Order Book Snapshots: Full

This endpoint gives access to two weeks of historical 10% order book snapshots. The full endpoint returns all the following order book data: the snapshot itself (bids and asks), the depth of the order book (the cumulative volume of the base asset at 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% from the mid price), the spread, the mid price and, when the slippage parameter is not empty, the percentage of slippage for a given order size, either calculated from the best bid/ask or calculated from the mid price. 

Order Book Aggregations: Full

This endpoint gives access to two weeks of historical 10% order book aggregated data, averaged over a specified time interval ranging from 1 minute to 1 day. It returns metrics on the average depth of the order book (the cumulative volume of the base asset at 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% from the mid price), the average spread, the average mid price and, when the slippage parameter is not empty, the average percentage of slippage for a given order size, either calculated from the best bid/ask or calculated from the mid price for a given time interval. For each interval, the aggregates are calculated by taking the average metrics of each snapshot within that interval. For example, the aggregated 1 hour spread is calculated by taking all spreads of each snapshot within an hour and calculating the average. All data is returned in descending order.

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. 

Market depth for btc/usd on Coinbase. The depth is cumulative, and refers to the number of the base asset (in this case, BTC) at each price level ranging from .1% to 10% of the mideprice

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.

Price slippage for a $100,000 market order for btc/usd on Coinbase. You can include custom order sizes as a parameter. The timestamp refers to the time of the snapshot at which the slippage was calculated. The ask slippage and bid slippage correspond with whether the market order was a buy (ask slippage) or a sell (bid slippage).

VariableDescription                  
Poll_dateThe date at which the raw data snapshot was taken, or if using the 'Aggregations' endpoint, the date at which the time interval begins.
Bid_slippageThe percentage price slippage for a market buy order placed at the time that the order book snapshot was taken, or if using the 'Aggregations' endpoint, the average ask slippage over the time interval specified.
Ask_slippage
The percentage price slippage for a market buy order placed at the time that the order book snapshot was taken, or if using the 'Aggregations' endpoint, the average ask slippage over the time interval specified.
Bid_volume_xThe volume of bids placed within 0 and x% of the midprice. If using the 'Aggregations' endpoint, the average bid_volume over the time interval specified.
Ask_volume_xThe volume of asks placed within 0 and x% of the midprice. If using the 'Aggregations' endpoint, the average ask_volume over the time interval specified.
SpreadThe difference between the best bid and the best ask at the time the snapshot was taken, or if using the 'Aggregations' endpoint, the average spread over the time interval specified.
Mid_price
The mid price between the best bid and the best ask. If using the 'Aggregations' endpoint, the average mid price over the time interval specified.

All liquidity measures, calculated from either the raw snapshot, or averaged across multiple snapshots over time, depending on the endpoint requested.

Cryptocurrency Exchange Rates

We have developed two types of data aggregations to determine a composite price for an asset across all or a select number of exchanges. Both exchange rates let the user decide which exchanges to include or exclude in the calculation. We currently only provide this data through our API.  

Direct Exchange Rate (Aggregated Price)

Aggregated Price takes a specified currency pair and aggregates the price of that pair across all exchanges (or a custom selection of exchanges) it trades on for the requested interval of time. Our aggregation methodology takes the volume-weighted average price (VWAP) of all volume weighted average prices calculated for a given currency pair (a VWAP of VWAPs). The output data includes exactly which exchanges we pulled data from to form the aggregation, along with the individual VWAP data points used to calculate the aggregation.

You can read more about how to use this endpoint in our blog post here. You can read the API documentation here

Exchange Rate

This endpoint returns the price of any asset in USD, EUR, GBP, AUD or NZD. The difference between this endpoint and Aggregated Price is that Aggregated Price 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. Thus, we decided to develop an exchange rate for assets into USD that do not directly trade against USD.

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 USD 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

Other fiat conversions are available through this endpoint.

Count - OHLCV - VWAP

This combined data set includes 3 data types: trade count, or the number of raw transactions occurring over a time interval, OHLCV, and VWAP (described above). Through our API, this data aggregation comes in granularities ranging from 1 second to 1 day, and in .csv files, in granularities ranging from 1 minute to 1 day. 

Request Data
Browse 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.
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

ETH/USD on Bitstamp. 

Delivery ChannelVWAP Availability                  
Flat File Data Feed
All historical data and daily .csv file updates
REST APIAll historical data and real-time updates
WebSocketNot available

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 derivatives data, updated once per minute, available through our REST API, but we will soon provide historical derivatives data. For all derivatives contracts, we provide our standard historical and live market dataoffering, including trades, order books, and aggregates. 


We currently provide data collected from futures, options and perpetual futures contracts from the following exchanges: BitMEX, Deribit, OKEx, Kraken Futures, FTX and Bybit. More exchanges (such as HuobiDM, Binance Futures, Bitflyer, Binance JEX and Phemex) will be added soon. 

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.

Futures data preview for Okex futures contract ethusd200703, as requested from our API:

VariableDescription                  
Ask_ivImplied volatility for the best ask
Bid_ivImplied volatility for the best bid
Ask_amountSize of the best ask
ExpiryThe contract expiry date. 
Index_priceThe price of the underlying index. 
DeltaThe delta value for the option
Underlying_indexThe name of the underlying index
BidThe current best bid price. `null` when no bids are placed.
GammaThe gamma value for the option
Bid_amountSize of the best bid
Mark_priceThe implied volatility for the mark price
Strike_priceThe strike price of the contract in USD
RhoThe rho value for the option
Open_interestThe total oustanding number of contracts.
AskThe current best ask price. `null` when no asks are placed
KindThe kind of contract: "C" for call, "P" for put 
24_volumeThe total 24h traded volume (in base currency)
PriceThe latest recorded contract price
ThetaThe theta value for the option
VegaThe vega value for the option
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. 

Options data preview for Deribit btc28aug209500c, as requested from our API:

VariableDescription
24_volume
The 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.
Funding_rateThe current funding rate. 
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 outstanding number of contracts.
Predicted_funding_rateThe predicted funding rate for the next period. 
PriceThe latest recorded spot price.
Index_priceThe price of the underlying index. 

Data preview for Bitmex btc-usd perpetual future contract, as polled from our API:

Additional Information

Detailed Methodology
How Do I Access The Data?
When Will You Have Historical Derivatives Data?
How Often Is This Data Updated?
Do You Have Options Snapshots?
Will Other Derivatives Data Types Be Added in the Future?

Interested in Our Cryptocurrency Data Services?  

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

Which currency pair(s)?

BTC/USD? ETH/USD?

On which exchange(s)?

Coinbase? Binance? Bitmex? Deribit? 

What data type(s)?

Trades? Order books? OHLCV? Exchange rates?

Historical or live?

Full historical access with real-time updates? Just 1 year of data? Only live updates? 

Kaiko's Research Factsheet