Awesome Open Source
Awesome Open Source

Build Status


CryptoTracker makes it easy for you to collect, store, analyze, visualize, and monitor cryptocurrency data. You can use this open source project to track Price, Bid/Ask Spreads, Size, and Volume, test hypotheses about markets, build machine learning models to predict price movements, understand volatility, arbitrage / algorithmically trade, and more. CryptoTracker enables high-quality cryptocurrency R&D across all major exchanges.

Pull Requests welcome and encouraged.

Supported Exchanges

  1. BitFinex
  2. BitTrex
  3. Bitmex
  4. GDAX
  5. Gemini
  6. Kraken
  7. OKCoin
  8. Poloniex
  9. BitMex


Dashboard 1

Dashboard 2


  1. Docker

Optional Configuration

  1. Adjust timer settings in
  2. Verbosity of logs can be configured in default.env


docker-compose build && docker-compose up

This command will build and launch 3 docker containers: Elasticsearch, Kibana, and python2.7. Elasticsearch is used as our datastore, Kibana is used to setup visualizations and dashboards, and python2.7 operates our application. Elasticsearch and Kibana are customizable via .yml and Dockerfiles (included), and python2.7 is automatically configured for you to run after an initial setup delay. Once the system loads, which could take a few minutes, you should be able to navigate to Kibana to see all of the data that's flowing from the exchanges into Elasticsearch.


If this is the first time running Kibana, it may take an additional minute to load as the container runs it's initial optimization script. You will also need to add the following index patterns, with Time-field name being set to tracker_time:


A json file containing saved objects and dashboards is provided under /resources. This file can be imported from Kibana's UI by navigating to Management->Saved Objects->Import. Auto-Refresh interval on all dashboard has been preconfigured for 5 seconds.

Production Settings

On a live system, vm_map_max_count should be permanently set in /etc/sysctl.conf:

 $ grep vm.max_map_count /etc/sysctl.conf

Additional Resources

In a development environment, a kibana configuration script is provided at resources/ to help automatically set default indexes, set refresh timers, and import all the graphs/dashboards. This configuration script is not recommended in production yet due to occasional issues with the discover tab not responding after import.

Provided By


Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Python (806,773
Dashboard (16,359
Elasticsearch (11,368
Cryptocurrency (7,563
Kibana (3,056