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.

Two free bots, one honest difference

Both are free, both are open, both are funded by exchange rebates rather than by you, and both will run a perpetual-futures strategy on your own machine for months. They are also built for two different people, and the gap that matters is not the interface.

OctoBot is GPL-3.0 Python with a web interface. Sixteen trading modes ship — grid, DCA, crypto basket, TradingView signals, arbitrage, staggered orders, two market-making modes — and you configure rather than write. It installs as an executable, a Docker image or a marketplace app.

Passivbot is public domain, Python around a Rust core, and has no interface at all. You describe a contrarian perp market maker in JSON — price bands, an EMA context, exposure limits, a profit margin, a trailing retrace — and leave it running. The same Rust orchestrator computes order placement for the backtest and for live trading, which is a stronger guarantee of parity than most frameworks in this catalogue can make.

The funding gap, which is the whole page

A perpetual position pays or receives funding every few hours. Over a strategy that holds positions for weeks, funding is not a rounding error — it is frequently the largest single cash flow after the entry and the exit.

OctoBot charges it, at one constant rate forever. The fee is debited from the simulated wallet, liquidation is modelled, and the rate is a single configured value — default 0.00005, always positive — applied to every interval of the run. Real funding flips sign and spikes; this one does neither. The cause is structural rather than careless: the history collector only implements candle download, so there is no funding series to charge against.

Passivbot does not charge it at all. Nothing in the shared Rust engine credits or debits a funding payment, in backtest or in live accounting. A long-biased grid backtested through a period of positive funding will show money the account would never have had — and the sign of the error depends on which side the strategy was on, which is worse than a constant bias because it is not correctable by eye.

So: one of them is wrong in a known direction by a known amount, and the other is silent. Neither is a reason to reject the software; both are reasons to check funding separately before believing a curve. That is a general problem in this category, not a defect unique to these two.

The rest of the trade

Interface against control. Sixteen modes in a browser, or a JSON file and a command line. OctoBot's modes cover more strategies than Passivbot will ever have; Passivbot does one thing and exposes every parameter of it.

Paper trading. OctoBot has it. Passivbot's fake exchange is a regression fixture, not a simulator, so the distance from backtest to live money is one config change.

Slippage. Neither models it. OctoBot's limit orders fill in full the moment price touches them, and simulated fees default to zero unless you set them. Read both cards' Limitations before sizing anything.

The hosted escape hatch. OctoBot has one — OctoBot Cloud is a separate product, not a tier, and it runs the same engine on the vendor's infrastructure. Passivbot has nothing of the kind, by design.

Which one, and when

Take OctoBot if you want to try several strategies without writing code, if you want a paper run before real money, or if a graphical interface is the difference between doing this and not doing it. Its funding model is wrong in a bounded, predictable way, which is the better kind of wrong.

Take Passivbot if you know exactly the strategy you want — a contrarian grid on perps, held for months — and you would rather have one engine shared between backtest and live than a configurable suite. Then measure funding on your own pairs and your own period, and adjust the backtest by hand, because the software will not do it for you.

Take neither if the backtest is the point rather than the bot. Freqtrade reads maker and taker fees from the exchange and downloads funding per venue; NautilusTrader will settle funding if you bring the data; hftbacktest models queue position and latency. The engines built for research are on the backtesting shelf, and this page is about two bots.

FAQ

Which one models funding in a backtest?

OctoBot, partially. It does debit funding from the simulated wallet and it models liquidation, but the simulated exchange returns one configured value for every interval — 0.00005 by default and always positive. Passivbot does not model funding at all; grepping the whole tree for "funding" returns one file, and there it is a note about stock prices. For a bot that holds perpetual positions for months, that is the most consequential difference on this page.

Why does OctoBot use a constant rate instead of real history?

Because it has no funding history to use. Its history collector implements candle download and nothing else — the ticker, order-book, recent-trades and kline collectors are empty stubs — so there is no historical funding series to charge against, even though the backtesting database has a table waiting for one. The constant is a consequence of the data layer, not a modelling choice.

Which is easier to run?

OctoBot, clearly. It installs as an executable on Windows, macOS, Linux or a Raspberry Pi, or as a Docker image, and you configure it in a web interface by picking one of sixteen trading modes. Passivbot is a JSON configuration file and a command line, with a Rust core underneath. If you would not enjoy editing JSON for an afternoon, that settles it.

Who pays for them, given both are free?

Exchanges, in both cases, and both document it. OctoBot states on its own exchanges page that it relies on exchange partnerships and that trading on partner venues supports the project, with nineteen partners and referral links in the README. Passivbot ships broker_codes.hjson with codes for Binance, Bybit, Bitget, OKX, KuCoin, GateIO and WEEX, and lists Hyperliquid, Bitunix, defx and paradex with null to say explicitly that those carry no broker payload.

Can I paper-trade before going live?

OctoBot yes, Passivbot no. Passivbot's fake exchange harness is a deterministic regression fixture rather than a paper-trading mode, so the step between a backtest and real money is shorter than most people expect.