This backend api serves combined order books and arbitrage opportunity data (overlapping bid / ask orders) for specified base-quote symbol pairs from the following exchanges:
- Bittrex
- Poloniex
- Kraken
- Binance
- Hitbtc
It offers the ability to choose from ETH or BTC as the base symbol to be paired with large number of possible quote symbols. ETH-BTC is the default pair if none are specified.
-
Install Node js 8 or higher
-
Run
npm installfrom the project root
- Run
npm startfrom the project root.
- Run
npm testfrom the project root
Note that the backend server cannot be running while tests are running so that listening ports do not conflict.
Most exchanges offer 8 decimal places of precision, making it very rare that orders from multiple order books fall on the same price and be combined.
For this reason calls to the /combined include a precision parameter. The allows the frontend to
see how different precisions effect how ordersd are combined across order books from different exchanges.
Designed with extensibility in mind. New exchanges can be added via the following steps:
- Extend src/exchanges/BaseExchange.js
- Populate symbolTransationList as needed. Poloniex is used as the symbol standard.
- Implement getNormalizedOrderBook() to return data in the same format as existing exchanges