Coincenter
C++ CLI centralizing several crypto currencies exchanges REST API into an all in one tool with a unified interface. Can be extended and used as a library.
Install / Use
/learn @sjanel/CoincenterREADME
coincenter
Command Line Interface (CLI) / library centralizing several crypto currencies exchanges REST API into a single, ergonomic all in one tool with a unified interface.
Main features:
Market Data
- Currencies
- Markets
- Currency conversions
- Ticker
- Orderbook
- Traded volume
- Last price
- Last trades
- Withdraw fees
Account requests
- Balance
- Trade (buy & sell in several flavors)
- Deposit information (address & tag)
- Recent Deposits
- Recent Withdraws
- Closed orders
- Opened orders
- Cancel opened orders
- Withdraw (with check at destination that funds are well received)
- Dust sweeper
Market data storage & replay
coincenter is able to store the following market data in serialized binary protobuf format for offline trading algorithm replay:
- Market order book
- Public trades
Refer to the dedicated documentation page for more information.
Supported exchanges
| Exchange | Link | | -------- | :-----------------------------------------------------------------------------: | | Binance | <img src="./resources/binancelogo.svg" width="170"> | | Bithumb | <img src="./resources/bithumblogo.svg" width="55"> | | Huobi | <img src="./resources/huobilogo.svg" width="160"> | | Kraken | <img src="./resources/krakenlogo.svg" width="90"> | | Kucoin | <img src="./resources/kucoinlogo.svg" width="150"> | | Upbit | <img src="./resources/upbitlogo.svg" width="135"> |
<details><summary>Sections</summary> <p>- coincenter
- Market Data
- Account requests
- Market data storage & replay
- Supported exchanges
- About
- Installation
- Configuration
- Usage
- Input / output
- Parallel requests
- Public requests
- Private requests
- Monitoring options
- Limitations
- Examples of use cases
- Get an overview of your portfolio in Korean Won
- Trade 1000 euros to XRP on kraken with a maker strategy
- Trade 1000 euros to XRP on kraken with a maker strategy in simulation mode
- Prints conversion paths
- Prints all markets trading Stellar (XLM)
- Prints bithumb and upbit orderbook of depth 5 of Ethereum and adds a column conversion in euros
- Prints last 24h traded volume for all exchanges supporting ETH-USDT market
- Prints last price of Cardano in Bitcoin for all exchanges supporting it
- Prints value of
1000 XMLinto SHIB for all exchanges where such conversion is possible
About
coincenter is not just another random implementation of some exchanges' REST API, it also provides a higher abstraction of each platform specificities by providing workarounds for the ones not implementing some queries (for instance, withdrawal fees is rarely accessible with the public endpoint, but coincenter can handle their query for all exchanges, by using screen scraping techniques of external resources when needed).
Also, it takes the user by the hand for more complex queries, like trades and withdraws, working by default in synchronized mode until the operation is finished (withdraw will not finish until the funds are received and available at destination, trade will not finish until the opened order is either matched / canceled).
Technically speaking, this project is for C++ enthusiasts providing an alternative to other crypto exchanges clients often written in higher level languages. It is an illustration of the elegance and possibilities of modern C++ in an area where it is (sadly) barely chosen.
Of course, all suggestions to improve the project are welcome (should it be bug fixing, support of a new crypto exchange, feature addition / improvements
