16 Open-source Self-hosted Crypto Trading Bots
A cryptocurrency trading bot is a software program designed to recognize the crypto-market’s trends and automatically execute trades on behalf of the user. These bots work by monitoring the market's price movement and reacting according to a set of predefined and pre-programmed rules. They analyze market actions, such as time, price, orders, and volume, to help traders make data-driven decisions.
The importance of crypto trading bots lies in their ability to perform and make decisions faster than humans can. They are capable of processing vast amounts of data and making split-second decisions based on the parameters set by the user. This can lead to more efficient trading and the possibility of making profits even in volatile markets.
Use-cases
Use-cases and benefits of crypto trading bots include:
- 24/7 Trading: Cryptocurrency markets operate 24/7, and a trading bot can monitor these markets continuously, something that would be very challenging for a human to do.
- Speed: Trading bots can execute trades at a speed and frequency that is impossible for a human trader. This can be particularly beneficial in the fast-paced world of cryptocurrency trading.
- Emotionless Trading: Trading bots operate without emotion. They will not hesitate or second guess when executing trades, unlike human traders who may be influenced by fear or greed.
- Backtesting: Many trading bots allow the user to backtest their trading strategies against historical market data. This can help traders refine and optimize their strategies.
- Diversification: Trading bots can trade multiple cryptocurrencies at once, allowing for a diversification of portfolio that would be time-consuming for a human trader.
However, it's important to note that while trading bots can be profitable, they also come with risks. The crypto market's volatility can lead to significant losses, and users should employ risk management strategies and only invest what they can afford to lose.
In this list, we offer you the best open-source Crypto Trading bot, that you can download, install and use totally for free.
1. Freqtrade
Freqtrade, a Python-based, open-source crypto trading bot, supports major exchanges and offers control via Telegram or webUI. It includes various tools for backtesting, plotting, money management, and strategy optimization through machine learning. Notably, it's meant for educational purposes, and users are advised to use it at their own risk.
The supported exchanges for Freqtrade include Binance, Bitmart, HTX (formerly Huobi), Kraken, OKX (formerly OKEX), and potentially many others, although functionality cannot be guaranteed for all. It also experimentally supports futures exchanges such as Binance, OKX, and Bybit. Users should carefully read the exchange-specific notes and the trading with leverage documentation.
The community has also tested and confirmed the functioning of Freqtrade on Bitvavo and Kucoin.
2. Jesse
Jesse is an advanced cryptocurrency trading bot written in Python. It's designed to help traders automate their strategies, allowing them to backtest, paper trade, and live trade their strategies on multiple cryptocurrency exchanges.
Jesse is built with simplicity in mind, and it's easy to install and run. It offers an intuitive interface, simple but powerful configuration, and comprehensive documentation, making it an excellent choice for both new and experienced traders.
3. Algo Trader
Algo-trader is a Python-based software for executing and backtesting algorithmic trading strategies. It allows for local backtesting of strategies and real-time trading via a user's broker API. The software is designed with components like MongoDB for backtesting strategies and Tulip Indicators for technical calculations. It optionally includes the ib_client for communicating with the Interactive Brokers gateway for real-time trading.
The software operates via a Pipeline system, which facilitates the flow of data from the Source to the processors in the stream. The Pipeline and all its components are JSON serializable, allowing for the definition, loading, and saving of entire pipelines with their configurations on a file.
Algo-trader also includes a PipelineRunner, Sources, Processors, Reprocessing, Events, Strategies, and Terminators to manage the data stream, share context and information between processors, manage events, execute trading logic, and clean up the environment.
Please note that algo-trader is a work in progress, and currently misses external market data and trade providers. For real-world trading, users will need to implement their broker API. However, backtesting is fully functional and can be used to test strategies for real trading when it's ready.
Finally, algo-trader can be installed using Docker, making the setup process easier and more streamlined.
4. StockSharp
StockSharp, also known as S#, is a free, comprehensive trading platform suitable for various markets worldwide, ranging from crypto exchanges to stocks, futures, options, Bitcoins, and forex. It provides the flexibility to trade manually or use automated trading algorithms, including high-frequency trading (HFT) and direct market access (DMA).
S# connects with a diverse range of platforms, facilitating extensive trading options. It includes S#.Designer, a free application that simplifies the creation of algorithmic strategies through a visual designer and an embedded C# editor. Users can design their own indicators and use the built-in debugger, making it a versatile tool for algorithmic trading.
S#.Data is another feature of this platform, a free software that automatically loads and stores market data. It supports many sources, offers high compression ratios, and enables program access to stored data via an API. It also facilitates export to CSV, excel, XML or database, and can import from CSV.
The platform's trading terminal, S#.Terminal, is a free trading charting application enabling trading directly from charts. It supports connections to various electronic boards and brokers and provides a range of features like arbitrary timeframes, volume profile, and different types of candles and charts.
S#.Shell is a ready-made graphical framework with an open-source code in C#. It provides complete support for all StockSharp platform connections, S#.Designer schemas, and a flexible user interface. It also allows for strategy testing, saving and loading strategy settings, running strategies in parallel, and launching strategies on schedule.
Lastly, S#.API, a free C# library for programmers using Visual Studio, enables users to create any trading strategy. From long-timeframe positional strategies to high-frequency strategies (HFT), it provides direct access to the exchange (DMA).
5. OctoBot
OctoBot is a powerful, open-source cryptocurrency trading bot with a user-friendly interface. This tool supports multiple exchanges and offers comprehensive customization options, enabling users to formulate and implement their unique trading strategies. Key features of OctoBot include technical analysis, social media processing, and external statistics management, like Google trends.
What sets OctoBot apart is its evolutionary capabilities. Users can create, backtest, and optimize their trading strategies from scratch or by leveraging existing strategy bases. It supports the use of technical indicators (TA), Artificial Intelligence, and ChatGPT predictions to automate strategies. OctoBot also caters to SPOT and Futures markets across more than 12 supported exchanges.
Additionally, OctoBot is AI-ready. As Python is the primary language used for OctoBot, it's easy to integrate machine-learning libraries such as Tensorflow or other libraries. This advantage allows users to harness all available data and create powerful trading strategies.
One of the key benefits of OctoBot is its ease of deployment, particularly on platforms like DigitalOcean. Users can install, modify, and even create new tentacles to craft their ideal cryptocurrency trading robot. They are also encouraged to contribute to improving OctoBot's core repositories and tentacles.
Despite its power and versatility, it's important to note that using OctoBot comes with certain risks, and users should manage its use carefully. For more information, check out the OctoBot guides.
6. Hummingbot
Hummingbot is an innovative open-source framework designed to assist users in creating automated trading strategies or bots for cryptocurrency exchanges. The code, licensed under Apache 2.0, is freely accessible to the public.
Hummingbot stands out due to its exceptional features. It supports connectors to both centralized exchanges like Binance and KuCoin, as well as decentralized exchanges like Uniswap and PancakeSwap on various blockchains including Ethereum, BNB Chain, and others.
Hummingbot's cutting-edge V2 Strategies framework allows users to create powerful, backtestable strategies that span multiple venues and timeframes. The software is local client-based, ensuring the security of users' API keys and private keys by encrypting them and preventing exposure to third parties.
The framework is backed by an extensive global community of quant traders and developers who contribute to maintaining the connectors and developing strategies for the codebase. This community focus is driving the democratization of high-frequency trading, making robust trading algorithms accessible to everyone globally.
Hummingbot is unique in its approach to standardize trading logic and order types across different types of exchanges and blockchain networks. The Hummingbot codebase currently houses over 50 connectors, each contained in modularized folders. These connectors cater to various market types supported by different exchanges, including spot markets, perpetual swap markets, and Automatic Market Maker (AMM) methodologies for both centralized and decentralized exchanges.
7. Lumibot
Lumibot is an algorithmic trading library that simplifies backtesting and trading for a variety of financial instruments including stocks, options, cryptocurrencies, futures, and more. As a comprehensive tool, Lumibot is designed to make the process of using trading bots easy for different markets such as Crypto, Stocks, Options, Futures, FOREX, and others.
To assist users, Lumibot provides detailed documentation that guides them on how to effectively use the tool, accessible through their official website. This includes a step-by-step guide on getting started with Lumibot, making it a user-friendly platform even for those new to algorithmic trading.
One of the significant aspects of Lumibot is its commitment to open-source software. The library is covered by the MIT license, indicating its dedication to promoting collaboration and transparency within its user community.
8. Crypto trading bot
The Crypto Bot is a cryptocurrency trading bot developed using Python 3.9. This bot allows users to run their own trading strategies in various modes including trade, backtest, and live test. It's designed to easily integrate with exchanges.
To set up the Crypto Bot, you first need to install the necessary dependencies using the pip command. The next step is to create a .env file from the .env.dist for configuration.
The bot can be run with a specific symbol pair as an argument, for example, './main.py BTC_EUR'. Besides, any environment parameter can be overridden, such as setting the mode to live with 'MODE=live ./main.py BTC_EUR'.
There are several available modes for the Crypto Bot. The 'trade' mode allows trading on candlesticks. The 'live' mode enables live trading through WebSocket. The 'backtest' mode can test a strategy for a given symbol pair over a certain period. The 'import' mode is used to import datasets from exchanges for a given symbol pair and a period.
9. Binance Trading Bot
The Binance Trading Bot is an automated trading bot that uses a trailing buy/sell strategy. The bot follows price changes, allowing it to buy at the lowest possible price and sell at the highest possible price. It supports multiple buy/sell orders and can monitor multiple symbols simultaneously.
The bot employs MongoDB for database persistence and is compatible with Linux and Raspberry Pi 4 32bit. However, as it's a test project, users are warned to use it at their own risk, as the developer does not guarantee profitability and assumes no responsibility for any losses incurred.
10. HyperTrade
HyperTrade is a ready-to-deploy, distributed cryptocurrency trading bot designed with the user's diverse needs in mind. This bot was developed out of the author's fascination with the crypto market and desire to automate the buying and selling of assets. It's important to note that using HyperTrade comes with risks, and the author assumes no liability for users' trading outcomes.
HyperTrade is a feature-rich system. It offers a real-time web UI providing access to charts, technical indicators, and portfolio information. The system is highly configurable, allowing for assets and strategies customization without altering any code. Users can trade multiple crypto assets simultaneously.
Another prominent feature is its portability. Users can export their trades and real-time data frame to CSV. The system also has Telegram support, making it possible for users to receive real-time notifications and more on the move.
Designed with a ready-to-deploy Infrastructure as Code, HyperTrade can be swiftly deployed to Digital Ocean. Moreover, the system is easy to upgrade, allowing users to modify it to suit their specific needs.
However, it's crucial to understand that HyperTrade is currently under active development and was initially developed as an experiment. At present, it only supports Binance, but contributions to expand its capabilities are welcome. The author encourages users to leave a star as motivation or donate to support the project if they appreciate the idea.
11. Superalgos
Superalgos is a community-owned, open-source project that offers a free crypto trading bot and automated bitcoin/cryptocurrency trading software. The platform stands out for its ability to visually design your own crypto trading bot, utilizing integrated functions such as charting, data-mining, backtesting, paper trading, and multi-server crypto bot deployments.
Superalgos operates on a decentralized and token-incentivized Social Trading Network, which is designed to crowdsource trading superpowers for retail traders. The community is encouraged and incentivized through the project's native Superalgos (SA) Token, which is distributed among contributors to accelerate the project's development.
The Superalgos platform offers a variety of resources for users to get started. An online demo is available for interested parties to understand what Superalgos is about without having to install anything. The platform also provides comprehensive documentation, with over 1500 interactive and searchable pages available both on the website and within the app.
For those new to Superalgos, the platform offers a series of interactive tutorials to guide users through the system, teaching basic skills required to use the interface, mine data, backtest strategies, and even run a live trading session. It is recommended for users to complete all tutorials for a smooth onboarding experience.
As the platform grows, it continues to add tools and applications to its ecosystem, solidifying its position as a comprehensive solution for cryptocurrency trading.
12. Zenbot
Zenbot, a command-line cryptocurrency trading bot, was once a popular tool among traders. It was built using Node.js and MongoDB, and it was known for its fully-automated, technical-analysis-based trading approach. Zenbot supported various exchanges including Binance, Bitfinex, Bitstamp, Bittrex, GDAX, Gemini, HitBTC, Kraken, Poloniex, and TheRockTrading.
Moreover, it featured a plugin architecture for implementing exchange support or writing new strategies. Zenbot also offered a simulator for backtesting strategies against historical data and a "paper" trading mode that operated on a simulated balance while observing the live market. It allowed configurable sell stops, buy stops, and (trailing) profit stops, and it had a flexible sampling period and trade frequency.
However, it's important to note that Zenbot is no longer actively maintained. If you plan to use this tool in your project, ensure to update any dependencies. Please also bear in mind that Zenbot is not a sure-fire profit machine and should be used at your own risk.
13. CryptoSignal
Crypto Signals is a command-line tool designed to automate technical analysis (TA) of cryptocurrency. The tool is maintained by a community of traders, engineers, data scientists, project managers, and numerous generous individuals who aim to democratize equal and open access to Bitcoin, which they regard as the greatest wealth redistribution experiment in human and monetary policy history.
Crypto Signals provides tracking for over 500 coins across various exchanges including Bittrex, Binance, Bitfinex, Coinbase, Gemini, and more. However, it's important to note that usage is subject to local financial regulations that apply to the user and their financial activities.
The tool automates various technical analysis methods such as Momentum, Relative Strength Index (RSI), Ichimoku Cloud, Simple Moving Average, Exponential Moving Average, MACD, MFI, OBV, and VWAP. It also provides diverse alert options including SMS via Twilio, Email, Slack, Telegram, and Discord.
One of the standout features of Crypto Signals is its modular code, which allows for easy implementation of trading strategies. Furthermore, it offers the convenience of easy installation with Docker. Users should, however, be cautious and act wisely as they bear all risks associated with its use.
14. GoCryptoTrader
GoCryptoTrader is a developing cryptocurrency trading bot written in Golang. The bot is designed to support multiple exchanges and has a community on Slack to facilitate discussions about its development and use. It's important to note that GoCryptoTrader is still under development and not ready for production use.
One of the remarkable features of GoCryptoTrader is its extensive exchange support. It aims to support the top 30 exchanges sorted by average liquidity as ranked by CoinMarketCap. The support includes REST API and Streaming API, with FIX API being applicable to some exchanges. Exchanges currently supported include Binance, Bitfinex, Bitstamp, CoinbasePro, Gemini, Kraken, and others.
GoCryptoTrader offers a variety of features, including the support for all exchange fiat and digital currencies with the ability to individually toggle them on/off. It uses an AES256 encrypted config file for security. It also offers Websocket support for applicable exchanges and the ability to turn off/on certain exchanges.
Furthermore, GoCryptoTrader comes with a unified API for exchange usage and the ability to customize HTTP client features, including setting a proxy, user agent, and adjusting transport settings. It also includes communication packages (Slack, SMS via SMSGlobal, Telegram, and SMTP), an HTTP rate limiter package, and an NTP client package.
Features
- Extensive exchange support
- Support for all exchange fiat and digital currencies
- AES256 encrypted config file
- REST API support for all exchanges
- Websocket support for applicable exchanges
- Ability to turn off/on certain exchanges
- Unified API for exchange usage
- Customisation of HTTP client features
- Communication packages (Slack, SMS via SMSGlobal, Telegram and SMTP)
- HTTP rate limiter package
- NTP client package
- Database support (Postgres and SQLite3)
- OTP generation tool
- Connection monitor package
- gRPC service and JSON RPC proxy
- gRPC client
- Forex currency converter packages
- Packages for handling currency pairs, tickers and orderbooks
- Portfolio management tool
- Basic event trigger system
- OHLCV/Candle retrieval support
- Scripting support
- Recent and historic trade processing
- Backtesting application
- WebGUI (discontinued)
- Exchange HTTP mock testing
- Exchange multichain deposits and withdrawals for specific exchanges
15. BitVision
BitVision is an innovative, real-time charting and trading dashboard designed specifically for Bitstamp. It is unique in its design as it operates entirely within the terminal. This system comes equipped with an automated trading bot that utilizes machine learning to predict price changes and execute risk-adjusted trades daily.
BitVision stands out from other systems due to its simplicity and user-friendly nature. There is no requirement to host a server or go through the hassle of editing complicated setup files. Once installed, users can easily start the dashboard by running $ bitvision.
The key features of BitVision are its daily exchange rate graph and real-time monitoring of Bitcoin-related news, technical indicators, and blockchain network data. It also logs previous transactions and displays the user's current account balance. Users can access important portfolio metrics, such as the Sharpe Ratio, buy and sell accuracy, net profit, and returns.
BitVision also simplifies trading by providing easy toggling of automated trading and the ability to manually place orders. However, it's important to note that BitVision is still in its alpha stage. This means that some trading features may be buggy and not fully tested. Therefore, potential users should view all known bugs and use the system at their own risk.
16. TradingGym
TradingGym is a comprehensive toolkit designed for training and backtesting reinforcement learning algorithms. Inspired by the framework of OpenAI Gym, it aims to provide an environment not only for training but also for backtesting.
In the future, it plans to integrate a real-time trading environment through APIs such as the Interactive Broker API.
The training environment of TradingGym is originally designed for tick data, but it also supports OHLC (Open, High, Low, Close) data format. Please note that this feature is currently a work in progress.