Skip to content

hummingbot/hummingbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

The easiest way to get started with Hummingbot is using Docker:

  • To install the web-based Dashboard, follow the instructions in the Deploy repo.

  • 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 section in the documentation.

Install Hummingbot with Docker

Install Docker Compose website.

Clone the repo and use the provided docker-compose.yml file:

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

# Launch Hummingbot
docker compose up -d

# 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 uncomment the Gateway service lines in docker-compose.yml:

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

# Uncomment the following lines in docker-compose.yml:
  gateway:
   restart: always
   container_name: gateway
   image: hummingbot/gateway:latest
   ports:
     - "15888:15888"
   volumes:
     - "./gateway-files/conf:/home/gateway/conf"
     - "./gateway-files/logs:/home/gateway/logs"
     - "./certs:/home/gateway/certs"
   environment:
     - GATEWAY_PASSPHRASE=admin
     - DEV=true

Then run:

# Launch Hummingbot
docker compose up -d

# Attach to the running instance
docker attach hummingbot

By default, Gateway will start in development mode with unencrypted HTTP endpoints. To run in production model wth encrypted HTTPS, use the DEV=false flag and run gateway generate-certs in Hummingbot to generate the certificates needed. See Development vs Production Modes for more information.


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

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.

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 CLOB CEX Spot, Perpetual binance, binance_perpetual Sign up for Binance using Hummingbot's referral link for a 10% discount!
BitMart CLOB CEX Spot, Perpetual bitmart, bitmart_perpetual Sign up for BitMart using Hummingbot's referral link!
Derive CLOB DEX Spot, Perpetual derive, derive_perpetual Sign up for Derive using Hummingbot's referral link!
dYdX CLOB DEX Perpetual dydx_v4_perpetual -
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!
HTX (Huobi) CLOB CEX Spot htx Sign up for HTX 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!
OKX CLOB CEX Spot, Perpetual okx, okx_perpetual Sign up for OKX using Hummingbot's referral link for a 20% discount!
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 -
AscendEx CLOB CEX Spot ascend_ex -
Balancer AMM DEX AMM balancer -
BingX CLOB CEX Spot bing_x -
Bitget CLOB CEX Perpetual bitget_perpetual -
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 -
Cube CLOB CEX Spot cube -
Curve AMM DEX AMM curve -
Dexalot CLOB DEX Spot dexalot -
Injective Helix CLOB DEX Spot, Perpetual injective_v2, injective_v2_perpetual -
Jupiter AMM DEX Router jupiter -
Kraken CLOB CEX Spot kraken -
Meteora AMM DEX CLMM meteora -
MEXC CLOB CEX Spot mexc -
PancakeSwap AMM DEX AMM pancakeswap -
QuickSwap AMM DEX AMM quickswap -
Raydium AMM DEX AMM, CLMM raydium -
SushiSwap AMM DEX AMM sushiswap -
Trader Joe AMM DEX AMM traderjoe -
Uniswap AMM DEX Router, AMM, CLMM uniswap -
Vertex CLOB DEX Spot vertex -

Other Hummingbot Repos

  • Deploy: Deploy Hummingbot in various configurations with Docker
  • Dashboard: Web app that helps you create, backtest, deploy, and manage Hummingbot instances
  • Quants Lab: Jupyter notebooks that enable you to fetch data and perform research using Hummingbot
  • Gateway: Typescript based API client for DEX connectors
  • 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 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. Note that you will need some amount of HBOT tokens in your Ethereum wallet to submit a proposal.

Legal

  • License: Hummingbot is open source and licensed under Apache 2.0.
  • Data collection: See Reporting for information on anonymous data collection and reporting in Hummingbot.