Skip to main content

Trading Bots

A Bot on VolatiCloud is the core trading unit — the composition of a Strategy (the trading logic), an Exchange connection (where orders are placed), and a Runner (the infrastructure host) into a single automated trading entity. You can have many bots, each with its own combination of those three components.

Bots list page in its empty state, with a placeholder explaining that no bots have been created yet and a green Create Bot button in the top right

Bots are created from the Bots page using the Create Bot drawer, which gathers everything a running trading instance needs in one step.

Create Bot drawer with Name field, Mode toggle for Dry Run vs Live, Stake Amount and Max Open Trades inputs, and dropdown selectors for Strategy, Exchange, and Runner, with a green Create Bot button at the bottom

The Bot Composition Model

ComponentRoleDocs
StrategyTrading logic — when to buy and sellStrategies overview
ExchangeWhere orders are executed (Binance, Bybit, Kraken, OKX, …)Exchanges overview
RunnerThe infrastructure host running the bot containerRunners overview

The same strategy can power multiple bots — for example one running on Binance and another on Bybit, or a paper bot and a live bot side by side. Each combination is its own bot with its own trade history.

Bot Modes: Dry Run vs Live

Dry Run (Paper Trading)

In Dry Run mode, the bot simulates orders without touching a real exchange account. PnL, trade counts, win rate, and analytics are computed exactly as in live mode — only the order placement is simulated. Use Dry Run to:

  • Test a new strategy on live market data before risking capital
  • Learn the dashboard and the bot lifecycle without real money
  • Validate that live execution matches your backtest expectations

The companion paper trading framework blog post covers how long to paper-trade and what metrics to compare before flipping to live.

Live Mode

In Live mode, the bot places real orders on your exchange using the API keys configured on the exchange connection. Before flipping a bot to live:

  1. Run Dry Run first for a duration matched to your strategy's trade frequency
  2. Start with a small stake amount (25% of intended size for the first 1-2 weeks)
  3. Calibrate stop-losses to volatility — see the risk management blog post
  4. Configure alerts before going live, not after

Bot Status Reference

StatusDescription
stoppedBot is not running
creatingBot container is being provisioned on the runner
runningBot is active and monitoring markets
errorBot encountered an unrecoverable error and stopped
unhealthyBot is running but health checks are failing
backtestingBot is running a backtest (temporary state)
hyperoptBot is running hyperparameter optimization (temporary state)

The full state machine and recovery paths are documented in bot lifecycle.

Bot Actions

From the bot dashboard, you can:

ActionDescription
StartLaunch the bot container
StopGracefully stop the bot
RestartStop and restart the bot
Pause EntryStop opening new trades (keeps existing ones open)
Force Exit AllClose all open positions immediately, then stop
Force Exit TradeClose a specific open position

Bot Detail Tabs

When you open a bot, you'll see these tabs:

TabContent
AnalyticsP&L, win rate, profit factor, drawdown, Sharpe ratio
Open PositionsCurrent active trades with unrealized P&L
AlertsAlert rules and event history for this bot
UsageCPU/memory/network resource consumption charts
Price ChartLive candlestick chart with trade markers
Pair PerformancePerformance breakdown by trading pair

Key Metrics

MetricWhat it means
Total Profit %Overall percentage return since bot started
Win RatePercentage of trades that were profitable
Profit FactorGross profits ÷ gross losses (>1 is profitable)
Max DrawdownLargest peak-to-trough decline
ExpectancyAverage profit/loss per trade
Sharpe RatioRisk-adjusted return (>1 is good, >2 is excellent)

Next Steps