Build Status Coverage Status


Cryptotrader is a cryptocurrency trading bot, with a plug-in mechanism to load custom trading strategies.

Cryptotrader is...

So why is this project made public? Well, mostly for fun, something to chat over a cup of :coffee:. And also, custom plugins and configurations are not made public, which are the secret sauce to generate alpha.

Getting Started



Prepare a custom configuration file to define the trading strategies. The default configuration file can be used as a starting point. Note that the default values are simply placeholders with no real meanings, therefore it's mandatory to configure each parameters properly for the application to actually start trading. Once configured, place the custom configuration file at the path $HOME/.cryptotrader.

Installation & Launching

Follow the below procedures to launch the application.

  1. Clone the project files from GitHub.
  2. Build the application module with gradle clean war command.
  3. Launch the application with sh ./etc/winstone/ The application will launch in background.
  4. Check the application log file ./etc/winstone/logs/cryptotrader-app.log to monitor the application state.
  5. To stop the application, execute sh ./etc/winstone/ and wait, or simply kill the Java process.


To load custom trading strategies, prepare a jar file following the SPI specification, and place the jar file under libs/ directory. The application needs to be re-built/restarted for the new plugin jars to be effective. Also, don't forget to adjust the custom configuration file to adapt for the newly loaded strategies.


Use at your own risk, following the LICENSE. Author has no plan to provide specific support for individual configurations nor provide trading instructions/advisories.