https://github.com/hummingbot/hummingbot
Open source software that helps you create and deploy high-frequency crypto trading bots
https://github.com/hummingbot/hummingbot
algotrading arbitrage backtesting bitcoin bot crypto cryptocurrency cython dex docker ethereum hft marketmaking orderbook python trading
Last synced: about 13 hours ago
JSON representation
Open source software that helps you create and deploy high-frequency crypto trading bots
- Host: GitHub
- URL: https://github.com/hummingbot/hummingbot
- Owner: hummingbot
- License: apache-2.0
- Created: 2019-04-02T21:41:52.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2025-05-07T15:25:04.000Z (12 months ago)
- Last Synced: 2025-05-07T15:28:47.192Z (12 months ago)
- Topics: algotrading, arbitrage, backtesting, bitcoin, bot, crypto, cryptocurrency, cython, dex, docker, ethereum, hft, marketmaking, orderbook, python, trading
- Language: Python
- Homepage: https://hummingbot.org
- Size: 531 MB
- Stars: 12,508
- Watchers: 173
- Forks: 3,483
- Open Issues: 354
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- awesome-openclaw-money-maker - **Hummingbot** - Open source market making and liquidity mining bot. Supports 40+ CEXs/DEXs. Customizable strategies in Python. (Trading Bots / Crypto Trading)
- awesome-crypto - hummingbot/hummingbot: Open source software that helps you create and deploy high-frequency crypto trading bots
- pytrade.org - hummingbot - Open source software that helps you create and deploy high-frequency crypto trading bots (Curated List / Trading Frameworks (support backtesting and live trading))
- best-of-crypto - GitHub - 12% open · ⏱️ 31.05.2024): (Others)
- awesome - hummingbot/hummingbot - Open source software that helps you create and deploy high-frequency crypto trading bots (Python)
- AiTreasureBox - hummingbot/hummingbot - 02-24_17421_7](https://img.shields.io/github/stars/hummingbot/hummingbot.svg)|Open source software that helps you create and deploy high-frequency crypto trading bots| (Repos)
- awesome-agent-cortex - Hummingbot - Open-source market making and arbitrage bot. (Quant and Trading Agents / Benchmark Reality Check (real-world tool use))
- stars - hummingbot/hummingbot - Open source software that helps you create and deploy high-frequency crypto trading bots (Python)
README

----
[](https://github.com/hummingbot/hummingbot/blob/master/LICENSE)
[](https://twitter.com/_hummingbot)
[](https://www.youtube.com/@hummingbot)
[](https://discord.gg/hummingbot)
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](https://hummingbot.org): Official Hummingbot website and documentation
* [Installation](https://hummingbot.org/installation/): Install Hummingbot on various platforms
* [Discord](https://discord.gg/hummingbot): The main gathering spot for the global Hummingbot community
* [YouTube](https://www.youtube.com/c/hummingbot): Videos that teach you how to get the most out of Hummingbot
* [Twitter](https://twitter.com/_hummingbot): Get the latest announcements about Hummingbot
* [Reported Volumes](https://p.datadoghq.com/sb/a96a744f5-a15479d77992ccba0d23aecfd4c87a52): Reported trading volumes across all Hummingbot instances
* [Newsletter](https://hummingbot.substack.com): Get our newsletter whenever we ship a new release
## Getting Started
The easiest way to get started with Hummingbot is using Docker:
* To install the Telegram Bot [Condor](https://github.com/hummingbot/condor), follow the instructions in the [Condor docs](https://hummingbot.org/condor/) site.
* To install the CLI-based Hummingbot client, follow the instructions below.
Alternatively, if you are building new connectors/strategies or adding custom code, see the [Install from Source](https://hummingbot.org/client/installation/#source-installation) section in the documentation.
### Install Hummingbot with Docker
Install [Docker Compose website](https://docs.docker.com/compose/install/).
Clone the repo and use the provided `docker-compose.yml` file:
```bash
# Clone the repository
git clone https://github.com/hummingbot/hummingbot.git
cd hummingbot
# Run Setup & Deploy
make setup
make deploy
# Attach to the running instance
docker attach hummingbot
```
### Install Hummingbot + Gateway DEX Middleware
Gateway provides standardized connectors for interacting with automatic market maker (AMM) decentralized exchanges (DEXs) across different blockchain networks.
To run Hummingbot with Gateway, clone the repo and answer `y` when prompted after running `make setup`
```yaml
# Clone the repository
git clone https://github.com/hummingbot/hummingbot.git
cd hummingbot
```
```bash
make setup
# Answer `y` when prompted
Include Gateway? [y/N]
```
Then run:
```bash
make deploy
# Attach to the running instance
docker attach hummingbot
```
By default, Gateway will start in development mode with unencrypted HTTP endpoints. To run in production mode with encrypted HTTPS, use the `DEV=false` flag and run `gateway generate-certs` in Hummingbot to generate the certificates needed. See [Development vs Production Modes](https://hummingbot.org/gateway/installation/#development-vs-production-modes) for more information.
---
For comprehensive installation instructions and troubleshooting, visit our [Installation](https://hummingbot.org/installation/) documentation.
## Getting Help
If you encounter issues or have questions, here's how you can get assistance:
* Consult our [FAQ](https://hummingbot.org/faq/), [Troubleshooting Guide](https://hummingbot.org/troubleshooting/), or [Glossary](https://hummingbot.org/glossary/)
* To report bugs or suggest features, submit a [GitHub issue](https://github.com/hummingbot/hummingbot/issues)
* Join our [Discord community](https://discord.gg/hummingbot) and ask questions in the #support channel
We pledge that we will not use the information/data you provide us for trading purposes nor share them with third parties.
## 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 |
|------|------|------|-------|----------|
| [Binance](https://hummingbot.org/exchanges/binance/) | CLOB CEX | Spot, Perpetual | `binance`, `binance_perpetual` | [](https://accounts.binance.com/register?ref=CBWO4LU6) |
| [BitMart](https://hummingbot.org/exchanges/bitmart/) | CLOB CEX | Spot, Perpetual | `bitmart`, `bitmart_perpetual` | [](https://www.bitmart.com/invite/Hummingbot/en) |
| [Bitget](https://hummingbot.org/exchanges/bitget/) | CLOB CEX | Spot, Perpetual | `bitget`, `bitget_perpetual` | [](https://www.bitget.com/expressly?channelCode=v9cb&vipCode=26rr&languageType=0) |
| [Derive](https://hummingbot.org/exchanges/derive/) | CLOB DEX | Spot, Perpetual | `derive`, `derive_perpetual` | [](https://www.derive.xyz/invite/7SA0V) |
| [dYdX](https://hummingbot.org/exchanges/dydx/) | CLOB DEX | Perpetual | `dydx_v4_perpetual` | - |
| [Gate.io](https://hummingbot.org/exchanges/gate-io/) | CLOB CEX | Spot, Perpetual | `gate_io`, `gate_io_perpetual` | [](https://www.gate.io/referral/invite/HBOTGATE_0_103) |
| [HTX (Huobi)](https://hummingbot.org/exchanges/htx/) | CLOB CEX | Spot | `htx` | [](https://www.htx.com.pk/invite/en-us/1h?invite_code=re4w9223) |
| [Hyperliquid](https://hummingbot.org/exchanges/hyperliquid/) | CLOB DEX | Spot, Perpetual | `hyperliquid`, `hyperliquid_perpetual` | - |
| [KuCoin](https://hummingbot.org/exchanges/kucoin/) | CLOB CEX | Spot, Perpetual | `kucoin`, `kucoin_perpetual` | [](https://www.kucoin.com/r/af/hummingbot) |
| [OKX](https://hummingbot.org/exchanges/okx/) | CLOB CEX | Spot, Perpetual | `okx`, `okx_perpetual` | [](https://www.okx.com/join/1931920269) |
| [XRP Ledger](https://hummingbot.org/exchanges/xrpl/) | 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](https://hummingbot.org/governance/) for more information.
| Exchange | Type | Sub-Type(s) | Connector ID(s) | Discount |
|------|------|------|-------|----------|
| [0x Protocol](https://hummingbot.org/exchanges/gateway/0x/) | AMM DEX | Router | `0x` | - |
| [AscendEx](https://hummingbot.org/exchanges/ascendex/) | CLOB CEX | Spot | `ascend_ex` | - |
| [Balancer](https://hummingbot.org/exchanges/gateway/balancer/) | AMM DEX | AMM | `balancer` | - |
| [BingX](https://hummingbot.org/exchanges/bing_x/) | CLOB CEX | Spot | `bing_x` | - |
| [Bitrue](https://hummingbot.org/exchanges/bitrue/) | CLOB CEX | Spot | `bitrue` | - |
| [Bitstamp](https://hummingbot.org/exchanges/bitstamp/) | CLOB CEX | Spot | `bitstamp` | - |
| [BTC Markets](https://hummingbot.org/exchanges/btc-markets/) | CLOB CEX | Spot | `btc_markets` | - |
| [Bybit](https://hummingbot.org/exchanges/bybit/) | CLOB CEX | Spot, Perpetual | `bybit`, `bybit_perpetual` | - |
| [Coinbase](https://hummingbot.org/exchanges/coinbase/) | CLOB CEX | Spot | `coinbase_advanced_trade` | - |
| [Cube](https://hummingbot.org/exchanges/cube/) | CLOB CEX | Spot | `cube` | - |
| [Curve](https://hummingbot.org/exchanges/gateway/curve/) | AMM DEX | AMM | `curve` | - |
| [Dexalot](https://hummingbot.org/exchanges/dexalot/) | CLOB DEX | Spot | `dexalot` | - |
| [Injective Helix](https://hummingbot.org/exchanges/injective/) | CLOB DEX | Spot, Perpetual | `injective_v2`, `injective_v2_perpetual` | - |
| [Jupiter](https://hummingbot.org/exchanges/gateway/jupiter/) | AMM DEX | Router | `jupiter` | - |
| [Kraken](https://hummingbot.org/exchanges/kraken/) | CLOB CEX | Spot | `kraken` | - |
| [Meteora](https://hummingbot.org/exchanges/gateway/meteora/) | AMM DEX | CLMM | `meteora` | - |
| [MEXC](https://hummingbot.org/exchanges/mexc/) | CLOB CEX | Spot | `mexc` | - |
| [PancakeSwap](https://hummingbot.org/exchanges/gateway/pancakeswap/) | AMM DEX | AMM | `pancakeswap` | - |
| [QuickSwap](https://hummingbot.org/exchanges/gateway/quickswap/) | AMM DEX | AMM | `quickswap` | - |
| [Raydium](https://hummingbot.org/exchanges/gateway/raydium/) | AMM DEX | AMM, CLMM | `raydium` | - |
| [SushiSwap](https://hummingbot.org/exchanges/gateway/sushiswap/) | AMM DEX | AMM | `sushiswap` | - |
| [Trader Joe](https://hummingbot.org/exchanges/gateway/traderjoe/) | AMM DEX | AMM | `traderjoe` | - |
| [Uniswap](https://hummingbot.org/exchanges/gateway/uniswap/) | AMM DEX | Router, AMM, CLMM | `uniswap` | - |
| [Vertex](https://hummingbot.org/exchanges/vertex/) | CLOB DEX | Spot | `vertex` | - |
## Other Hummingbot Repos
* [Condor](https://github.com/hummingbot/condor): Telegram Interface for Hummingbot
* [Hummingbot API](https://github.com/hummingbot/hummingbot-api): The central hub for running Hummingbot trading bots
* [Hummingbot MCP](https://github.com/hummingbot/mcp): Enables AI assistants like Claude and Gemini to interact with Hummingbot for automated cryptocurrency trading across multiple exchanges.
* [Quants Lab](https://github.com/hummingbot/quants-lab): Jupyter notebooks that enable you to fetch data and perform research using Hummingbot
* [Gateway](https://github.com/hummingbot/gateway): Typescript based API client for DEX connectors
* [Hummingbot Site](https://github.com/hummingbot/hummingbot-site): Official documentation for Hummingbot - we welcome contributions here too!
## 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](./CONTRIBUTING.md) before submitting a pull request.
To have your exchange connector or other pull request merged into the codebase, please submit a New Connector Proposal or Pull Request Proposal, following these [guidelines](https://hummingbot.org/about/proposals/). Note that you will need some amount of [HBOT tokens](https://etherscan.io/token/0xe5097d9baeafb89f9bcb78c9290d545db5f9e9cb) in your Ethereum wallet to submit a proposal.
## Legal
* **License**: Hummingbot is open source and licensed under [Apache 2.0](./LICENSE).
* **Data collection**: See [Reporting](https://hummingbot.org/reporting/) for information on anonymous data collection and reporting in Hummingbot.