Bot Orchestration

Deploy V2 Controllers

Deploy a V2 strategy with controllers.

This is the recommended method for deploying multi-controller trading strategies. The endpoint automatically:

  1. Generates a unique timestamped instance name to prevent conflicts
  2. Creates the script configuration file combining all specified controllers
  3. Deploys a new Docker container with the v2_with_controllers.py script
  4. Creates a bot run record for tracking

Controllers are pre-configured strategy components that can be combined to create sophisticated trading strategies. Examples include:

  • DMan Maker: Directional market making with inventory management
  • Grid Strategy: Grid-based trading for ranging markets
  • XEMM: Cross-exchange market making

The generated instance name follows the format: {instance_name}-{YYYYMMDD-HHMMSS} to ensure uniqueness across deployments.

post/bot-orchestration/deploy-v2-controllers

Request body

instance_namestring required

Base name for the bot instance. A timestamp will be appended automatically (e.g., 'my-bot' becomes 'my-bot-20240115-143022'). This ensures each deployment has a unique name even if the same base name is reused.

credentials_profilestring required

Name of the exchange credentials profile to use. The profile must exist in the credentials directory and contain valid API credentials for the exchanges used by the controllers.

controllers_configstring[] required

List of controller configuration file names (without .yml extension). Each configuration must exist in conf/controllers/ directory. Multiple controllers can be combined to run different strategies simultaneously on the same bot.

max_global_drawdown_quotenumber nullable

Maximum total drawdown allowed across ALL controllers in quote currency (typically USDT). When this threshold is exceeded, all controllers stop trading as a risk management measure. Set to None for no global limit.

max_controller_drawdown_quotenumber nullable

Maximum drawdown allowed per individual controller in quote currency (typically USDT). When a single controller exceeds this threshold, only that controller stops while others continue. Set to None for no per-controller limit.

imagestring

Docker image to use for the Hummingbot instance. Version pinning is recommended for production deployments to ensure consistent behavior.

headlessboolean

When True, runs the bot without the terminal UI. Recommended for production deployments where bots are managed entirely via API. Reduces memory and CPU usage.

Example request

{
  "instance_name": "dman-maker",
  "credentials_profile": "binance_main",
  "controllers_config": [
    "dman_maker_btc_config"
  ],
  "max_global_drawdown_quote": 1000,
  "max_controller_drawdown_quote": 250,
  "image": "hummingbot/hummingbot:latest"
}

Response

Successful Response

{"stackTrail":"paths:/bot-orchestration/deploy-v2-controllers:post:responses:200:content:application/json:schema","oasType":"schema","type":"unknown"}

Changes