Freqtrade vs Jesse

Two Python frameworks that run one strategy class in backtest and live. The one that charges 899 dollars simulates a perpetual less than the free one.

One design, two bargains

Both are Python frameworks built around the same promise: you write the strategy once, as a class, and the same class runs in the backtest and against the exchange, so there is no second implementation to drift. Both ship no data and pull candles from the venue you trade. Both are open source on GitHub and both were pushed to in the last week.

The difference is where the money sits. Freqtrade is GPL-3.0 with nothing for sale at all — the backtester, the dry run and live trading are the same free program. Jesse is MIT for the backtesting engine and sells the live half as a closed, pre-built plugin: 899, 999 or 1,599 dollars once. On the free licence the only exchanges you can trade are testnets.

So the question for this page is not which is cheaper. It is whether the half you pay for in Jesse buys a better backtest. On perpetuals, it buys a worse one.

The fee difference that is not there

Freqtrade usually gets the credit for the better fee model, because it reads the venue's own rates where other engines assume zero. That part is true. What the backtester then does with them, in its source, is take both the maker and the taker rate and charge the higher — logged as the "worst case fee from exchange (lowest tier)" — on every entry and every exit.

Jesse pre-fills the venue's taker rate per exchange, 0.1% on Binance spot and 0.04% on Binance perpetuals, and charges it on every fill.

Those are the same model. One rate for all fills, and on nearly every venue it is the taker rate. A strategy that rests limit orders and earns the maker fee is overcharged by both, and the correction in both is a number you type in. Choose on something else.

A perpetual is where they part

Funding. Freqtrade in futures mode downloads mark and funding-rate series alongside the candles and settles each payment during the run. The condition is that the venue serves funding history at all: the docs warn that many provide candles and marks without it, the fallback is a constant you set, and they recommend setting it to zero. On OKX, marks reach back about three months, so funding before that window is not computed correctly. Jesse settles nothing — the position's funding rate returns zero unless the bot is live. For a position held through weeks of settlements that is not a rounding error; it is frequently the largest cash flow after the entry and the exit.

Liquidation. Freqtrade computes a liquidation price, keeps a buffer above it as the stop, and will exit the backtest at it. It does not charge the liquidation fee, and the docs say that makes any run that actually gets liquidated inaccurate. Jesse checks for liquidation only in isolated margin, ships cross as the default, and in cross the liquidation price is NaN — so at default settings a leveraged backtest cannot be liquidated at all.

Neither models slippage: both fill at a price the candle allows, with nothing taken off for size or a thin book. That is a shared limit, not a reason to choose.

The upshot is the asymmetry in the description. For a perpetual strategy, the free program is the more honest simulator at default settings, and the 899 dollars buys live trading of a backtest that left out funding and liquidation.

What the licence actually buys

Jesse's Basic licence unlocks every live exchange, paper trading and DEX support — and restricts live trading to hourly and daily candles, on one IP and one trading route. A strategy developed on five-minute bars needs Pro at 999 dollars. Freqtrade has no such tier because it has no tiers.

The live plugin is also the part that cannot be read. It arrives as a binary for your OS and Python version, so whatever it does with fees and funding in live trading is not checkable from the repository. Freqtrade's live loop is in the same GPL tree as its backtester.

Where Jesse is genuinely ahead

Research ergonomics, and not as a courtesy. Jesse replays one-minute candles and builds larger timeframes from them as it goes, so a rule on the four-hour chart that checks the one-hour chart cannot see a bar that has not closed. It ships Monte Carlo analysis by trade-order shuffling, bootstrap significance testing for a single entry rule, and Optuna optimisation with separate train and test periods. A search of Freqtrade's documentation and package for Monte Carlo, bootstrap or significance testing found nothing of the kind; it has Optuna hyperopt and lookahead and recursive-analysis commands, and its intra-candle detail needs a second, faster timeframe downloaded and passed with --timeframe-detail.

What Jesse asks for in return is a stack: PostgreSQL, Redis, a project scaffold and a dashboard. Freqtrade is Docker or Python 3.11 and TA-Lib.

Where neither helps

Hyperliquid. Both trade it live; neither can backtest it, because the venue does not return enough history. Jesse adds Lighter, Apex Omni, Gate.io spot and Kraken Pro spot to that list. If the venue is the point, the framework choice does not fix it.

Pair selection, in Freqtrade. Its dynamic pairlists do not run in a backtest, so the backtest trades a static list while the live bot re-picks its universe. If the live bot is going to choose its own pairs, the backtest you are reading did not.

Hummingbot is the third name in most lists like this one, and it is not on this page because it is a different purchase: a market-making framework whose backtester cannot run the quoting strategies it is known for. If your strategy rests quotes, read that card instead.

Which one, and when

Take Freqtrade if the strategy holds perpetuals, if it trades below the hour, or if you would rather not pay to find out whether it works live. It is free on both halves, and on a perpetual it settles funding and liquidation at default settings where Jesse does neither. Check first that your venue serves funding history, and type in your own fee.

Take Jesse if the strategy is spot — where funding and liquidation do not arise — runs on hourly bars or slower, and the Monte Carlo and significance tooling is work you would otherwise do yourself. Then you are buying research ergonomics and a live plugin sold once, not a better simulation. If anything in it runs below the hour, the licence you are pricing is Pro, not Basic.

Do not plan to research in one and run in the other. The strategy classes are not interchangeable, and a rewrite between backtest and live is the exact bug both frameworks exist to remove.

FAQ

Which one has the more realistic fee model?

Neither, and the difference usually repeated does not exist. Freqtrade reads the venue's maker and taker rates and charges the higher of the two on every entry and exit; Jesse pre-fills the venue's taker rate and charges it on every fill. Both are one rate for all fills, and on almost every venue that rate is the taker fee. A strategy that earns the maker rate is overcharged in both unless you type in your own number.

Which one models funding and liquidation on perpetuals?

Freqtrade, at its default settings, where the exchange serves funding history. In futures mode it downloads mark and funding-rate series and settles funding against them, and it exits a position at its liquidation price. Jesse charges no funding in a backtest — its funding rate returns zero unless the bot is live — and checks for liquidation only in isolated margin while shipping cross as the default.

What does Jesse's 899 dollars buy that Freqtrade gives away?

Live and paper trading — the free Jesse trades testnets only. Basic, at 899 dollars once, also restricts live trading to hourly and daily candles, so a strategy built on five-minute bars needs the 999-dollar Pro licence. Freqtrade trades live and dry-runs at any timeframe for nothing.

Then what is Jesse better at?

Research. It replays one-minute candles and builds every larger timeframe from them as it goes, so a multi-timeframe rule cannot see the future, and it ships Monte Carlo analysis by trade-order shuffling and bootstrap significance testing for an entry rule. A search of Freqtrade's documentation and package found neither, and its intra-candle detail needs a second, faster timeframe downloaded and passed by flag.

Can I backtest a Hyperliquid strategy in either one?

No. Both trade Hyperliquid live and neither can backtest it, because the venue's API does not return enough history. Choosing between these two frameworks does not change that; the history has to come from somewhere else.

Report an error on this page

Quote the line and say what it should be.

The vendor’s page, filing or documentation that says otherwise.

Only if you want to hear back. Never published.

Read by a person. It fixes a fact and moves nothing else.