A Mac. PropTradeBot is a macOS app and runs on your own Mac, not on a server. It must be running, and the Mac awake, while you trade.
A PropTradeBot subscription (the 7-day trial counts).
Where your orders go, one of:
Topstep, through Topstep's API. API access is billed by Topstep/ProjectX, separately from PropTradeBot. See Topstep's API access article for the current price.
NinjaTrader 8, for any account you trade in NT8. NT8 runs on a Windows PC or a Windows virtual machine; follow the NinjaTrader 8 guide for that part, then come back to step 5. On this route you confirm that your firm allows automated trading through NT8; PropTradeBot doesn't check that for you.
Your signals, one of:
TradingView alerts: a TradingView plan with webhook alerts, and two-factor authentication turned on.
A Discord provider: Google Chrome on the same Mac, open on the provider's channel.
PropTradeBot executes your signals. It doesn't provide signals, trade calls or a strategy, and it doesn't promise any result.
Sign in at proptradebot.com/dashboard with the same email you used on Whop, and copy your PropTradeBot API key. The first setup screen, Connect Your Broker(s), asks for it.
04Connect Topstep
Get your Topstep API key (from Topstep's article)
Create a ProjectX Dashboard account.
Subscribe to API Access there.
Link the subscription to your TopstepX profile. Skip this and you'll see "User lacks subscription".
Generate the API key in TopstepX.
Topstep doesn't give coding or API support, so if a step on their side fails, their article is the place to check.
In the app
Paste your PropTradeBot API key.
Answer Which prop firm is your account with?
Enter your Topstep Username (your email) and Topstep API Key, then click Connect Topstep.
When it works, the line changes to ✓ connected and you'll see Topstep connected. Click Next →.
Key fields show dots, not the key, with a Show button. Don't click Show while you're recording or sharing your screen.
05Choose your accounts
Trading Accounts asks Do you use Topstep's Trade Copier?
Answer
What PropTradeBot does
Yes
Trades one leader account. Topstep's copier copies it to your other accounts.
No
Places orders on each account you tick.
Nothing is selected for you. An account trades only when you turn it on. Practice accounts (their names contain PRAC) are listed first. Start with one practice account.
Topstep Live Funded accounts can't trade through Topstep's API (Topstep's rule), so PropTradeBot can't trade them.
06Strategy, stops and flatten time
Every trade is managed the same way: one market entry, a stop on every position, T1 and T2 trims and a runner, and flat before the close. Sizes, targets and stops are your settings.
Quick presets
MNQ 3-1-1, MNQ 1-1-1, MES 1-1-1, MNQ 4-1-1, MES 4-1-1, or Custom. MES 1-1-1 is the smallest risk (3 MES, 11-point stop), a sensible place to start. A preset sets the other instrument to 0 contracts, and an alert for an instrument left at 0 is refused.
Stop after T1
After T1 fills, the stop moves to your Stop after T1 setting, in points from entry (0 = breakeven). The presets use 7 for MES and 35 for MNQ, so it is not breakeven unless you set 0.
Daily loss limit
Set per account. P&L comes from the broker's own fills. Setup refuses a strategy whose full stop is bigger than the daily loss limit (default $500).
Flatten time and entry cutoff
Set a flatten time. There's no default, and until you set one, new entries are refused.
Optional: Stop taking new entries at, a cutoff before the flatten.
Both are on the Strategy tab after setup, so you can change them any time.
07Review and save
Check the summary on ✅ Review & Save, then click 💾 Save & Restart Bot. The app restarts into its home screen on the Status tab. If a position is open, it saves but won't restart until you're flat.
On proptradebot.com/dashboard, find 📈 TradingView Strategy and click Generate Webhook. You'll get a Webhook URL, a Passphrase, the alert message and a Test first message, each with a Copy button.
The webhook URL and passphrase are secrets: together they let anyone send trades to your account. Never post or share them. If they leak, click Regenerate Webhook: the old URL and passphrase stop working, so paste the new ones into your TradingView alerts.
2. Send a test first
In TradingView, create an alert with any simple condition. Under Notifications, turn on Webhook URL and paste yours.
Paste the Test first message as the alert message.
When it fires, ask the dashboard's 💬 Setup Assistant "did my test alert arrive?"
The test is recorded on the website and never sent to the app, so it can't place an order. Delete the test alert afterwards.
3. Create the real alert
The dashboard's main message works on an alert on your strategy. Create an alert on your strategy, paste the Webhook URL under Notifications, and paste the message exactly as shown.
Using an indicator instead of a strategy? The app's Alerts tab has one message each for Buy, Sell and Exit. Replace YOUR_WEBHOOK_PASSPHRASE in them with your passphrase.
Alerts go TradingView → proptradebot.com → the app, which collects them while it's open and connected. An alert not collected within 60 seconds is dropped, not traded late.
In Chrome, open chrome://extensions, turn on Developer mode, click Load unpacked and choose the unzipped folder.
Open the Connector from Chrome's toolbar and paste the passphrase from PropTradeBot → Alerts.
In PropTradeBot → Discord, add the provider and teach it their messages: paste one real entry and one real exit.
Start in Shadow. The app logs what it would have traded, without trading.
Keep the provider's channel open in Chrome while you trade. When the shadow log looks right, switch the provider to Live.
Only messages that match what you taught are traded. Unrecognised or ambiguous messages never trade. If you still have the old Chrome extension (Connector 4.x or earlier), remove it.
10Day to day
Keep the app running and the Mac awake during your session. If the Mac sleeps, signals in that time are missed.
The home tabs are Status, Alerts, Strategy, Accounts, Discord, Connection, plus a red Flatten all button.
Status shows the connection, the accounts being traded, the open trade, today's P&L and Recent notices.
One trade at a time. A second entry while a trade is open is refused ("send an exit first").
At your flatten time, positions are closed. On the NT8 route that's every position on those accounts, not only PropTradeBot's.
The app won't restart while a trade is open.
11When it refuses a trade
PropTradeBot refuses rather than guesses, and says why under Status → Recent notices:
⛔ Alert refused: … ⛔ Entry refused: …
Common reasons:
No flatten time set, past your entry cutoff, or past the flatten time.
The wrong contract size, or an instrument set to 0 contracts.
A second entry while a trade is open, or an exit with no open trade.
A message it doesn't understand (for strategy alerts: "action must be buy, sell or exit").
Discord: the market is more than 10 points (S&P) or 40 points (Nasdaq) from the provider's price, or no current price can be read.