Trading bots

Run a saved strategy hands-free against the live session — coming soon.

A trading bot runs one of your saved strategies hands-free against today's live session: the same strategy logic your backtest measured, executed in real time without you at the keyboard. Bots are the final rung of the Research → Trade funnel — the bridge between "the backtest looks good" and "it trades while I watch".

Coming soon. Bots are built and documented but haven't launched yet — in the app they appear with a "coming soon" badge, and the Bots API returns 404 feature_unavailable until they go live. This page describes how they'll work.

What a bot is

A bot is a dedicated trading account with three things attached:

  • A pinned strategy. You create a bot from one of your saved strategies — form-built or authored with the AI assistant. The bot pins that exact immutable strategy — the configuration that produced the backtest results you evaluated — so what runs live is precisely what you tested.
  • A risk policy. Per-bot guardrails: limits on open positions and orders, a stale-data threshold, and an error budget that auto-pauses a strategy that keeps erroring. These are runaway tripwires — if a bot blows past a limit it halts the session rather than keep trading. Managing a losing day is the strategy's job: have it close positions or call ctx.halt() on the conditions you care about.
  • A continuous balance. Like every account, a bot's cash balance carries from one session to the next and compounds. Each day opens with whatever the previous day settled to — nothing resets.

A day in the life of a bot

  1. You start today's session (one per day, during market hours).
  2. The bot registers a live session and waits for fresh market data.
  3. The strategy runs exactly as it does in a backtest — same entry logic, same exits — but against live ticks, writing a decision log of what it chose to do and why.
  4. Through the day it manages its resting orders (below), respecting the risk policy it froze at session start.
  5. At the close, the session settles through the same pipeline as any live day, and the result rolls into the bot's balance.

You can watch everything live — orders, positions, per-second P&L, and the decision log — and you can always intervene: cancel the bot's open orders while letting it keep running, or stop the session entirely.

Smart order re-pricing

Backtests fill a mid-priced limit order on the entry tick; the live market is not so generous — an order resting exactly at the mid tends to sit unfilled while the market drifts. Bots handle this with automatic re-pricing, walking their unfilled limit orders toward the market one tick at a time:

  • Entries are patient and capped. The bot concedes a tick only while the market is flat, and never more than a configurable cap from its intended entry price. If the market runs away, the bot waits rather than chase.
  • Exits are relentless and uncapped. A closing order concedes a tick on a steady cadence until it fills, whatever the market does — the priority is getting out, because an unfilled exit is an unmanaged position.

Both behaviors are on by default and tunable per bot. Turning exit re-pricing off is possible but dangerous for exactly the reason above.

Bots vs. the other ways to trade

Practice Live trading Bot
Who clicks You You The strategy
Clock Yours (any past day) Real (today) Real (today)
Account None ($100k sandbox) Live account Dedicated bot account
Balance Fixed per day Continuous Continuous
Guardrails Buying power & margin Buying power & margin + risk policy

Tips

  • Earn the bot. The funnel exists for a reason: backtest the strategy over the full history, trade its best and worst days by hand in practice, run it live yourself for a while — then hand it to a bot. Automation amplifies whatever you give it, including flaws.
  • Build loss management into the strategy. The platform enforces no drawdown halt — the strategy decides when a day has gone wrong. Study the backtest's worst days and encode the response you want: tighten exits, stop entering, or call ctx.halt() to end the session flat.
  • Read the decision log, not just the P&L. The log shows what the strategy saw and chose, tick by tick. A profitable day for the wrong reason is a warning, and the log is where you catch it.

When bots launch, they'll be manageable from the app and the Bots API alike.