HeyTraders Documentation

Live Trading

Live Trading runs a strategy against real-time market data and may send real orders to a connected exchange account when the account, permissions, and current beta policy allow trade mode.

Use live trading only after you understand the strategy, have reviewed a backtest, and have observed the strategy in paper trading. A request for trade mode is not confirmation that trade mode is active: inspect the returned effective mode and subscription status.

Strategy Script

Live strategy scripts run against real-time market data. The script should be deterministic, explicit about ticker references, and conservative about position sizing because emitted intents can become paper orders or real exchange orders depending on the selected mode.

Use full ticker literals when the strategy must trade a specific market, for example BINANCE:BTC/USDT. Use context['ticker'] when the same logic should run across the selected live universe.

Live scripts should avoid assumptions that only hold in historical data. Check order size, leverage, market type, and exit behavior before enabling real trading.

In tick mode, use the scalar price or get_data(ticker).price for the current market observation. A tick evaluation does not inject bare open, high, low, close, or volume, and an unqualified get_data(ticker) snapshot has no candle series. Request candle history explicitly with a timeframe, such as get_data(ticker, "1m").close.

For vector MTF logic, calculate indicators on the requested candle history and merge the calculated result with align_timeframe(..., base_time=time) before combining it with the strategy timeline. Scalar tick-lane reads such as get_data(ticker, "1m").close[-1] already refer to the latest available candle history and do not need that vector merge.

For Polymarket strategies, use live variables that match prediction-market data:

  • price: latest realtime probability price
  • get_data(context['ticker']).price: the same current outcome observation through a market snapshot
  • get_data(context['ticker']).book: realtime orderbook when available
  • get_data(context['ticker'], '1m').close: completed live trade-built candle history

Polymarket strategies support paper and live trading. They do not support backtesting.

Strategy Templates

Live templates are deployment starting points. They generate strategy logic for paper trading or live trading, but the user must still confirm symbols, timeframe, sizing, leverage, and exchange permissions.

A single strategy can select at most 20 universe symbols. The same universe limit applies to every multi-symbol template and Custom DSL strategy. Templates with named roles, such as the two legs of Pair Trading or Arbitrage, collect those roles separately rather than imposing a smaller universe entitlement.

Free includes one active paper strategy and no trade-mode runtime. Pro includes three active paper and three active live strategies. Ultra includes five of each and is required for tick-level event-driven evaluation. All plans use the same Broker execution path; Ultra does not receive priority order execution. See Subscription Plans.

When choosing a template for live use:

  • Start with paper trading unless the strategy has already been validated.
  • Prefer simple signal, grid, DCA, or pair logic before moving to larger universes.
  • Treat cross-sectional and arbitrage templates as higher-risk because they coordinate multiple symbols or venues.
  • Use Custom DSL only when the script behavior and risk controls are fully understood.

Requirements

  • A connected exchange account
  • Correct API key or wallet authorization
  • Trading permissions enabled
  • Withdrawals disabled for API keys
  • Trusted IP restriction where the exchange supports it
  • Funded account

Live features are beta. Eligibility and usage limits are evaluated at request time; rely on the returned scopes, responses, and structured errors rather than a fixed allowance.

For exchange setup, see Supported Exchanges.

Before You Start

Confirm:

  • exchange account
  • symbol and market type
  • side and position behavior
  • order size
  • leverage
  • order type
  • paper trading behavior
  • API key permissions

Start Small

Use a size you are comfortable testing first. Monitor the first live signals and orders before increasing size.

Manage the Lifecycle

Treat subscribe, pause, resume, mode switch, and unsubscribe as actions to verify. After subscribe, pause, resume, or a mode switch, fetch the subscription and confirm its effective state. After unsubscribe, confirm that the subscription is absent or returns SUBSCRIPTION_NOT_FOUND. Review both venue-live orders at GET /v1/orders/open and managed orders at GET /v1/orders/working-orders. Before relying on a pause or unsubscribe for risk control, cancel any order that must not remain active and confirm its final state.

Agent Help

The agent can help explain the strategy, summarize risk settings, review the connected exchange account, and prepare a live trading checklist.

Live trading uses real funds. Stop the strategy if behavior does not match your expectations.