Start and Configure Hummingbot
How to start Hummingbot and understanding the various configuration and UI items
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
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.
- 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/USDTtrading pair, you'll need some
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.
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. ./clean # 2) Install ./install # 3) Deactivate old conda environment conda deactivate # 4) Activate conda environment conda activate hummingbot # 5) Compile ./compile # 6) Run Hummingbot bin/hummingbot.py
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.
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
- Bottom navigation bar: Displays the information of the following items
- Total P&L
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
|Global configuration settings, e.g. Binance API keys and Ethereum node.|
|Settings for the pure market making strategy.|
|Settings for the cross-exchange market making strategy.|
|Settings for the perpetual market making strategy.|
|Settings for the arbitrage strategy.|
|Settings for the celo arbitrage strategy.|
|Settings for the amm arbitrage strategy.|
create, you are asked to select a strategy and enter strategy-specific configuration parameters. We have developed walkthroughs for each strategy:
- Pure market making
- Cross-exchange market making
- Perpetual Market Making
- Celo Arbitrage
- AMM Arbitrage
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.
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.
|Status||Show bot status|
|Search / |
|Toggle search in log pane|
|Exit Config||Exit from the current configuration question|
|Select All||* Select all text|
|Undo||* Undo action|
|Copy||* Copy text|
|Paste||* Paste text|
* Used for text edit in input pane only.
Note about search:
CTRL + Fto trigger display the search field
Enter your search keyword (not case sensitive)
Enterto jump to the next matching keyword (incremental search)
When you are done, press
CTRL + Fagain to go back to reset
|CTRL + C||Copy|
|SHIFT + RMB (right-mouse button)||Paste|
To highlight, hold SHIFT + LMB (left mouse button) and drag across the text you want to select.
|⌘ + C||Copy|
|⌘ + V||Paste|
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.
|CTRL + SHIFT + C||Copy|
|CTRL + SHIFT + V||Paste|
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.