OctoBot
GPL-3.0 Python bot with a web interface for grid, DCA, basket and TradingView strategies.
Last updated
What it is
A crypto trading bot you install on your own machine and configure through a graphical interface, rather than a framework you write strategies in. That is the distinction worth holding on to: most of what OctoBot does is pick a trading mode, point it at a pair and an exchange, and tune it. Sixteen modes ship — grid, DCA, crypto basket, TradingView signals, an LLM mode, copy trading, arbitrage, staggered orders, two market-making modes and a handful of technical ones.
It is written in Python and has been going since 2018. Installation is an executable for Windows, macOS, Linux and Raspberry Pi, a Docker image, a DigitalOcean marketplace app, or pip. The documented hardware floor is 1 core at 1 GHz, 250 MB of RAM and 1 GB of disk, which is a real claim rather than a marketing one — this runs on a Pi.
The current release has changed what the product is, and that is the most important thing on this page. Since the 3.0 beta line, starting OctoBot boots it into node mode: your machine becomes a backend, and the interface you actually use is a web app the vendor hosts at new.mobile.octobot.cloud, or a mobile app in Play Store beta and TestFlight. The pitch for it is self-custody and end-to-end encryption — keys stay on your node — but the front end is on somebody else's domain and your node has to accept inbound connections, for which the vendor's own guide recommends putting it behind Tailscale rather than exposing it. The classic self-contained web interface still exists, inside a "manual OctoBot" instance you start from the node, and that is also the only place backtesting, Telegram and TradingView workflows live.
Licensing has a wrinkle worth knowing before you fork it. The repository root is GPL-3.0 — the
LICENSE file itself, Version 3, identical on master and dev. But the libraries the bot is
assembled from, now vendored into packages/ in the same repository, each carry their own
LGPL-3.0 file: trading, backtesting, commons, tentacles, async_channel. The assembled product
is GPL; the pieces you might want to link against are weaker copyleft.
Liveness in dates, as of 19 September 2026. Not archived. Last commit on master 15 September, on
dev 18 September. The releases feed, though, tells a slower story than the commit feed: the
latest release is 3.0.0-beta2 from 6 August 2026, and the last non-beta release is 2.1.1
from 30 March 2026 — nearly six months of stable silence while the rewrite lands. PyPI matches,
with 2.1.1 as stable and both 3.0 betas as pre-releases. Open issues stand at 156, counted without
pull requests; the API's own figure of 171 includes them.
If you go looking for OctoBot-Trading, OctoBot-Backtesting or OctoBot-Tentacles on GitHub you will
find them archived, with a last push in early 2026. That is a consolidation, not an abandonment:
the code moved into packages/ in the main repository and is under active commit there. Worth
saying out loud, because an archived dependency stack is the first thing that reading looks like.
Pricing
The self-hosted bot is free and there is no paid tier of it, no token and no strategy you have to buy. Two things are for sale next to it, and neither changes that.
The vendor states the funding model on its own exchanges page: "our goal is to keep providing the open source OctoBot for free… Therefore we rely on exchanges partnerships. By using OctoBot on real trading with our partner exchanges, you contribute to support the project and it won't cost you any money." Nineteen exchanges are currently partners. The README carries referral links for Binance, Bybit, MEXC, KuCoin and TradingView.
OctoBot Cloud is a separate product, not a tier of this one — hosted, the vendor runs it, and
you do not install anything. Its plans, read from the pricing page's own data on 19 September 2026
with the billing toggle on its default monthly setting: Investor is free; Investor Plus is
$9.99/month ($95.88/year, or $7.99/month equivalent; $149.99 lifetime); Pro is $29.99/month
($311.88/year, or $25.99/month equivalent; $499.99 lifetime). Both paid plans carry a 7-day trial
and can be paid in crypto. Different buyer, different key custody, and worth knowing that no Cloud
tier includes the backtester — its own feature matrix marks strategy_backtester unsupported on
all three.
The third thing is a commercial licence. The README invites institutions wanting "a commercial license or custom development" to email the company directly. No price is published, so there is no number here to quote.
Data & coverage
OctoBot ships no market data. Prices come from the exchange you are connected to, through ccxt, over websockets where the venue supports them and REST polling otherwise — and the docs are blunt about what REST costs you: "it might take a few seconds to update prices and orders" and only a limited number of pairs can be handled at once. Backtest candles are downloaded by the built-in data collector and stored locally, so your history is as deep as the venue's candle endpoint.
Twenty exchanges are officially supported: Binance, Binance.us, OKX, KuCoin, Coinbase, Bybit, Crypto.com, HTX, Bitget, Hyperliquid, BingX, MEXC, CoinEx, BitMart, HollaEx, Phemex, Gate.io, Okcoin, WEEX and LBank. Anything else reachable through ccxt "in theory should work", and the vendor's own sentence is that only partner and officially supported exchanges are regularly tested, and that using another is at your own risk — which is a more honest line than the "100+ exchanges" most of this category prints.
Nineteen of those twenty officially supported exchanges are also listed as paying partners. Binance.us is the only exception. That is not an accusation; it is the funding model working as described. But it does mean the tested list and the sponsor list are, for practical purposes, one list, and a venue that stops paying is a venue that stops being tested. A further seven — Kraken, HitBTC, Bitfinex, Bittrex, Bitstamp, Poloniex and Wavesexchange — appear as supported but unpartnered, and that section is where the page has aged least well.
One venue caveat from the README that a reader would want before choosing: Bybit's API is described as not currently available, with support expected back after a recent exchange-side update.
Integrations
There is a real command line underneath the interface, which is easy to miss given how much of the
product is a form: --simulate forces the trader simulator, --backtesting runs against
downloaded data files, --strategy_optimizer sweeps a configuration, --no_web drops the
interface entirely and --encrypter handles exchange keys. That is the surface to script against
on a headless server.
The classic web interface is a Flask app that serves a REST API alongside the pages —
/trades, /orders, /positions, /pnl_history and /historical_portfolio_value, all JSON —
and node mode adds a second API for accounts, bots, wallets and tasks. Charts are Plotly, loaded
from a CDN, with candlesticks in the trading view and portfolio value over time.
TradingView drives it by webhook: the alert body is OctoBot's own format and carries a token you generate. There is a Telegram interface for control and notifications, and service feeds that bring outside signals into an evaluator — CoinDesk, Reddit, Twitter, Google Trends, LunarCrush, the Fear and Greed index.
The LLM mode talks to OpenAI or to a local Ollama model: it assembles market context, asks for an
opinion and trades on the reply. Two things about that flagged honestly. It is your key, your
model and your pair, and the project sells no signals of its own — which is why this card carries
ai_features: research rather than the boundary-crossing value. And OctoBot is an MCP client,
not a server: the LLM service takes a list of MCP server configurations and discovers tools on
servers you configure, which is the opposite direction from what the
tools with MCP listing collects.
Limitations
The backtester charges one constant funding rate for the entire run. It does charge funding, which puts it ahead of several engines in this catalogue — the fee is debited from the simulated wallet, and liquidation is modelled. But the simulated exchange returns a single configured value for every interval, defaulting to 0.00005 and always positive. Real funding flips sign and spikes; a backtest here pays or earns the same tick forever. The reason is structural: the history collector only implements candle download — the ticker, order-book, recent-trades and kline collectors are all empty stubs — so there is no historical funding series to charge against, even though the backtesting database has a table waiting for one.
There is no slippage model. Searching the whole repository turns up slippage_limit only as a
parameter on the scripting library's order helpers, which caps what your own order will accept.
Nothing in the simulator moves a fill price against you.
Simulated fees default to zero. Maker and taker fees in a simulation come from the profile configuration, and the fallback when a profile omits them is 0.0. A backtest run on defaults is a backtest with no trading costs at all, which for a grid bot placing hundreds of round trips is the difference between a result and a fantasy.
Limit orders fill in full when price touches them. The simulator raises a price-hit event against the simulated feed and fills the order; there is no queue position and no volume constraint. For the grid and market-making modes, which is much of what people install this for, that is the optimistic end of the range.
Backtesting is not in the default mode. In node mode — what the latest release boots into —
the documented route to a backtest is to start a separate manual OctoBot instance, along with
Telegram and TradingView. The command line still has --backtesting and --strategy_optimizer
flags, so the engine is reachable without the UI; what has moved out of reach is the workflow in
the interface you are being steered towards.
The stable release is six months old. 2.1.1 shipped on 30 March 2026 and everything since has been a 3.0 beta, with the vendor's own README saying the beta "is a work in progress. You may hit bugs or incomplete features." Commits are daily; releases you would run real money on are not.
No trade-data export in any tabular format. The REST API returns JSON and the web interface can export a strategy profile, but there is no CSV writer anywhere in the interface or the trading package. Anything going to a spreadsheet or a tax tool goes through the API first.
The web interface is trusted-network software. The classic one has a login, but the node's connection guide's answer to reaching it from outside is a Tailscale network, not an exposed port, and the troubleshooting section is about firewalls and antivirus rather than hardening. Treat it accordingly.
Alternatives
Freqtrade is the same idea for people who would rather write the strategy than configure it: a Python class instead of a mode and a form, real maker and taker fees read from the exchange in backtests, and mark and funding candles downloaded per venue rather than assumed constant. It has no graphical strategy builder and nothing hosted.
Hummingbot overlaps on the automation job and is far deeper on market making and DEX access, but its backtester is weaker than this one — no funding, no liquidation, flat costs — and its interface is a terminal.
Jesse is worth a look if the reason you are here is the backtest rather than the bot: it is built research-first, and trading live is the thing it does second.
OctoBot Cloud is the answer when you do not want a server at all. It is a different purchase with different key custody, and the prices above are a starting point rather than a comparison — it does not backtest on any tier.
Specs
- Interfaces
- API, webhooks, Python
- Export
- JSON, API
- Asset classes
- Spot, Perpetuals
- Chains
- —
- Venues
- CEX, DEX
- KYC required
- No
- Platforms
- Web, CLI, Desktop win, Desktop mac, Desktop linux
- AI features
- Research
- Capabilities
- Charting, Backtesting, Automation, Live trading, Paper trading, Portfolio tracking, Alerts
- Pricing verified
- Capabilities verified
- Coverage verified
Also from OctoBot
Head to head
- OctoBot vs Passivbot — Two free perp bots funded by exchange rebates — and on the one number that decides a perpetual position, one charges a constant and the other charges nothing at all.
Also worth comparing
- GoCryptoTrader — A Go trading engine for 22 exchanges that has never cut a release or a tag.
- Passivbot — A contrarian perp market maker you configure in JSON and leave running for months.
- 3Commas — Hosted DCA, grid and signal bots over nine exchanges, with your keys on their servers.
- Bitsgap — Hosted grid, DCA and futures bots on seventeen venues, with no API and no webhooks.
- Cryptohopper — Hosted spot bots built in forms, one bot per subscription, with a marketplace attached.
- Gunbot — A closed-source bot you install once, licensed against an ERC-20 wallet you control.
Named as a replacement for
On these shelves
Background
How this part of the industry works, rather than which product to pick.
- What a crypto backtest silently assumes — Every engine ships a fill rule and a cost model with defaults. What those defaults assume about fees, funding and liquidation, and which engines model which.
- Who pays for your free trading bot — Free crypto bots and terminals are usually paid for by the venue. The five mechanisms, what each does to your order, and how to find them in ten minutes.
FAQ
Is OctoBot free?
The self-hosted bot is, under GPL-3.0, and that is what this card describes. OctoBot Cloud is a separate hosted product with its own monthly plans, and the vendor also sells commercial licences to institutions. There is no OctoBot token and nothing is gated on holding one.
Does OctoBot model funding rates when backtesting perpetuals?
It charges funding, which is more than most engines here do, but at one constant rate for the whole run — the simulated exchange returns a single configured value, default 0.00005 per interval and always positive. Historical funding is not collected, because the data collector only downloads candles.
Which exchanges does OctoBot actually support?
Twenty are officially supported and the rest of ccxt is explicitly at your own risk. Nineteen of those twenty are also paying partners — every one except Binance.us — so on this card the tested list and the sponsor list are very nearly the same list.
Can I still use the classic OctoBot web interface?
Yes, but it is no longer the default. The latest release boots into node mode, where your machine is a backend for an interface the vendor hosts; the classic interface, backtesting, Telegram and TradingView all live inside a "manual OctoBot" instance you start from the node.
Does OctoBot ship an MCP server?
No, it is the other way round. OctoBot is an MCP client — its LLM service takes a list of MCP server configurations and calls tools on servers you point it at. Nothing in the repository serves MCP.