Launch Hummingbot Miner

Start and Configure Hummingbot

How to start Hummingbot and understanding the various configuration and UI items

Start Hummingbot via Docker

Creating a new instance of Hummingbot with docker run will automatically start the Hummingbot client.

To run a previously created, stopped container where $NAME is the name of your instance of Hummingbot:

docker start $NAME && docker attach $NAME

Start Hummingbot running in the background

Use the start script by running the command ./start.sh to attach to a Hummingbot instance running in the background.

For additional information on useful commands, see the commands to running Hummingbot on Docker.

Start Hummingbot from Source


  • Crypto Inventory: In order to run trading bot, you'll need some inventory of crypto assets available on the exchange, or in your Ethereum wallet (for Ethereum-based decentralized exchanges). Remember that you need inventory of both the base asset (the asset that you are buying and selling) and the quote asset (the asset that you exchange for it). For example, if you are making a market in a BTC/USDT trading pair, you'll need some BTC and USDT. In addition, be aware of the minimum order size requirements on different exchanges. For more information, please see Connectors.
  • API Keys: In order to run a bot on a centralized exchange like Binance, you will need to enter the exchange API keys during the Hummingbot configuration process. For more information on how to get the API keys for each exchange, please see the individual exchange pages in Connectors.
  • Ethereum Wallet: In order to earn rewards from Liquidity Bounties, you need an Ethereum wallet. In addition, you'll need to import an Ethereum wallet when you run a trading bot on an Ethereum-based decentralized exchange. For more information on creating or importing an Ethereum wallet, see Ethereum wallet.
  • Ethereum Node (DEX only): When you run a trading bot on a Ethereum-based decentralized exchange, your wallet sends signed transactions to the blockchain via an Ethereum node. For more information, see Ethereum node.
Make sure that you activate the Anaconda environment with conda activate hummingbot prior to running Hummingbot.

Open a Terminal window and go to the root of the directory that contains Hummingbot. From there, run:



This section walks you through re-compiling Hummingbot after a code change.

# 1) Clean intermediate and compiled files from Cython compilation.

# 2) Install

# 3) Deactivate old conda environment
conda deactivate

# 4) Activate conda environment
conda activate hummingbot

# 5) Compile

# 6) Run Hummingbot

Create a secure password

If you are using Hummingbot for the first time on this machine, the system will prompt you to create a password. This password will be used to encrypt sensitive configuration settings e.g. API keys, secret keys and wallet private keys.

For security reasons, the password is only stored locally in encrypted form. We do not have access to your password.

User Interface

Hummingbot CLI

The CLI is divided into five panes:

  • Input pane (lower left): Where users enter commands
  • Output pane (upper left): Prints the output of the user's commands
  • Log pane (right): Log messages
  • Top navigation bar: Displays the status/information of the following items
    • Version:
    • paper_trade_mode:
    • Strategy:
    • Strategy_file:
  • Bottom navigation bar: Displays the information of the following items
    • Trades
    • Total P&L
    • Return%
    • CPU
    • Mem
    • Threads
    • Duration

Strategy-specific Files

The create command walks you through the process of initializing and configuring the global and strategy-specific settings necessary to run the bot. Running the command will create the following files in the conf/ folder:

conf_global.ymlGlobal configuration settings, e.g. Binance API keys and Ethereum node.
conf_pure_mm_[#].ymlSettings for the pure market making strategy.
conf_xemm_[#].ymlSettings for the cross-exchange market making strategy.
conf_liquidity_mining_[#].ymlSettings for the liquidity mining strategy.
conf_perpetual_market_making_#.ymlSettings for the perpetual market making strategy.
conf_arb_[#].ymlSettings for the arbitrage strategy.
conf_celo_arb_[#].ymlSettings for the celo arbitrage strategy.
conf_amm_arb_[#].ymlSettings for the amm arbitrage strategy.
conf_spot_perpetual_arbitrage_[#].ymlSettings for the spot perpetual arbitrage strategy.
For editing configuration files directly, once they are created, you may find it easier to edit the configuration files in the conf/ folder. Simply open them with a text editor and make any desired modifications.

Setup Walkthrough

When running create, you are asked to select a strategy and enter strategy-specific configuration parameters. We have developed walkthroughs for each strategy:

When configuring your bot, make sure you are aware of your exchange's minimum order sizes and fees, and check that your trading pair has sufficient order book and trading volumes. You can find more info about specific exchanges in the  Connectors section.

API keys

In order to trade on a centralized exchange, you will need to import your API key from that exchange to Hummingbot using the connect [exchange_name] command. API keys are account specific credentials that allow access to live information and trading outside of the exchange website.

Please see Connectors for exchanges that Hummingbot currently and instructions to find your API keys.

We recommend using only trade enabled API keys; enabling withdraw, transfer or the equivalent is unnecessary for current Hummingbot strategies.

Config File Templates

These configuration files created and used by Hummingbot are saved in the conf/ directory of your instance, which you can edit directly with a standard text editor.

The template configuration files can be found here: Config Templates.

Exit Hummingbot and ensure it is not running when you modify the config files. Changes will take effect the next time Hummingbot is started.

Keyboard shortcuts

Keyboard ComboCommandDescription
Double CTRL + CExitPress CTRL + C twice to exit the bot
CTRL + SStatusShow bot status
CTRL + FSearch /
Hide Search
Toggle search in log pane
CTRL + XExit ConfigExit from the current configuration question
CTRL + ASelect All* Select all text
CTRL + ZUndo* Undo action
Single CTRL + CCopy* Copy text
CTRL + VPaste* Paste text

* Used for text edit in input pane only.

Note about search:

  1. Press CTRL + F to trigger display the search field

  2. Enter your search keyword (not case sensitive)

  3. Hit Enter to jump to the next matching keyword (incremental search)

  4. When you are done, press CTRL + F again to go back to reset


Keyboard ComboCommand
CTRL + CCopy
SHIFT + RMB (right-mouse button)Paste

To highlight, hold SHIFT + LMB (left mouse button) and drag across the text you want to select.


Keyboard ComboCommand
⌘ + CCopy
⌘ + VPaste
To select text on macOS, you may need to enable the Allow Mouse Reporting option by pressing #`⌘ + R` or selecting View > Allow Mouse Reporting# in the menu bar.


Then you should be able to select text by holding LMB (left mouse button) and drag. You can also hold down ⌥ + shift to select specific lines like the image below.


When accessing Hummingbot on a Linux cloud server through ssh using a macOS terminal, hold down the Option ⌥ key or ⌥ + ⌘ to highlight text.


Keyboard ComboCommand

To use this shortcut, check this box by doing a right-click on the title bar at the top of the Hummingbot window, then select Properties.

Edit on GitHub