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.
Note: Make sure that you activate the Anaconda environment with
conda activate hummingbotprior 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. ./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.
Warning: For security reasons, the password is only stored locally in encrypted form. We do not have access to your password.
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 following items
- Bottom navigation bar:Displays the information of 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 arbitrage strategy.|
|Settings for the cross-exchange market making strategy.|
|Settings for the pure market making strategy.|
Tip: 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.
create, you are asked to select a strategy and enter strategy-specific configuration parameters. We have developed walkthroughs for each strategy:
Note: 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.
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.
Warning: We recommend using only "trade" enabled API keys; enabling "withdraw", "transfer", or the equivalent is unnecessary for current Hummingbot strategies.
This 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.
Warning: Exit Hummingbot and ensure it is not running when you modify the config files. Changes will take effect the next time Hummingbot is started.
|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|
Note: To select text on macOS, you may need to enable the Allow Mouse Reporting option by pressing
⌘ + Ror 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.
|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.