# What to use instead of Gekko

Gekko was archived on 16 February 2020 and the install command in its own docs stopped working in 2022. Four catalogue tools that cover what it did.

*https://cryptomarkets.tools/alternatives/gekko*

## The subject

| Field | Value |
| --- | --- |
| Product | Gekko |
| Status | retired |
| Stopped serving | 2020-02-16 |
| Website | https://gekko.wizb.it |
| Category | Crypto Trading Bots & Execution SDKs |

A free Node.js trading bot — a technical-analysis strategy written in JavaScript, backtested against imported candles, paper-traded, then run live on a spot exchange, all from one browser tab.

## Replacements

*Ordered by how little work the switch takes, least first. Paid placement does not affect this order.*

1. [OctoBot](https://cryptomarkets.tools/tools/octobot.md) — The browser tab back — install it, connect a key, and run backtest, paper and live from one web interface without writing Python first.
2. [Freqtrade](https://cryptomarkets.tools/tools/freqtrade.md) — The whole Gekko loop in one tool — download candles, backtest, dry-run, go live — once you have rewritten the strategy as a Python class.
3. [Jesse](https://cryptomarkets.tools/tools/jesse.md) — A stronger research loop for the same candle strategies, if backtesting was the point. Free to backtest; live trading is a paid plugin, not a mode.
4. [CCXT](https://cryptomarkets.tools/tools/ccxt.md) — If you were patching Gekko's exchange adapters yourself, this is that layer, maintained, across 104 venues. The bot is yours to build on top.

## The product

Gekko was the crypto trading bot most people met first. It was free, MIT-licensed, and it ran on
your own machine — a Node.js process, a SQLite file of candles, and a web interface you opened on
localhost. In that interface you imported history from an exchange, backtested a strategy against
it, watched the equity curve, ran the same strategy in what the docs call "fake money" mode, and
then, when you were ready, pointed it at a real key. One tool, one screen, the whole loop. It
shipped a set of technical-analysis strategies and more than 130 indicators, and a strategy was a
JavaScript file with three callbacks — `init`, `update(candle)` and `check(candle)` — that ended
in `this.advice('long')` or `this.advice('short')`. You could read one in five minutes and write
one in an afternoon. That is why it collected 10,177 stars and around 3,800 forks, and why every
"how to build a trading bot" post of the 2017 cycle ended up pointing at it.

Its author stopped. The repository was **archived by the owner on 16 February 2020** and is now
read-only, and the README leads with the sentence "I am officially not maintaining this project
anymore." The commit that added that sentence, on 16 February 2020, is the last one on the
develop branch. The last commit that changed the program rather than the notice was on
**29 April 2019** — so the honest end date for the software is earlier than the end date for the
project.

What makes Gekko worth a page in 2026 is that it does not look dead. Checked on
**21 September 2026**, the documentation site answers with HTTP 200 and so does the forum. The
docs even tell you the truth: "This project is not maintained anymore" sits at the top of every
page. Underneath it, the installation page still instructs you to run
`git clone git://github.com/askmike/gekko.git -b stable`, and GitHub **permanently disabled the
unencrypted git protocol on 15 March 2022** — a clone with that URL now hangs and times out
rather than failing with anything a reader could interpret. The prerequisites underneath say Node
"at least version 8.11.2". The dependency list in `package.json` pins `koa` at 1.x, `lodash` at
2.x and `sqlite3` at 4.x. And the supported-exchanges page still lists GDAX, BTCC, wex.nz and
Quadriga CX among the venues you can trade on.

The forum is the same shape of trap. It is up, it accepts registrations, and its busiest
sections — Strategy Development, Technical Support — have last posts dated 2021. A search engine
will happily hand you a thread about your exact error. The thread is five years old and describes
an exchange API that has been replaced twice since.

## What to use instead

**Expect to rewrite the strategy, not to migrate it.** Nothing in this catalogue reads a Gekko
strategy file, and nothing reads its SQLite candle database either. What transfers is the idea —
the indicator, the threshold, the rule you convinced yourself of — and the order of this list is
how much work stands between you and that idea running again.

**If what you want back is the browser tab.** [OctoBot](https://cryptomarkets.tools/tools/octobot) is the closest thing here
to the experience of running Gekko: you install it, open a web interface, connect exchange keys
and configure a strategy in the UI rather than in a file. Grid, DCA, basket and TradingView-signal
strategies are configured rather than coded, and it backtests, paper-trades and trades live on 20
tested exchanges. The difference that will bite is that OctoBot's custom strategies are Python
packages, not a file you paste into a text box — so if your Gekko use was picking a bundled
strategy and turning two knobs, this is a short trip, and if it was writing your own, it is not.

**If what you want back is the whole loop, in code.** [Freqtrade](https://cryptomarkets.tools/tools/freqtrade) is the
practical successor and the one most Gekko refugees end up on. Free, GPL-3.0, self-hosted, and it
covers the same arc in one tool — it downloads the candles itself, backtests, hyper-optimises,
dry-runs against live prices, then trades live with the same strategy class. The cost of entry is
Python and a different mental model, which the migration notes below get into.

**If the backtest was the point.** Plenty of people never let Gekko near a real key and used it as
a research tool. [Jesse](https://cryptomarkets.tools/tools/jesse) is built for that reading: a Python research framework with
a much better-specified engine, spot and perpetuals, and a candle importer. Two caveats worth
knowing before you install it. Its live and paper trading run through a closed-source plugin that
costs $899 one-time at the Basic tier, where Gekko's live mode was free; and its free tier limits
live trading to exchange testnets. If the plan was always to go live for nothing, Freqtrade is the
answer and Jesse is not.

**If you were maintaining the exchange layer anyway.** A fair number of Gekko installations were
kept alive by someone patching `exchanges/` to keep up with a venue's API changes. That job now
has a maintained home: [CCXT](https://cryptomarkets.tools/tools/ccxt) is one MIT interface over 104 exchanges, 76 of them
over websocket, in eight languages including JavaScript — which is the one pick here that lets you
stay in Node. It is not a bot. It gives you fetching, normalisation and order entry, and the
strategy loop, the scheduler, the state and the backtester are yours to write.

Two things this list deliberately does not contain. [Hummingbot](https://cryptomarkets.tools/tools/hummingbot) is excellent
and is for market making, which is not what Gekko did. And no fork of Gekko is on it, because none
of them has a card here and recommending an unexamined fork of an abandoned codebase to somebody
who is about to give it an API key is not a recommendation.

## What you give up

**JavaScript, and the shelf of strategies written in it.** This is the real loss. Gekko's strategy
format was small enough that a whole cottage industry of free and paid `.js` strategies grew
around it, and none of them run anywhere else. Three of the four picks are Python. CCXT speaks
JavaScript but has no strategy format to speak it in. Whatever you had — your own file, something
from the forum, something you bought — is now a specification you re-implement, not an asset you
move.

**The operational weight of one process and one file.** Gekko was `npm install`, `node gekko --ui`,
and a SQLite database you could open with any tool on your machine. Freqtrade's recommended path
is Docker Compose with a config JSON, a strategies directory and a data directory. Jesse expects a
database and a cache service alongside it. OctoBot ships desktop builds and is the lightest of the
three, but none of them is a single Node process and a file you can `sqlite3` into. If Gekko was
running on a Raspberry Pi in a cupboard, budget for that changing.

**Ten years of search results that are about your exact problem and are now wrong.** A project
with 10,000 stars leaves a very deep trail — forum threads, Stack Overflow answers, YouTube
walkthroughs, blog posts. All of it is still indexed, none of it is marked as expired, and the
docs and forum being live is what keeps it ranking. The replacements have better documentation and
a fraction of the folklore, so the first time you hit something odd you will be reading a
reference page instead of finding somebody who had the same error in 2018.

## Migration notes

**The strategy's shape changes, not just its language.** Gekko called `check(candle)` once per
candle and you kept your own state between calls — a `currentTrend` variable, a counter, a flag.
Freqtrade hands your strategy a whole pandas DataFrame and asks you to populate entry and exit
columns across it at once. Code that was written as a state machine does not translate line by
line into a vectorised transform, and the place it silently goes wrong is lookahead: in Gekko you
could not see the future because you only had one candle, and in a DataFrame you can, trivially,
by reading a row you have not reached yet. Check every shift and every rolling window.

- **Your candle database is exportable, and its timestamps are in seconds.** Gekko's SQLite
  `candles` table is `start, open, high, low, close, vwp, volume, trades`, and `start` is written
  as `candle.start.unix()` — unix **seconds**. Every engine here wants milliseconds. A history
  imported without multiplying by 1,000 lands in January 1970 and backtests as an empty range,
  not as an error. The `vwp` column — Gekko's volume-weighted price for the bar — has no
  equivalent anywhere on this list; drop it.
- **Do not port the pair list.** Four of the venues on Gekko's supported-exchanges page no longer
  operate, and the ones that do have renamed markets since. Rebuild the list from the exchange's
  current symbols rather than from your old config.
- **Fees and slippage were a config value, and the default is not the same anywhere else.**
  Gekko's paper trader took a fee percentage and a slippage percentage and filled at the candle
  close. Each engine here ships its own defaults and its own fill rule, and the difference is
  worth more than most strategy tweaks — [what a crypto backtest silently assumes](https://cryptomarkets.tools/guides/what-a-crypto-backtest-assumes)
  is the version of this argument with the engines named.
- **Gekko was spot-only.** If the plan on the other side is perpetuals, the cost model gains
  funding payments and a liquidation check, neither of which your old results ever accounted for.
  A strategy that looked flat on spot can look very different once funding is settled every eight
  hours.
- **Check who is paying for the free bot you land on.** Gekko took nothing and pointed at a
  donation address. Several of the maintained free bots are funded by the venue instead, through
  builder fees, broker codes or referral links —
  [who pays for your free trading bot](https://cryptomarkets.tools/guides/who-pays-for-your-free-trading-bot) lists the five
  mechanisms and where to find them.
- **Anything dated after February 2020 that claims to be a Gekko release is not from this
  project.** The repository is read-only. A package, installer or "Gekko Pro" build offered
  elsewhere is somebody else's code under a name people trust, and it wants your exchange key.

The rest of the field is in [Crypto Trading Bots](https://cryptomarkets.tools/categories/trading-bots).

## FAQ

### Is Gekko dead?

Yes. The askmike/gekko repository was archived by its owner on 16 February 2020 and is read-only. Its README opens with "I am officially not maintaining this project anymore." The last commit on the develop branch, dated 16 February 2020, is the one that added that notice; the last commit that changed the program itself was on 29 April 2019.

### Why is the Gekko website still up if the project is dead?

Because somebody is still paying for it. Checked on 21 September 2026, the documentation site and the forum both answer with HTTP 200. The docs are honest about it — every page carries "This project is not maintained anymore" at the top — but the install instructions underneath are not, and the discussion sections of the forum have last posts dated 2021.

### Can I still install Gekko?

Not by following the documentation. The install page tells you to run a git clone over the git protocol, and GitHub permanently disabled unencrypted git protocol access on 15 March 2022, so that command now hangs and times out. Cloning over HTTPS still works, but you are then installing a Node application whose dependencies were pinned in 2019 against a Node baseline of 8.11.2.

### Are the Gekko forks any better?

The README says "There might be other forks of Gekko out there that are being maintained!" and there are roughly 3,800 of them. That is a statement about the possibility, not a recommendation, and this catalogue cards none of them. A fork inherits the same exchange adapters and the same dependency tree, so check its own commit history and its own exchange list before trusting it with a key.

### Does anything on this list read my old Gekko strategy file?

No. Gekko strategies are JavaScript modules built around init, update and check callbacks that call this.advice. Nothing here runs them. Three of the four picks are Python and the fourth is a connector library, so the strategy is rewritten, not ported.
