Skip to content

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 · FROZEN transition (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 — /NQ is roughly $15-18K initial / $14-16K maintenance per contract; /MNQ is 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 p prefix)

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:

  1. Go to Settings → Connection
  2. Change the Port field:
    • 4001 — IB Gateway live
    • 7496 — TWS live
  3. 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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. W.S. Trading Co. is not a CTA, NFA member, RIA, or fiduciary. No agency or fiduciary relationship is being created.
  7. 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.
  8. 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:

  1. Settings → Connection → change port back to 4002 (Gateway paper) or 7497 (TWS paper)
  2. Save & Reconnect
  3. The LIVE TRADING pill 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