Going live — paper to real-money transition¶
WS Terminal defaults to paper trading. Going live is a deliberate step: change a port, acknowledge eight legal clauses, then start the bot. This page walks through that transition and what to do on your first real-money day.
Don't rush this
The whole reason paper exists is to give you several sessions of seeing the bot's actual behavior on your machine before any money is at risk. A minimum of one full session on paper, end to end, is recommended before switching. If you haven't yet watched a trade go from FVG detection through fill through exit, you're not ready to flip the port.
The pre-live checklist¶
Work through this list before you change the port. Each item is the kind of thing that's annoying to discover after the fact.
1. You've watched the bot run on paper¶
You should have observed, on your own machine:
- At least one full session, open to EOD
- At least one trade going from detection → fill → exit
- The dashboard's behavior during a
DATA · LIVE/DATA · FROZENtransition (this happens on most days) - A graceful Stop and Start without anything getting stuck
If any of those are missing, run another paper session.
2. Your IBKR account is funded and futures-permitted¶
Two separate things:
- Futures trading permissions enabled in your IBKR account. Verify in Client Portal → Settings → Account Configuration → Trading Permissions. If it doesn't say "Futures (US)" enabled, the bot's first live order will reject with a no-permission error.
- The account is funded with enough margin for the contracts
you intend to trade. Margin requirements vary by contract —
/NQis roughly $15-18K initial / $14-16K maintenance per contract;/MNQis roughly $1.5-1.8K initial. Check IBKR's current margin schedule — these numbers move with volatility.
3. Your market data subscription is paid and active¶
This is the single most-overlooked prerequisite. Without an active
live market data subscription, the bot trades on 15-20 minute
delayed quotes and silently makes wrong decisions. The data status
pill on the dashboard will read DATA · DELAYED in that case.
See Market data subscription for the specific subscription codes you need. Subscribing isn't free — it's typically $5-25/month per data set, paid through IBKR. Allow up to 24 hours for activation to propagate.
4. Your live IBKR login is ready¶
If you've only been using paper, your dashboard is configured with
the paper IBKR username (pXXXXXXXX format). Going live means:
- Logging Gateway / TWS out of paper
- Logging back in with your live IBKR username (no
pprefix)
Don't try to use both at once on the same Gateway — IBKR enforces one session per username, but more importantly, the bot doesn't know which account it's hitting; it just talks to the port. The port determines paper or live; the logged-in Gateway determines which account the orders hit.
5. Your position sizing makes sense for your account¶
The bot's Default contracts and Max contracts are quoted in
contracts, not dollars. On the recommended preset, the default
contract count was sized for a specific test account — it is not
automatically scaled to your account.
Quick sanity check before you go live: take your stop distance in
points, multiply by the contract's points-per-dollar value, then
multiply by Default contracts. That number is your dollar risk
per trade. Common futures-per-point values:
| Contract | Points-per-contract | Stop 30 pts × 1 contract = |
|---|---|---|
/ES |
$50 | $1,500 |
/NQ |
$20 | $600 |
/MES |
$5 | $150 |
/MNQ |
$2 | $60 |
/CL |
$1,000 | $30,000 (stop 30 pts is far) |
/GC |
$100 | $3,000 |
Decide what dollar risk per trade is acceptable for your account, work back to the right contract count, and update the position sizing fields before you start the bot.
Pyramiding multiplies risk
Under the WS Terminal Max preset (KEEP_ORIGINAL add-on SL
mode), a fully-scaled-in pyramid carries 2-3× the dollar risk
of a single-entry trade. Use Max contracts as a hard ceiling.
6. You've decided on auto-start¶
Auto-start on launch is off by default — when you launch the
.exe, the bot sits at STOPPED until you click Start. That's the
safe default.
If you want the bot to arm itself automatically every time the app launches (including unattended scenarios — machine reboot, scheduled task, .exe restart), turn this on. Combining auto-start with a live port triggers a separate acknowledgment modal — see below.
For your first live day, leave auto-start off. You should be present and watching.
Switching to a live port¶
In the dashboard:
- Go to Settings → Connection
- Change the Port field:
- 4001 — IB Gateway live
- 7496 — TWS live
- Click Save & Reconnect
The Gateway tag next to the IBKR section will switch from PAPER
to LIVE. The bot has not started yet — saving the port just
updates the connection target.
You'll also see the persistent ● LIVE TRADING pill appear in the
top bar. It stays visible as long as the connection is live — so
you can't miss the state at a glance.
The live-trading acknowledgment modal¶
When you click Start with a live port configured, a full-screen modal pops up before the bot arms. Eight checkboxes you have to explicitly tick, each one a clause you're acknowledging.
The clauses, in order:
- WS Terminal is software, not advice. You understand the bot automates a trading strategy. It is not investment advice, financial advice, or a recommendation for any specific trade.
- Futures trading carries substantial risk, including loss beyond your initial deposit. You may lose all funds in the connected account, and in some circumstances more than your initial deposit.
- You are responsible for configuration, monitoring, and disabling the software. Your parameter choices, the orders the bot places under those parameters, and the decision to keep the bot running are all yours.
- Past and hypothetical performance does not predict future results. Your account's actual performance may differ materially from any backtest, hypothetical, or operator-account results shown in the app or on the website.
- Outages, slippage, and market conditions are outside W.S. Trading Co.'s control. Broker outages, data feed gaps, network failures, exchange halts, and other market conditions may cause the bot to behave differently than backtests suggest, including by missing stops, fills, or signals.
- W.S. Trading Co. is not a CTA, NFA member, RIA, or fiduciary. No agency or fiduciary relationship is being created.
- You accept the End User License Agreement, including its limitation of liability and binding arbitration / class action waiver. The arbitration clause is part of the EULA, surfaced here so it's never hidden.
- You're about to enable real orders for real money. Final awareness check.
You have to check every box. The Confirm button stays disabled until all eight are checked. There's a Cancel button that backs out and leaves the bot stopped.
When you Confirm:
- An audit-log entry is written locally (
acknowledgments.json) with your acknowledgment, the SHA-256 of the exact text you agreed to, and a timestamp - The same entry posts to the cloud audit log
- The bot arms and starts running
The acknowledgment is per-version. If you update WS Terminal and the legal text changes (text SHA-256 changes), you'll re-prompt the next time you click Start with a live port.
The auto-start variant¶
If you've also enabled Auto-start on launch and the port is live, you'll see a second acknowledgment modal the first time you combine those settings. The clauses cover the elevated risk of unattended trading specifically — the bot arming itself without a confirmation prompt at every app launch.
The auto-start acknowledgment is in addition to, not in place of, the standard live-trading one. Disabling either auto-start or the live port revokes the consent until you re-enable.
Your first live day¶
When the modal closes and the bot is running on a live port, treat this like a brand new day-1 — not a continuation of paper.
Be present. Whatever your normal posture for paper, dial it up one notch for the first live session. Watch the dashboard. Don't walk away.
Start with the smallest contract size that makes sense. Even if you've sized the position correctly for your account, the first time the bot fires real orders, you want a small dollar amount on the line so you can absorb any surprise without it mattering.
Watch the fills. When the bot's first live order fills, the fill price on the dashboard should match what you see in Gateway's trade log. Confirm they match. If they don't, something is wrong with the connection — Flatten All and investigate.
Be ready to Flatten All. Bot does something unexpected? Hit Flatten All immediately. You can always re-investigate after everything is closed.
Don't intervene unless something is broken. "I think this trade will lose" is not a reason to intervene. The strategy has losing trades; that's why the stop exists. Manual closures and manual restarts mid-trade are how unstuck setups become stuck.
Don't change settings after the first day. One day is noise. Watch a few sessions before you tune anything based on live behavior.
Reverting to paper¶
You can switch back to paper any time:
- Settings → Connection → change port back to 4002 (Gateway paper) or 7497 (TWS paper)
- Save & Reconnect
- The
LIVE TRADINGpill disappears
Going from live to paper does NOT prompt the acknowledgment modal — that only fires when arming live. Switching back to live later will re-prompt, since the audit log entry only applies to that specific text and that specific build.
Where to go next¶
- Operations → Daily runbook — what unattended live operation looks like, Gateway interaction, restart cadence
- Your first trading day — the day-1 narrative, in case you want to re-read it through a live lens
- Troubleshooting — connection rejections, no-trades, and other live-specific oddities