# Open-source crypto trading and market data tools

Which licence each one carries, what that licence lets you ship, and why open source reaches further in crypto than anywhere else.

*https://cryptomarkets.tools/collections/open-source*

## In crypto, open source goes further than it does anywhere else

In most markets an open engine is only half a system, because the numbers it runs on are licensed
and the licence is the expensive part. Crypto is the exception: most exchanges publish prices,
order books and trades on public endpoints that need no key, no contract and no display agreement.
An MIT-licensed client pointed at a free endpoint is a complete, working, redistributable stack —
which is why this page exists at all, and why it is dominated by two categories.

That is the whole shape of this list, and it is worth reading before the licences. Every card here
is an *engine*: something that computes, executes or connects. Nothing here is a data product,
because the data products in this catalogue sell access, and access is the thing a licence cannot
grant you.

## The licence is the field to read first

**MIT** — do what you like, keep the notice, and it is the most common licence here. The most
consequential card on this page is one of them: [CCXT](https://cryptomarkets.tools/tools/ccxt), a single client over more
than a hundred exchanges, which is the reason a great deal of the rest of this list exists at all.
The rest of the MIT set is [GoCryptoTrader](https://cryptomarkets.tools/tools/gocryptotrader), [Jesse](https://cryptomarkets.tools/tools/jesse),
[Barter](https://cryptomarkets.tools/tools/barter), [CCAPI](https://cryptomarkets.tools/tools/ccapi), [hftbacktest](https://cryptomarkets.tools/tools/hftbacktest),
[Hyperliquid Python SDK](https://cryptomarkets.tools/tools/hyperliquid-python-sdk), [L2BEAT](https://cryptomarkets.tools/tools/l2beat) and
[growthepie](https://cryptomarkets.tools/tools/growthepie) — the last two being the only data products on this page rather
than engines.

**Apache-2.0** — MIT plus an explicit patent grant, which is why it is the licence a company
picks when it open-sources something it also sells. [LEAN](https://cryptomarkets.tools/tools/lean) and
[Hummingbot](https://cryptomarkets.tools/tools/hummingbot) are on these terms, and so are two charting libraries whose
vendors sell the paid editions beside them — [KLineChart](https://cryptomarkets.tools/tools/klinechart) and
[TradingView Lightweight Charts](https://cryptomarkets.tools/tools/tradingview-lightweight-charts).

**LGPL-3.0** — [NautilusTrader](https://cryptomarkets.tools/tools/nautilus-trader). You may link it into a closed product; if
you modify Nautilus itself, those modifications carry the licence with them.

**GPL-3.0** — [Freqtrade](https://cryptomarkets.tools/tools/freqtrade), [OctoBot](https://cryptomarkets.tools/tools/octobot),
[Lumibot](https://cryptomarkets.tools/tools/lumibot) and [AGGR](https://cryptomarkets.tools/tools/aggr), which makes it the most common copyleft licence
on this page. Distribute a derived work and the source goes with it. Running one privately,
however much money it makes, distributes nothing and triggers nothing.

**AGPL-3.0** — [Backtesting.py](https://cryptomarkets.tools/tools/backtesting-py). The one addition that matters: offering a
modified copy over a network counts as distribution, so a hosted service built on it owes its users
the source.

Every licence named on this page and on every card was read out of the repository's own LICENSE
file, not from a README, a badge or a pricing page. Those three disagree with the file often
enough that it is a standing check rather than a formality.

## Open code, paid product — and it is not a contradiction

Several vendors here publish the engine and sell something beside it, and the arrangement is
honest as long as you know which half you are getting. LEAN is Apache-2.0 and QuantConnect sells
the hosted platform and the data that runs on it. OctoBot is GPL and sells a cloud deployment.
Jesse is MIT and sells a plugin. In each case the free half is genuinely complete for someone who
runs their own infrastructure, and genuinely inconvenient for someone who does not — which is the
business model working as designed rather than a bait.

The version to watch for is the one that is *nearly* open. A licence that grants everything except
the right to sell — the Commons Clause is the common form — leaves a package you can read, fork and
run but that no longer meets the open-source definition. One card in this catalogue is on those
terms, and it is deliberately not on this page.

## What you take on

The code being readable does not make the system free. Three costs move from the vendor to you:

**Deployment.** The process has to run somewhere that stays up, and for anything that trades, that
is a server rather than a laptop. That is where most of the real operating cost of this page
lives, and it is most of what the hosted products in [trading bots](https://cryptomarkets.tools/categories/trading-bots) are
actually charging for.

**Keys.** These tools connect to exchange accounts with API keys that can trade. Running them
yourself means those keys sit in a file on a machine you administer, and the security of that
machine is now part of your strategy.

**Maintenance.** Exchanges change their APIs constantly, and the adapter layer is where that
breaks. This is the strongest single argument for the MIT client at the top of this page: it is
maintained in public, by many people, across many venues, and it is the reason an open-source bot
can survive a venue's rewrite of its order endpoint without you noticing.

## What is not here

Data providers, on-chain analytics platforms and charting services whose product is access to
something they aggregate. Tools that publish source under a licence that bars commercial use,
which is a source-available product rather than an open-source one. And exchanges, which are out of
this catalogue entirely.

## Cards

- [AGGR](https://cryptomarkets.tools/tools/aggr.md) — Live multi-exchange tape and liquidations in one chart — GPL-3.0, and yours to host.
- [Backtesting.py](https://cryptomarkets.tools/tools/backtesting-py.md) — Two thousand lines, one OHLC series, and no idea what a funding payment is.
- [Barter](https://cryptomarkets.tools/tools/barter.md) — Rust trading engine and market-data streams — live execution is a trait you implement.
- [ccapi](https://cryptomarkets.tools/tools/ccapi.md) — Header-only C++ market data and execution for 30 venues, on a Bloomberg-shaped API.
- [CCXT](https://cryptomarkets.tools/tools/ccxt.md) — One MIT client for 104 crypto exchanges, 76 of them over websocket.
- [DXcharts Lite](https://cryptomarkets.tools/tools/dxcharts-lite.md) — The MPL-2.0 renderer under a broker charting product — candles and axes, no indicators.
- [Freqtrade](https://cryptomarkets.tools/tools/freqtrade.md) — Write the strategy in Python, backtest it, then run the same class live.
- [GoCryptoTrader](https://cryptomarkets.tools/tools/gocryptotrader.md) — A Go trading engine for 22 exchanges that has never cut a release or a tag.
- [growthepie](https://cryptomarkets.tools/tools/growthepie.md) — Ethereum L2 economics, CC BY licensed, on an API with no key — and chains pay for depth.
- [HftBacktest](https://cryptomarkets.tools/tools/hftbacktest.md) — Tick-by-tick backtesting that models order queue position and feed and order latency.
- [Hummingbot](https://cryptomarkets.tools/tools/hummingbot.md) — Apache-2.0 Python framework for running market-making bots on CEXs and DEXs.
- [Hyperliquid Python SDK](https://cryptomarkets.tools/tools/hyperliquid-python-sdk.md) — The official Python client for signing and sending orders on one perp DEX.
- [Jesse](https://cryptomarkets.tools/tools/jesse.md) — Python backtesting and research framework whose live-trading half is a paid plugin.
- [KLineChart](https://cryptomarkets.tools/tools/klinechart.md) — Zero-dependency candle engine with no market-hours rules to switch off for 24/7.
- [L2BEAT](https://cryptomarkets.tools/tools/l2beat.md) — Ethereum L2 metrics with the risk assessment behind them, MIT-licensed and free.
- [LEAN](https://cryptomarkets.tools/tools/lean.md) — The engine behind QuantConnect, Apache-2.0 and runnable on your own machine.
- [Lumibot](https://cryptomarkets.tools/tools/lumibot.md) — One Python strategy that backtests and then trades live, across eight CCXT exchanges.
- [NautilusTrader](https://cryptomarkets.tools/tools/nautilus-trader.md) — Event-driven Rust engine that settles perpetual funding at the venue boundary.
- [OctoBot](https://cryptomarkets.tools/tools/octobot.md) — GPL-3.0 Python bot with a web interface for grid, DCA, basket and TradingView strategies.
- [Passivbot](https://cryptomarkets.tools/tools/passivbot.md) — A contrarian perp market maker you configure in JSON and leave running for months.
- [TradingView Lightweight Charts](https://cryptomarkets.tools/tools/tradingview-lightweight-charts.md) — Apache-2.0 canvas renderer for candles and lines. No indicators, no drawing tools.

## FAQ

### Does open source mean free?

The software, yes. Everything else is a separate question with a separate answer. Jesse is MIT-licensed and sells a paid plugin on top of it; OctoBot is GPL-3.0 and runs a hosted service you pay for; vectorbt's licence carries a Commons Clause that bars selling it, which is why it is not on this page at all. Read the licence for what you may do with the code, and the vendor's terms for what you may do with everything the code connects to.

### Why are there no open-source data providers here?

Because a feed cannot be forked. Every card on this page is an engine — a backtester, a bot framework, an exchange client — and the numbers it runs on come from somewhere else. What makes crypto unusual is that the somewhere else is often free and keyless, so an open-source engine plus a public exchange endpoint really is a complete working system. That is not true in any other market.

### Can I use AGPL or GPL code inside a commercial product?

You can sell it and you can modify it. What you cannot do is keep your changes private once you distribute it — and with the AGPL, running a modified copy as a service other people reach counts as distributing it. For your own trading that condition never fires. For a product built on somebody else's copyleft engine it is the clause to take to a lawyer before the first line is written, not after the launch date is set.

### Is an open-source bot safer than a hosted one?

It is more auditable, which is not the same thing. You can read exactly what it does with your exchange keys, and nobody else is holding them. In exchange you own the deployment — the machine it runs on, the patches, the key file on disk, and the strategy that keeps firing while you sleep. The failure mode moves from trusting a vendor to trusting your own operations.
