/orko

Trade on and script multiple crypto exchanges from a single user interface on desktop and mobile. In development.

Primary LanguageJavaScriptGNU Affero General Public License v3.0AGPL-3.0

Orko Twitter

All Contributors

Collaborate on Gitter Current version

CircleCI Sonarcloud Security Rating Sonarcloud Vulnerabilities Sonarcloud Coverage CodeFactor

Fed up of logging into multiple separate cryptocurrency exchanges? Frustrated by missing features? Want to use advanced order types such as trailing stops on exchanges that don't support them?

Orko is a self hosted web application which provides a unified dashboard to control numerous cryptocurrency exchanges, allowing you to trade and manage your portfolio, even if it is spread across multiple exchanges, all from one screen. It works seamlessly on desktop and mobile, so you can have the same trading experience wherever you go.

All this without sharing your API keys with anyone.

Screenshot

Feel like creating your own special order types, such as soft stops, stops triggered off the price of a different asset, or a "Nuke" button which sells all your alt positions? Orko features a scripting API allowing you to design your own bespoke order types.

Scripting UI

Best of all, it's completely free (as in "free speech" as well as "free beer"). Read about some more things it can do.

Status

Beta. Please read the project status page. Particularly, please note that the application has only so far been tested on Chrome desktop and Chrome mobile.

Orko is a new application which has missing features and some well-known bugs. It needs your help. Read more about Orko, why it's free and how to help.

Installation

Windows | Ubuntu/Debian | Docker | Heroku quick | Heroku manual

Deploy to Heroku

Exchange Support

General

Orko does not support the following on any exchange: deposits, withdrawals, funding or account management. It is purely for trading. Margin trading including position management is on the roadmap but not supported yet.

Exchanges with "excellent" support use streaming updates, which means that generally most changes will appear in the UI almost immediately. Without streaming updates, changes can take a number of seconds to be reflected in the UI. Usually, streaming updates are possible for any exchange, but involve considerably more work to implement, so exchanges tend to be added first without streaming updates and get updated later.

By Exchange

Exchange Support level Missing trading features Notes
Binance ✔️ Excellent Dust conversion Almost perfect.
Bitfinex ✔️ Excellent True OCO trades, post only, reduce only, visibility of trades and positions on chart Short on features, but what is supported is supported perfectly.
Coinbase Pro ✔️ Excellent Post only, good-till-cancelled Very good, with one or two minor known issues.
Kucoin ✔️ Good Streaming updates Works well other than the lack of streaming updates.
Bittrex ✔️ Good Streaming updates, stop orders Works well other than the lack of streaming updates.
Bitmex ⚠️ In development Streaming updates, most complex order types, balances, historical trades Not recommended for serious use yet.
Kraken ⚠️ In development Streaming updates, stop orders Read-only.

Help wanted

At the moment this project is a labour of love for just me, I am creating new bug and enhancement issues faster than I am closing them, and I need help!

The back-end server is written in Java and is based on XChange and xstream-stream, to which the project is a significant contributor. Please consider helping these great projects - it has a knock-on effect on Orko.

The front-end UI (mobile and desktop) is written in Javascript and is based on React+Redux.

Everything else

See the wiki!

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Graham Crockford

💻 🖋 📖 🎨 🚇 🚧 🛡️ ⚠️ 📓

lazrfocus

🤔

lowwor

💻 📓

longtran84

🐛

Paul Matthews

💻 🐛 🤔

This project follows the all-contributors specification. Contributions of any kind welcome!