Need help with magic8bot?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

254 Stars 61 Forks MIT License 164 Commits 10 Opened issues


Magic8bot is a cryptocurrency trading bot using Node.js and MongoDB.

Services available


Need anything else?

Contributors list

Build Status codecov


How To Use

The master branch is unstable. Do not depend on it working correctly or even running at all.

checkout stable


The only 2 supported exchanges are

although the bot is capable of supporting any exchange that
supports with the addition of small adapter file, found in

There are a minimal amount of strategies and technical indicators implemented as well.

*The UI is not required to run. It just makes things easier.

If you have questions, just ask on discord. The invite link is below.

Magic8Bot Installation

There are 2 repos (magic8bot and ui) that need to be installed. To do that, you will need to clone them. Let's go!

Clone the magic8bot repo:

git clone

Clone the UI repo:

git clone

Go to /magic8bot folder and run:

npm install

Go to /ui folder and run:

npm install

You also need a

inside the
folder. You can just copy
and rename it

Once you're done you need to run this command in both the

npm run start:dev

you'll need to open 2 terminals


M8bot is entering stage 2 of development. I'm separating out all the moving parts into stateless microservices. The idea is to be able to auto-scale individual parts of the bot as load increases on each part.

The parts:

  • ui
    • Is the UI/control panel for the bot
  • web-server
    • This is the layer that sits between the UI and the bot
  • smq
    • Not a micro-service but a critical shared library
    • Used for communication between micro-services
  • db
    • Not a micro-service but a critical shared library
    • Used for establishing a connectio to the database
    • Provides shared data models for the micro-services
  • pub/sub
    • Not yet implemented
    • Publishes events for mass consumption
    • Might be integrated into
  • trade
    • Currently part of core but will be a micro-service
    • Handles syncing data from the exchange to the database
  • period
    • Currently part of core but will be a micro-service
    • Generates candle (OHLCv) data
    • Emits candle data events via pub/sub
  • strategy
    • Currently part of core but will be a micro-service
    • Listens to candle events
    • Calculates signals
    • Sends signals via simple message queue
  • order
    • Currently part of core but will be a micro-service
    • Handles opening and closing positions
    • Consumes signal via simple message queue


  • This bot is NOT a sure-fire profit machine. Use it AT YOUR OWN RISK.
  • Crypto-currency is still an experiment, and therefore so is this bot. Meaning, both may fail at any time.
  • Running a bot, and trading in general requires careful study of the risks and parameters involved. A wrong setting can cause you a major loss.
  • Never leave the bot un-monitored for long periods of time. this bot doesn't know when to stop, so be prepared to stop it if too much loss occurs.
  • Often times the default trade parameters will underperform vs. a buy-hold strategy, so run some simulations and find the optimal parameters for your chosen exchange/pair before going "all-in".

Chat with other users


this bot has a Discord chat! You can get in through this invite link.


notVitaliy (author)







We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.