this is an experimental beta release of BIX. we are looking forward to receiving your feedback via mail (bix@robotfinance.org) or Twitter (https://twitter.com/RobotFinance)
BIX is a distributed Bitcoin price index
it's open, fast and free
Our Goal: building a distributed price feed with
- 100% up-time (no single point of failure)
- low latency
- no single source of the truth
BIX is an open source alternative to TradeBlock's XBX index. We believe that proprietary indices like XBX have negative effects on market quality, because
1. they can easily be manipulated by a central entity
2. they can't be rebuilt locally, so it does not only cost more money to consume Tradeblock's feed, it also adds latency to receive data via TradeBlock's proxy server in NYC
Current exchange weightings:
45% Bitfinex USD
35% OKCoin USD
20% Bitstamp USD
BIX uses the mid price calculated from the best bid and ask as reference. Using bids and offers from market makers and other liquidity providers instead of trade data guarantees more regular price updates especially when trade volume is low.
Real-Time Frontend Demo: (powered by pubnub.com and D3)
https://robotfinance.org/bix/beta
REST API Demo:
https://robotfinance.org/api/v1/bix/usd
Setup:
BIXPY follows a multiprocessing rather than a multithreading approach. Redis is used as message broker. You can setup Redis within a few seconds. Here is a short example how to install it on Debian/Ubuntu:
$ sudo apt-get install redis-server
$ sudo pip install redis
To push updates to a front-end with PubNub you have to setup the library:
$ sudo pip install pubnub
Before you start running BIX you have to add your PubNub keys and modify the path for your web server's REST api in the bix.py
file:
pubnub = Pubnub(publish_key='YOUR-PUB-KEY', subscribe_key='YOUR-SUB-KEY')
api_path = '/var/www/api/v1/bix/yourfile.json'
Next steps:
1. dynamic weightings based on average volume, latency and up-time of exchanges
2. running BIX on multiple nodes:
- distributed price index calculation
- cross node verification