Hummingbot is a free, open source finance & fintech project written in Python and released under Apache-2.0. It has 20,039 GitHub stars, 4,934 forks and 160 open issues, and was last pushed 5 hours ago. On this registry it ranks #3 of 7 tracked projects in Finance & Fintech, with 5 head-to-head comparisons available. It gained 57 stars over the last 6 tracked days.

Hummingbot — Open-source crypto trading bot for market making

What is Hummingbot?

What it is

Hummingbot is an open-source Python framework for building and deploying automated crypto trading bots. It operates in the algorithmic trading ecosystem for centralized and decentralized exchanges, with topics including market making, arbitrage, HFT, backtesting, DeFi, and AI agents. The project is licensed under Apache 2.0, and the public repository reports 20,002 stars and 4,924 forks.

The concrete problem it solves is the gap between strategy design and exchange execution. Traders can create bot configurations, connect exchange API keys, run paper trading, start live strategies, monitor status, and control instances through the hbot command-line interface. The README states that users generated more than $34 billion in trading volume across 140+ unique trading venues over the past year.

Key capabilities

  • The hbot CLI runs, controls, and monitors a trading bot non-interactively, including start, stop, config authoring, trades, PnL, logs, and status.
  • It can run simple_pmm paper trading against live Binance market data without requiring exchange API keys.
  • It supports live trading through encrypted exchange API key storage via hbot connect binance and strategy controllers such as pmm_mister.
  • Strategy controllers can expose settings that are tuned while the bot runs, according to the pmm_mister example.
  • Condor is an AI harness that connects LLM-powered decision-making to deterministic trade execution through the Hummingbot API.
  • Condor bot instances can be controlled through Telegram or its web dashboard.

Who uses it and how

  • Algorithmic traders use Hummingbot to run market-making or arbitrage strategies on crypto exchanges.
  • Developers use the hbot CLI to script bot creation, start, status, logs, and stop.
  • Paper traders use simple_pmm to test against live Binance market data before connecting API keys.
  • Live traders use encrypted API key storage and pmm_mister to run exchange-connected bots.
  • Condor users connect model-driven decisions to Hummingbot execution through Telegram or a web dashboard.

Getting started

Users install from source by cloning the repository, creating a conda environment with Anaconda or Miniconda, running make install, activating it, and using hbot. For non-interactive use, set HBOT_PASSWORD or pass --password-stdin, then create and start a simple_pmm paper-trading config.

When to use it — and when not to

Hummingbot fits traders and developers who want open-source control over crypto bot execution, local CLI automation, paper testing, and AI-assisted workflows. It requires operating a Python/conda environment, building extensions, managing encrypted API keys, and monitoring bots; the README example states one bot per install. It may not suit users who need no local setup, because the facts emphasize source installation and self-managed exchange connectivity.

project readme (upstream, from github) — read inline

Hummingbot


License Twitter Youtube Discord

Hummingbot is an open-source framework that helps you design and deploy automated trading strategies, or bots, that can run on many centralized or decentralized exchanges. Over the past year, Hummingbot users have generated over $34 billion in trading volume across 140+ unique trading venues.

The Hummingbot codebase is free and publicly available under the Apache 2.0 open-source license. Our mission is to democratize high-frequency trading by creating a global community of algorithmic traders and developers that share knowledge and contribute to the codebase.

Quick Links

  • Website and Docs: Official Hummingbot website and documentation
  • Installation: Install Hummingbot on various platforms
  • Discord: The main gathering spot for the global Hummingbot community
  • YouTube: Videos that teach you how to get the most out of Hummingbot
  • Twitter: Get the latest announcements about Hummingbot
  • Reported Volumes: Reported trading volumes across all Hummingbot instances
  • Newsletter: Get our newsletter whenever we ship a new release

Getting Started

Condor (AI harness)

Condor is the AI harness for building and running agentic strategies and bot instances. It connects LLM-powered decision-making to deterministic trade execution via the Hummingbot API, controlled through Telegram or its web dashboard. See condor.hummingbot.org to get started.

hbot CLI

The recommended way to run the Hummingbot client directly is the hbot command-line interface, installed from source. hbot runs, controls, and monitors a trading bot non-interactively: start/stop a bot, author and tune configs, and read trades, PnL, logs, and status — all scriptable, as compact Markdown with stable exit codes. See the hbot CLI guide for the full reference.

Requires Anaconda or Miniconda.

# Clone the repository
git clone https://github.com/hummingbot/hummingbot.git
cd hummingbot

# Create the conda environment, build extensions, and expose the `hbot` CLI
make install

# Activate the environment
conda activate hummingbot
hbot --help

To use hbot outside the conda environment, run make link-cli to add it to your host PATH.

On first use, hbot prompts for a keystore password that encrypts your exchange API keys — set HBOT_PASSWORD or pass --password-stdin to run non-interactively (e.g. in scripts or agent workflows).

Then create a config and run the simple_pmm paper trading script — it simulates trading against live Binance market data, so no API keys are required:

hbot create simple_pmm --name conf_paper_bot.yml \
     --set exchange=binance_paper_trade --set trading_pair=BTC-USDT
hbot start conf_paper_bot.yml                          # run it (one bot per install)
hbot status                                            # check on it
hbot stop                                              # stop gracefully

To trade live, connect your exchange API keys and run a strategy controller like pmm_mister — a reusable V2 strategy whose settings can be tuned live while the bot runs:

hbot connect binance                                   # store API keys (encrypted)
hbot create pmm_mister --name conf_my_bot.yml \
     --set connector_name=binance --set trading_pair=BTC-USDT --set total_amount_quote=100
hbot start conf_my_bot.yml                             # run it (one bot per install)

Full command reference and ontology: hbot CLI guide.

Docker

Prefer containers? hbot works the same way — install Docker Compose, then:

git clone https://github.com/hummingbot/hummingbot.git
cd hummingbot
make setup            # answer `y` to "Include Gateway?" to add the DEX middleware
make deploy           # start the container (interactive client by default)
make link-cli         # put the `hbot` command on your host PATH (dispatches into the container)

hbot --help           # same commands as the source install above

make link-cli installs a small wrapper that runs hbot inside the container, so every command above is identical whether you installed from source or Docker. (Or skip it and use docker exec -it hummingbot hbot .) To dedicate the container to hbot instead of the interactive client, uncomment command: tail -f /dev/null in docker-compose.yml before make deploy — see Running in Docker.

Interactive Client (TUI)

The classic full-screen client is the Docker default: make deploy, then docker attach hummingbot — or run it from source with make install && make run. With Gateway included it starts in development mode (unencrypted HTTP); for production HTTPS use the DEV=false flag and run gateway generate-certs. See Development vs Production Modes.


For comprehensive installation instructions and troubleshooting, visit our Installation documentation.

Strategies

Hummingbot offers several frameworks for building and running algorithmic trading strategies — see the Strategies docs for a full overview:

  • Scripts: Single-file Python strategies — the easiest way to build and customize your own bot. Example: simple_pmm.py, a basic market making script.
  • Controllers: Reusable V2 strategies whose configs can be backtested, deployed, and tuned live while running. Example: pmm_mister.py, a full-featured market making controller.
  • Executors: Self-contained building blocks that manage order lifecycles for common patterns — position, DCA, grid, arbitrage, XEMM, TWAP, and LP. Example: position_executor, which manages a directional position with triple-barrier risk controls.
  • V1 Strategies: Classic legacy strategies such as Pure Market Making, Avellaneda Market Making, and Cross-Exchange Market Making. Example: cross_exchange_market_making, which market makes on one exchange and hedges fills on another.

Exchange Connectors

Hummingbot connectors standardize REST and WebSocket API interfaces to different types of exchanges, enabling you to build sophisticated trading strategies that can be deployed across many exchanges with minimal changes.

Connector Types

We classify exchange connectors into three main categories:

  • CLOB CEX: Centralized exchanges with central limit order books that take custody of your funds. Connect via API keys.

    • Spot: Trading spot markets
    • Perpetual: Trading perpetual futures markets
  • CLOB DEX: Decentralized exchanges with on-chain central limit order books. Non-custodial, connect via wallet keys.

    • Spot: Trading spot markets on-chain
    • Perpetual: Trading perpetual futures on-chain
  • AMM DEX: Decentralized exchanges using Automated Market Maker protocols. Non-custodial, connect via Gateway middleware.

    • Router: DEX aggregators that find optimal swap routes
    • AMM: Traditional constant product (x*y=k) pools
    • CLMM: Concentrated Liquidity Market Maker pools with custom price ranges

Exchange Sponsors

We are grateful for the following exchanges that support the development and maintenance of Hummingbot via broker partnerships and sponsorships.

Exchange Type Sub-Type(s) Connector ID(s) Discount
Backpack CLOB CEX Spot, Perpetual backpack, backpack_perpetual [![Sign up for Backpack using Hummingbot's referral link!](https://img.shields.io/

readme truncated — read the full docs on github

Frequently asked questions

Is Hummingbot free to use?

Hummingbot is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Hummingbot do?

Open-source crypto trading bot for market making

What is Hummingbot written in?

Hummingbot is primarily written in Python. Its source is publicly available at https://github.com/hummingbot/hummingbot, and it has 20,039 GitHub stars.