The Principal Dev – Masterclass for Tech Leads

The Principal Dev – Masterclass for Tech Leads28-29 May

Join

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.

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 <command>.) 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:

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:

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!
Binance CLOB CEX Spot, Perpetual binance, binance_perpetual Sign up for Binance using Hummingbot's referral link for a 10% discount!
Bitget CLOB CEX Spot, Perpetual bitget, bitget_perpetual Sign up for Bitget using Hummingbot's referral link!
Derive CLOB DEX Spot, Perpetual derive, derive_perpetual Sign up for Derive using Hummingbot's referral link!
Gate.io CLOB CEX Spot, Perpetual gate_io, gate_io_perpetual Sign up for Gate.io using Hummingbot's referral link for a 20% discount!
Hyperliquid CLOB DEX Spot, Perpetual hyperliquid, hyperliquid_perpetual -
KuCoin CLOB CEX Spot, Perpetual kucoin, kucoin_perpetual Sign up for Kucoin using Hummingbot's referral link for a 20% discount!
Meteora AMM DEX CLMM meteora -
OKX CLOB CEX Spot, Perpetual okx, okx_perpetual Sign up for OKX using Hummingbot's referral link for a 20% discount!
Orca AMM DEX CLMM orca -
XRP Ledger CLOB DEX Spot xrpl -

Other Exchange Connectors

Currently, the master branch of Hummingbot also includes the following exchange connectors, which are maintained and updated through the Hummingbot Foundation governance process. See Governance for more information.

Exchange Type Sub-Type(s) Connector ID(s) Discount
0x Protocol AMM DEX Router 0x -
Aevo CLOB CEX Perpetual aevo_perpetual -
Architect CLOB CEX Perpetual architect_perpetual -
Balancer AMM DEX AMM balancer -
BingX CLOB CEX Spot bing_x -
Bitrue CLOB CEX Spot bitrue -
Bitstamp CLOB CEX Spot bitstamp -
BTC Markets CLOB CEX Spot btc_markets -
Bybit CLOB CEX Spot, Perpetual bybit, bybit_perpetual -
Coinbase CLOB CEX Spot coinbase_advanced_trade -
Curve AMM DEX AMM curve -
Decibel CLOB CEX Perpetual decibel_perpetual -
Dexalot CLOB DEX Spot dexalot -
DFlow AMM DEX Router dflow -
dYdX CLOB DEX Perpetual dydx_v4_perpetual -
EVEDEX CLOB CEX Perpetual evedex_perpetual -
Foxbit CLOB CEX Spot foxbit -
Gemini CLOB CEX Spot gemini -
GRVT CLOB CEX Perpetual grvt_perpetual -
HTX (Huobi) CLOB CEX Spot htx -
Injective Helix CLOB DEX Spot, Perpetual injective_v2, injective_v2_perpetual -
Jupiter AMM DEX Router jupiter -
Kraken CLOB CEX Spot kraken -
Lambdaplex CLOB DEX Spot lambdaplex -
Lighter CLOB DEX Spot, Perpetual lighter, lighter_perpetual -
MEXC CLOB CEX Spot mexc -
NDAX CLOB CEX Spot ndax -
OKX DEX AMM DEX Router okx -
Pacifica CLOB CEX Perpetual pacifica_perpetual -
PancakeSwap AMM DEX AMM pancakeswap -
Raydium AMM DEX AMM, CLMM raydium -
Titan AMM DEX Router titan -
Uniswap AMM DEX Router, AMM, CLMM uniswap -

Other Hummingbot Repos

Getting Help

If you encounter issues or have questions, here's how you can get assistance:

We pledge that we will not use the information/data you provide us for trading purposes nor share them with third parties.

Contributions

The Hummingbot architecture features modular components that can be maintained and extended by individual community members.

We welcome contributions from the community! Please review these guidelines before submitting a pull request.

If you represent an exchange that wants an official Hummingbot connector, see How to Add a Hummingbot Connector for the available integration options.

Join libs.tech

...and unlock some superpowers

GitHub

We won't share your data with anyone else.