Created a crypto trading bot platform that allows users to:
- use multiple bots;
- create custom algorithms;
- utilize the Binance API.
The platform is composed of 3 main parts:
- the front part that is a web application built with Node.js & ReactJS;
- the controller part that controls the bots services and acts as a middleware between the front and the bots;
- the bots part, which consists of the actual bots that utilize the Binance API for trading and send the updates to the controller.
The bots services communicate only with the controller and are not available to be accessed from outside the cluster. In this way the bots are protected from being attacked or manipulated.
Both the controller and the bots services are using NodeJS and TypeScript. Not the fastest language & runtime environment, but at the time of development it was only a proof of concept that was never rewritten in a better performant language and/or framework.
The custom algorithms are written in JavaScript that are compiled in an array of commands that are sent to the bot to be run.
The communication between all the parts is done using WebSockets with a custom protocol on top of it with a predefined set of messages.
The controller saves the data to a MongoDB database that the front part can access directly for non real-time data.
For the moment the platform is not available for public use and is only available for a limited number of users.
