freqtrade
Freqtrade - Crypto Trading Bot
What it is and what it does
Freqtrade is an open-source trading automation framework for cryptocurrency markets. It connects to major spot and futures exchanges via ccxt, executes buy/sell strategies defined in Python, and provides backtesting and hyperparameter optimization to refine those strategies before risking real capital. The bot can be controlled remotely via Telegram or a built-in web UI, stores trade history in SQLite, and includes tools for data download, visualization, and performance analysis.
The package is designed for developers and traders with Python knowledge who want to automate trading logic without building exchange connectivity from scratch. It emphasizes dry-run testing and backtesting as prerequisites to live trading, and includes adaptive machine learning capabilities for strategies that self-train to market conditions. The large dependency footprint reflects its breadth: technical analysis (TA-Lib, ft-pandas-ta), numerical computing (numpy, scipy), web serving (fastapi), and data serialization (orjson, pyarrow).
Use it for:
- Backtest a trading strategy against historical data before deploying it live on an exchange.
- Optimize strategy parameters using machine learning to find better entry/exit signals.
- Run a live trading bot on a schedule, receiving Telegram alerts and controlling it remotely.
- Analyze trade performance and generate profit/loss reports in fiat currency.
- Download and convert market data from multiple exchanges for research.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Freqtrade is a Python-based cryptocurrency trading bot that automates trading across major exchanges, with backtesting, strategy optimization via machine learning, and control via Telegram or web UI.
Yes, if you have Python knowledge and want to automate crypto trading with backtesting and optimization. Active maintenance, low install friction, and zero known vulnerabilities make it a solid choice. The GPLv3 copyleft license restricts commercial redistribution, and the project's own disclaimer emphasizes educational use—do not deploy without understanding the strategy and starting in dry-run mode. The 45 dependencies add complexity; verify your use case doesn't require all of them.
Install
freqtrade on PyPI
pip
pip install freqtradeuv
uv add freqtradepoetry
poetry add freqtradeInstalling freqtrade
Before you install
Low install friction with a pure-wheel distribution. Active maintenance with a recent release and strong community engagement. Requires Python 3.11 or later and brings 45 runtime dependencies including data science, exchange connectivity, and web frameworks.
License in practice
GPLv3 copyleft license means any derivative work or distribution must also be open source under GPLv3. Commercial use is permitted but modifications must be shared under the same license.
Quickstart
pip install freqtrade
freqtrade create-userdir
freqtrade new-config
freqtrade trade --config user_data/config.json
Requires Python 3.11+. Real trading requires exchange API credentials and careful configuration; the project strongly recommends starting with dry-run mode and backtesting before risking actual funds.
Verify before relying
- Whether the 45 runtime dependencies are all required for basic trading or if some are optional for specific features like machine learning or web UI.
- Performance characteristics and memory footprint when running live trading with multiple pairs or high-frequency strategies.
- Specific exchange API rate limits and whether the bot handles them gracefully.
Package facts
| License | GPLv3 (copyleft) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 45 — ccxt, SQLAlchemy, python-telegram-bot, humanize, cachetools, requests, httpx, urllib3, certifi, jsonschema, scipy, numpy, pandas, bottleneck, numexpr, TA-Lib, ft-pandas-ta, technical, tabulate, pycoingecko, python-rapidjson, orjson, jinja2, questionary, prompt-toolkit, joblib, rich, pyarrow, fastapi, pydantic |
| Maintenance | actively maintained — 14 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 75,170/month — #14,746 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: freqtrade-2026.7-py3-none-any.whl
Tags
More Investment packages
Generates country- and subdivision-specific…
permissive · top 1,000 on PyPI
yfinanceFetches financial and market data from Yahoo…
permissive · top 1,000 on PyPI
numpy-financialProvides elementary financial functions (IRR,…
permissive · top 5,000 on PyPI
ccxtCCXT is a unified API library for connecting to…
permissive · top 5,000 on PyPI
databentoOfficial Python client for accessing live and…
permissive · top 5,000 on PyPI
edgartoolsEdgarTools parses SEC EDGAR filings into typed…
permissive · top 5,000 on PyPI
lumibotLumibot is a Python framework for building,…
permissive · top 15,000 on PyPI
nautilus_traderNautilusTrader is a Rust-native event-driven…
copyleft · top 15,000 on PyPI
backtraderBacktrader is a Python backtesting and live…
copyleft · top 15,000 on PyPI
backtestingBacktesting.py lets you define and test trading…
agpl · top 15,000 on PyPI
python-binanceUnofficial Python wrapper for the Binance…
permissive · top 15,000 on PyPI
python-kraken-sdkProvides REST and WebSocket clients for trading…
permissive · top 15,000 on PyPI
tardis-devProvides async access to tick-level historical…
copyleft · top 15,000 on PyPI
finlabBacktest trading strategies on Taiwan stock…
copyleft · top 15,000 on PyPI
krakenexProvides a minimal Python interface to the…
copyleft · top 15,000 on PyPI