Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/hummingbot/hummingbot/llms.txt

Use this file to discover all available pages before exploring further.

Global settings control how Hummingbot operates across all strategies. These settings are stored in conf/conf_client.yml and affect logging, notifications, rate limits, and more.

Client Configuration Map

The global configuration is managed by the ClientConfigMap class, which defines all available settings.

Core Settings

Instance Identification

instance_id: abc123def456789
A unique identifier for this Hummingbot instance, automatically generated on first run.
The instance ID is used for metrics collection and distinguishing between multiple bot instances.

Logging Configuration

log_level
string
default:"INFO"
Controls the verbosity of log output. Options: DEBUG, INFO, WARNING, ERROR, CRITICAL
log_file_path
string
default:"logs/"
Directory where log files are stored
debug_console
boolean
default:"false"
Enable debug-level logging in the console output
Example Logging Config
log_level: INFO
log_file_path: logs/
debug_console: false
logger_override_whitelist:
  - hummingbot.strategy.arbitrage
  - hummingbot.strategy.cross_exchange_market_making
  - conf

Kill Switch

The kill switch automatically stops trading when profit/loss reaches a certain threshold.
kill_switch_mode: kill_switch_disabled
kill_switch_rate
decimal
Percentage profit/loss at which to stop the bot. Negative values represent losses (e.g., -5 = stop at 5% loss, 10 = stop at 10% profit)
The kill switch monitors overall profit/loss from the start of the current session. It does not account for previous sessions or unrealized P&L.

Rate Oracle

The rate oracle provides price conversion rates for different tokens.
rate_oracle_source
string
default:"binance"
Source for price rate data
Available sources:
  • binance - Binance exchange (default)
  • coin_gecko - CoinGecko API
  • coin_cap - CoinCap API
  • kucoin - KuCoin exchange
  • gate_io - Gate.io exchange
  • mexc - MEXC exchange
  • coinbase_advanced_trade - Coinbase

CoinGecko Configuration

rate_oracle_source:
  name: coin_gecko
  extra_tokens: []
  api_key: ""  # Optional - for higher rate limits
  api_tier: PUBLIC  # PUBLIC, DEMO, or PRO
  • PUBLIC: Free tier, limited rate limits
  • DEMO: Demo API key tier
  • PRO: Professional tier with higher limits

CoinCap Configuration

rate_oracle_source:
  name: coin_cap
  assets_map: "BTC:bitcoin,ETH:ethereum,USDT:tether"
  api_key: ""  # Optional - improves rate limits

Global Token Settings

Define the default display token for valuation.
global_token:
  global_token_name: USDT
  global_token_symbol: $
global_token_name
string
default:"USDT"
The token to use for displaying portfolio values (e.g., USDT, BTC, USD)
global_token_symbol
string
default:"$"
Symbol to display with token values (e.g., $, €, ฿)

API Rate Limits

rate_limits_share_pct: 100
rate_limits_share_pct
decimal
default:"100"
Percentage of exchange API rate limits to use (1-100). Set to 50 to use only half of available rate limits, useful when running multiple bot instances.
If you run multiple Hummingbot instances with the same exchange API keys, set this to split rate limits proportionally (e.g., 50% for each of 2 instances).

Database Configuration

Hummingbot stores trade data and state in a database.
db_mode: sqlite_db_engine
db_engine: sqlite
SQLite stores data in a local file (simple, no setup required)
Refer to SQLAlchemy dialects documentation for supported database engines.

Gateway Configuration

Settings for connecting to Hummingbot Gateway (for DEX trading).
gateway:
  gateway_api_host: localhost
  gateway_api_port: "15888"
  gateway_use_ssl: false
gateway_api_host
string
default:"localhost"
Gateway server hostname or IP address
gateway_api_port
string
default:"15888"
Gateway server port
gateway_use_ssl
boolean
default:"false"
Use HTTPS for Gateway connections

MQTT Bridge

Connect Hummingbot to external systems via MQTT.
mqtt_bridge:
  mqtt_host: localhost
  mqtt_port: 1883
  mqtt_username: ""
  mqtt_password: ""
  mqtt_namespace: hbot
  mqtt_ssl: false
  mqtt_logger: true
  mqtt_notifier: true
  mqtt_commands: true
  mqtt_events: true
  mqtt_external_events: true
  mqtt_autostart: false
  • mqtt_host: MQTT broker hostname
  • mqtt_port: MQTT broker port (default 1883)
  • mqtt_username: Authentication username
  • mqtt_password: Authentication password
  • mqtt_namespace: Topic namespace prefix
  • mqtt_ssl: Enable SSL/TLS encryption
  • mqtt_logger: Send logs to MQTT
  • mqtt_notifier: Send notifications to MQTT
  • mqtt_commands: Accept commands via MQTT
  • mqtt_events: Publish bot events to MQTT
  • mqtt_external_events: Subscribe to external events
  • mqtt_autostart: Start MQTT bridge on bot startup

Performance Settings

Tick Size

tick_size: 1.0
tick_size
float
default:"1.0"
Frequency (in seconds) at which strategies execute their logic. Lower values = more frequent execution but higher CPU usage.
Setting tick_size below 1.0 second increases resource usage and may hit API rate limits more quickly.

Command Timeouts

commands_timeout:
  create_command_timeout: 10
  other_commands_timeout: 30
create_command_timeout
decimal
default:"10"
Network timeout (in seconds) when fetching minimum order amounts during strategy creation
other_commands_timeout
decimal
default:"30"
Network timeout (in seconds) for other API calls

Metrics & Telemetry

Anonymized Metrics

anonymized_metrics_mode: anonymized_metrics_enabled
anonymized_metrics_interval_min: 15
anonymized_metrics_interval_min
decimal
default:"15"
How often (in minutes) to send anonymized trading metrics to Hummingbot Foundation
Anonymized metrics help improve Hummingbot. No personal information or API keys are shared.

Error Logs

send_error_logs: true
send_error_logs
boolean
default:"true"
Send error logs to Hummingbot developers to help identify and fix bugs

UI Settings

Table Format

tables_format: psql
tables_format
string
default:"psql"
Display format for tables in the CLI. Options: psql, grid, simple, plain, pipe, orgtbl, rst, mediawiki, html, latex
See python-tabulate formats for examples.

Color Configuration

color:
  top_pane: "#000000"
  bottom_pane: "#000000"
  output_pane: "#262626"
  input_pane: "#1C1C1C"
  logs_pane: "#121212"
  terminal_primary: "#5FFFD7"
  primary_label: "#5FFFD7"
  success_label: "#5FFFD7"
  warning_label: "#FFFF00"
  error_label: "#FF0000"
Customize terminal colors using hex color codes.

Autofill Import

autofill_import: disabled
autofill_import
string
default:"disabled"
What to auto-fill after importing a strategy: start, config, or disabled

Market Data Collection

market_data_collection:
  market_data_collection_enabled: false
  market_data_collection_interval: 60
  market_data_collection_depth: 20
market_data_collection_enabled
boolean
default:"false"
Enable market data collection for analysis
market_data_collection_interval
integer
default:"60"
Data collection interval in seconds
market_data_collection_depth
integer
default:"20"
Order book depth to collect

Balance Limits

Set maximum balance limits per exchange and asset:
balance_asset_limit:
  binance:
    BTC: 0.1
    USDT: 1000
  kucoin:
    ETH: 5
Use the balance limit command to set these dynamically.

Editing Global Settings

1

Stop Hummingbot

Exit the bot if it’s running
2

Edit Config File

Open conf/conf_client.yml in a text editor
3

Save Changes

Save the file with your modifications
4

Restart Hummingbot

Launch Hummingbot to apply the new settings
Alternatively, use the config command within Hummingbot to change settings interactively.

Config Files

Understanding configuration file structure

Paper Trading

Configure paper trading settings

Security

Secure your API keys and credentials