OctoBot

GPL-3.0 Python bot with a web interface for grid, DCA, basket and TradingView strategies.

Last updated

From
Free
Latency
Realtime
Licence
GPL-3.0
Self-hosted
Yes

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 PassivbotTwo 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

  • GoCryptoTraderA Go trading engine for 22 exchanges that has never cut a release or a tag.
  • PassivbotA contrarian perp market maker you configure in JSON and leave running for months.
  • 3CommasHosted DCA, grid and signal bots over nine exchanges, with your keys on their servers.
  • BitsgapHosted grid, DCA and futures bots on seventeen venues, with no API and no webhooks.
  • CryptohopperHosted spot bots built in forms, one bot per subscription, with a marketplace attached.
  • GunbotA 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 assumesEvery 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 botFree 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.