FAQ

General

What is tardis.dev?

Tardis.dev is a digital assets market data provider, providing high resolution raw tick historical data — full order book depth snapshots and incremental updates, tick-by-tick trades, liquidations and more available via HTTP and WebSocket API.

What can it be used for?

High resolution historical market data API provided by tardis.dev can be used for a wide range of use cases such as:

  • backtesting and optimization of advanced quantitative trading strategies

  • training machine learning models

  • market microstructure and order book dynamics research

  • designing quantitative models

  • academics research

  • data visualizations

  • analytics

  • full historical order book reconstruction at any given moment in time

What programming languages are supported?

Any programming language that can communicate using HTTPS can consume HTTP API, additionally there are two official client libs that provide more high level and developer friendly data access:

There is also locally installable tardis-machine server providing on-demand tick-level historical market data replay via HTTP and WebSocket endpoints in exchange's message data format. In many cases existing exchanges WebSocket clients can be used to consume historical messages stream as if it was real-time one.

Which exchanges and currents pairs are supported?

Currently supported exchanges:

  • BitMEX

  • Binance.com, Binance.je, Binance.org (DEX)

  • Binance Futures

  • Deribit

  • Bitfinex

  • Bitfinex Derivatives

  • Bitstamp

  • Coinbase Pro

  • Kraken

  • Crypto Facilities (Kraken Futures)

  • OKEx

  • FTX

  • bitFlyer

  • Gemini

  • Huobi

  • HitBTC

  • bitFlyer

Use /exchanges API endpoint to get most up to date list of exchanges together with /exchanges/:exchange API that provides useful exchange details like available currency pairs (symbols), pricing info, availability dates and more.

How far back the historical data is available?

Data is available since 2019-03-30 for majority of the supported exchanges. In order to get exact availability data for particular exchange please use /exchanges/:exchange API to get that info, or use order form that will display such info after exchange is selected.

What protocols can be used to access historical market data?

Historical market data provided by main RESTful API can be accessed via HTTPS.

Locally installable tardis-machine server provides both streaming HTTP and WebSocket based APIs for accessing historical market data.

Do you provide raw historical market data in flat files?

We're building flat CSV files download service that will be available soon, interested? Contact us about early access.

Historical market data details

How historical raw market data is sourced?

Raw market data is sourced from public WebSocket real-time APIs provided by the exchanges.

Is provided raw market data complete?

We're doing our best to provide the most complete and reliable historical raw data API on the market. To do so amongst many other things, we utilize highly available Kubernetes cluster on Google Cloud Platform that offers best in the class availability, networking and monitoring. However due to exchanges' API downtimes (maintenance, deployments etc.) we can experience market data gaps and cannot guarantee 100% data completeness. In rare circumstances, when exchange's API changes without notice or we hit new unexpected rate limits we also may fail to record data during such period, it happens very rarely and is specific for each exchange, please use /exchanges/:exchange API endpoint and check for incidents field in order to get most detailed and up to date information on that.

Please see historical data details for more info.

What kind of protocols are used for data collection from exchanges?

We use WebSocket protocol for all exchanges, plus HTTP REST APIs in case of fetching initial full order book snapshots for exchanges that do not provide them via WebSocket.

How order book data snapshots are provided?

Historical market data available via API provides order book snapshots at the beginning of each day (00:00:000 UTC) along with locally timestamped order book messages for each update, check out API docs for more details.

Do you collect order books as snapshots or in streaming mode?

Order books are collected in streaming mode - snapshot at the beginning of each day and then incremental delta updates.

Please see historical data details for more info.

How order book data is timestamped?

Each message received via exchange WebSocket API is timestamped with 100ns precision and stored in ISO 8601 format.

Sample BitMEX data API response showing messages with timestamps

What is the new market data delay?

New market data delay is only 4 minutes in relation to real-time (T - 4min).

How fast is the API and API clients?

RESTful HTTP API latency when requesting single minute of historical data is in range of 50-300ms depending of selected exchange and provided filters, it scales very well to multiple parallel requests, but please don't use more than 60 or so as it doesn't bring any speed benefits, but on contrary it may be slower - it's also the value all official clients use under the hood for fetching data logic, so effectively one one hour instead of one minute is being fetched at once.

Tardis-machine HTTP endpoint returns up to 400 000 historical data messages per second - that may vary due to local machine spec and local cache ratio. Same applies to tardis node-client which is being used by tardis-machine server under the hood. Python tardis-client is a little bit slower, but that also depends if auto decoding (parsing JSON messages) is turned on of off.

Pricing

How pricing works?

Price table on the tardis.dev homepage contains price per-data-month for each exchange, split by single instrument and full feed API access.

Single instrument API access price is a per-data-month (30 day basis) price for API access to all market data(trades, order book, etc.) recorded for single instrument for given exchange.

For example it costs $18 to access historical market data for BitMEX XBTUSD instrument for 2019-04-01—2019-05-01 date range precisely from2019-04-01T00:00:00.000Z UTC to 2019-05-01T00:00:00.000Z UTC, but not including ending timestamp (which is 2019-05-01T00:00:00.000Z). Historical market data includes: trade, order book, liquidations, quote & funding data.

Full feed API access price is is a per-data-month (30 day basis) price for API access to all market data recorded for all available instruments for given exchange.

For example it costs $150 to access historical market data for BitMEX all available instruments (use /exchanges/:exchange to get the up to date list of available instruments) for 2019-04-01—2019-05-01 date range precisely from 2019-04-01T00:00:00.000Z UTC to 2019-05-01T00:00:00.000Z UTC, but not including ending timestamp (which is 2019-05-01T00:00:00.000Z). Historical market data includes: trade, order book, liquidations, quote & funding data etc, for all those instruments.

What is committed use discount?

Committed use discount means that you can order market data that will be available in the future and get better price because of that - up to 50%. For example if your order BitMEX data for next 12 months from now (from today to 365 from today) you'll receive 38% price discount. Best way to estimate exact discount is to use order form which will display price together with discount applied when exchange, symbol and date ranges are provided.

Month

Discount

Current and any previous month

0%

Next month (current month + 1)

10%

Current month + 2

20%

Current month + 3

30%

Current month + 4

40%

Current month + 5 and any future month after that

50%

How order process looks like?

  1. On order form select exchanges, instruments symbols and date ranges that you're interested in and get the exact price you'd pay.

  2. Proceed to checkout where you provide email address on which you'll get your API key and select payment method - credit cards, PayPal and Apple Pay supported - full list available at https://paddle.com/support/which-payment-methods-do-you-support/.

  3. Successfully complete your payment and receive API key via email.

  4. Enjoy! In case of any questions, just contact us, we will get back to you as soon as possible.

On subsequent orders you can use new API key to access data available for previous orders as well.

Invoices and VAT

How do I get a VAT refund?

Before the checkout process is complete, you should be given the option of entering a VAT ID which will exempt your purchase from a sales tax charge. If you think you’ve been incorrectly charged for VAT, please contact [email protected] and they will be able to issue a VAT refund to you. Paddle handle all our transactions and will be able to help you.

How can I add my VAT ID and address to the subscription invoice?

When you’re charged, you will receive an invoice for your subscription by email. There should be a link in the email that says “view your invoice, where you can add/edit your invoice address”. Click this link to add your VAT ID and address to the invoice.

What are your VAT details?

When you’re charged, you will receive an invoice for your subscription by email. There should be a link in the email that says “view your invoice”. Click this link to get the address and VAT ID of Paddle who process our payments. Paddle acts as a reseller and Merchant of Record so they handle VAT on our behalf.

I’ve lost my invoice. How do I get a new one?

You need to contact [email protected] to request a new invoice. Please provide the email address you bought the subscription with and any extra details that might help.

What about SLA?

We do not have a formal SLA in place yet, but all infrastructure is set up to provide highest availability possible on both recording and providing market data side with multiple geo-redundant fallbacks. Both recording and public APIs are constantly monitored from multiple locations and our engineering team is immediately notified in case of any issue. We don't practice maintenance that would affect availability, but in very rare circumstance if that would happen we'll communicate that in advance. If a formal SLA is something that your business require please contact us.