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_unavailableuntil 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
- You start today's session (one per day, during market hours).
- The bot registers a live session and waits for fresh market data.
- 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.
- Through the day it manages its resting orders (below), respecting the risk policy it froze at session start.
- 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.