Tribeca

A high frequency, market making cryptocurrency trading platform in node.js
Alternatives To Tribeca
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Ccxt29,22112266 hours ago13,116July 14, 20221,155mitPython
A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading API with support for more than 100 bitcoin/altcoin exchanges
Freqtrade23,01929 hours ago55July 30, 202347gpl-3.0Python
Free, open source crypto trading bot
Abu9,650
7 months ago2gpl-3.0Python
阿布量化交易系统(股票,期权,期货,比特币,机器学习) 基于python的开源量化交易,量化投资架构
Binance Trade Bot7,281
18 days ago130gpl-3.0Python
Automated cryptocurrency trading bot
Jesse4,8572a day ago201January 12, 20232mitPython
An advanced crypto trading bot written in Python
Tribeca3,642
2 years ago117otherTypeScript
A high frequency, market making cryptocurrency trading platform in node.js
Krypto Trading Bot2,851
a year ago68otherC++
Self-hosted crypto trading bot (automated high frequency market making) written in C++
Crypto Trading Bot2,688
8 months ago111mitJavaScript
Cryptocurrency trading bot in javascript for Bitfinex, Bitmex, Binance, Bybit ... (public edition)
Binance Trader2,358
a month ago93Python
💰 Cryptocurrency Trading Bot for Binance (Experimental)
Pytrader1,784
5 years ago95mitPython
cryptocurrency trading robot
Alternatives To Tribeca
Select To Compare


Alternative Project Comparisons
Readme

tribeca

Join the chat at https://gitter.im/michaelgrosner/tribeca

tribeca is a very low latency cryptocurrency market making trading bot with a full featured web client, backtester, and supports direct connectivity to several cryptocoin exchanges. On modern hardware, it can react to market data by placing and canceling orders in under a millisecond.

Web UI Preview

Runs on the latest node.js (v7.8 or greater). Persistence is acheived using mongodb. Installation is recommended via Docker, but manual installation is also supported.

Docker compose installation

  1. Install docker compose.

  2. Change the environment variables of env file to match your desired configuration. Input your exchange connectivity information, account information, and mongoDB credentials.

  3. Run docker-compose up -d --build. If you run docker-compose ps, you should see the containers running.

Docker Installation

  1. Please install docker for your system before preceeding. Requires at least Docker 1.7.1. Mac/Windows only: Ensure boot2docker or docker-machine is set up, depending on Docker version. See the docs for more help.

  2. Set up mongodb. If you do not have a mongodb instance already running: docker run -p 27017:27017 --name tribeca-mongo -d mongo.

  3. Change the environment variables of env file to match your desired configuration. Input your exchange connectivity information, account information, and mongoDB credentials.

  4. Save the Dockerfile, preferably in a secure location and in an empty directory. Build the image from the Dockerfile docker build -t tribeca .

  5. Run the container docker run -p 3000:3000 --link tribeca-mongo:mongo --env-file ./env --name tribeca -d tribeca. If you run docker ps, you should see tribeca and mongo containers running.

Manual Installation

  1. Ensure your target machine has node v7.8 (or greater) and mongoDB v3 or greater. Also, ensure Typescript 2.2, grunt, and, optionally, forever are installed (npm install -g grunt-cli typescript forever).

  2. Clone the repository.

  3. In the cloned repository directory, run npm install to pull in all dependencies.

  4. Compile typescript to javascript via grunt compile.

  5. cd to the outputted JS files, in tribeca/service.

  6. Create a tribeca.json file based off the provided sample-dev-tribeca.json or sample-prod-tribeca.json files and save it in the current directory. Modify the config keys (see configuration section) and point the instance towards the running mongoDB instance.

  7. Set environmental variable TRIBECA_CONFIG_FILE to full path of tribeca.json

  8. Run forever start main.js to start the app.

Configuration

  • EXCHANGE

    1. coinbase - uses the WebSocket API. Ensure the Coinbase-specific properties have been set with your correct account information if you are using the sandbox or live-trading environment.

    2. hitbtc - WebSocket + socket.io API. Ensure the HitBtc-specific properties have been set with your correct account information if you are using the dev or prod environment.

    3. okcoin - Websocket.Ensure the OKCoin-specific properties have been set with your correct account information. Production environment only.

    4. bitfinex REST API only. Ensure the Bitfinex-specific properties have been filled out. REST API is not suitable to millisecond latency trading. Production environment only.

    5. null - Test in-memory exchange. No exchange-specific config needed.

  • TRIBECA_MODE

    1. prod

    2. dev

  • MongoDbUrl - If you are on OS X, change "tribeca-mongo" in the URL to the output of boot2docker ip on your host machine. If you are running an existing mongoDB instance, replace the URL with the existing instance's URL. If you are running from a Linux machine and set up mongo in step 1, you should not have to modify anything.

  • ShowAllOrders - Show all orders sent from the application in the Orders List in the UI. This is useful for debugging/testing, but can really negatively impact performance during real trading.

  • TradedPair - Any combination of the following currencies are supported, if the target EXCHANGE supports trading the currency pair:

    • USD
    • BTC
    • LTC
    • EUR
    • GBP
    • CNY
    • ETH
    • BFX
    • RRT
    • ZEC
    • BCN
    • DASH
    • DOGE
    • DSH
    • EMC
    • FCN
    • LSK
    • NXT
    • QCN
    • SDB
    • SCB
    • STEEM
    • XDN
    • XEM
    • XMR
    • ARDR
    • WAVES
    • BTU
    • MAID
    • AMP
  • WebClientUsername and WebClientPassword - Username and password for web UI access. If kept as NULL, no the web client will not require authentication (Not recommended at all!!)

Input your exchange connectivity information, account information, and API keys in the config properties for the exchange you intend on trading on.

Application Usage

  1. Open your web browser to connect to port 3000 of the machine running tribeca. If you're running tribeca locally on Mac/Windows on Docker, replace "localhost" with the address returned by boot2docker ip.

  2. Read up on how to use tribeca and market making in the wiki.

  3. Set up trading parameters to your liking in the web UI. Click the "BTC/USD" button so it is green to start making markets.

Web UI

Once tribeca is up and running, visit port 3000 of the machine on which it is running to view the admin view. There are inputs for quoting parameters, grids to display market orders, market trades, your trades, your order history, your positions, and a big button with the currency pair you are trading. When you're ready, click that button green to begin sending out quotes. The UI uses a healthy mixture of socket.io and angularjs.

REST API

Tribeca also exposes a REST API of all it's data. It's all the same data you would get via the Web UI, just a bit easier to connect up to via other applications. Visit http://localhost:3000/data/md for the current market data, for instance.

TODO

TODO:

  1. Add new exchanges

  2. Add new, smarter trading strategies (as always!)

  3. Support for currency pairs which do not trade in $0.01 increments (LTC, DOGE)

  4. More documentation

  5. More performant UI

Donations

If you would like to support this project, please consider donating to 1BDpAKp8qqTA1ASXxK2ekk8b8metHcdTxj

Popular Trade Projects
Popular Trading Projects
Popular Blockchain Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Typescript
Docker
Mongodb
Bitcoin
Cryptocurrency
Trading
Trade
Connectivity
Trading Bot