← trading / simulation lab

Build the campaign.
Replay every history.

A prop-firm campaign simulator that runs in your browser. Compose programs from firms, account sizes and methods — evals and funded stages separately — then replay them through the full trade history, or through every historical start at once.

Results update automatically — every change re-runs the engine in this browser.

Touch-fill sim Zero slippage Ceiling, not a promise

Verdict

Written summary · cites certified and engine-computed studies

Every number below is in-sample on a touch-fill, zero-slippage sim — a ceiling, not a promise. LucidPro is the only parity-anchored ruleset; every challenger is third-party-sourced. Sources are listed at the end of the card.

Verdict & the plan · studies through 2026-07-28 · TradeDay 50K added · account caps corrected to per-firm (5 evals + 5 funded per firm, no portfolio limit)

Follow the ladder — LucidPro 25K now, add Topstep 50K Standard when the bank sustains it, add TradeDay Fast Pass 50K only with an 18-month runway. Everything else tested is a skip. Retire@3 stays the standing policy on every firm.

Six plans have now been run as full 5-eval + 5-funded fleets on the same trade books and the same historical start days, each retiring every funded account after its 3rd payout, each charged its own fees plus a $350/firm PickMyTrade allowance. The caps that bound this are per firm — 10 accounts / 5 funded at each firm — so the firms are additive and the question is never "which one" but "in what order, funded by what". The order below is the deliverable: each phase names the trigger that opens it and the gate that must clear before money moves. The green R in the composer still marks the study-recommended method for each account; hollow means your selection differs from it.

where the money is — 5+5 fleet per firm, retire@3, after the $350 PMT allowance
#plan · full 5+5 fleet12m net18m net12m p25read
1★ LucidPro 25K (incumbent · parity-anchored)$19,828$25,219$505the account. Start here and stay here.
2Topstep 50K · Standard$17,463$25,822$2,596additive, best p25 in the set, passes Lucid at 18m.
3TradeDay Fast Pass 50K (uncalibrated)$11,228$18,694−$2,384horizon plan — needs 18 months to be worth it.
4Tradeify Select Flex 25K$8,578$11,734$1,606marginal; live-transition ambiguity at payout 3.
5MFF Rapid 25K$4,202$7,751$3,043retire@3 truncates its uncapped stream.
6TradeDay Quick Pay 50K (uncalibrated)$3,471$9,253−$4,853survival-filtered payout lottery — skip.
ΣPortfolio · Lucid + Topstep + Tradeify + MFF + TradeDay Fast Pass
Quick Pay excluded: the two TradeDay plans share ONE TradeDay account pool and are mutually exclusive
$61,299$89,220an arithmetic sum of six standalone campaigns, not a simulated portfolio.
the four incumbents alone sum to $50,071/12m and $70,526/18m; TradeDay Fast Pass is what takes it to $61,299 / $89,220 · every incumbent's 12m p25 is POSITIVE, both TradeDay plans' are negative — that column, not the median, is why TradeDay is late in the plan below.
the plan — what to do next
  1. Phase 0now

    Run what you already own, and bank the rest.

    Trade the two pre-paid LucidPro 25K evals with the live eval method (P1 Fast reBreak, M1be) through the existing TV → PickMyTrade → Tradovate automation. Keep the funded LucidPro on the funded book (reBreak + $700 cap). Standing policy on every firm from day one: take payouts, intentionally breach after the 3rd (retire@3), never accept a live transition. Bank $2,000 opening + $500/month; every payout dollar above the renewal reserve sweeps to the brokerage — Phase 4 is continuous, not a later step.

    trigger none — this is the current state gate LucidPro's PickMyTrade permission is still pending in writing; the automation is running on an unanswered compliance question
  2. Phase 1next 0–6 months

    Scale LucidPro to its per-firm cap — 5 evals + 5 funded, at Lucid.

    Whenever bank cash ≥ eval price + the monthly reserve, buy another LucidPro eval and promote passes as they land. The 10-account / 5-funded cap is per firm, so nothing here spends a slot at any other firm. Expect ~11 funded deaths and 5 deliberate retirements across a 12-month fleet year — that is normal, budget the replacements. If Lucid is all that ever runs, this alone is the $19,828/12m → $25,219/18m row above (median; a bad start quartile is nearer $500 at 12m).

    trigger bank cash ≥ eval price + monthly reserve → buy the next eval gate stop at 5 evals + 5 funded AT LUCID; a passed eval waiting in the queue still occupies one of the ten slots
  3. Phase 2after the first 2–3 payouts land

    Add Topstep 50K Standard — the one recommended addition.

    #2 ranked, additive to Lucid (separate account pool, interference exactly zero), and the first challenger in this series to beat LucidPro on paired identical start days (+$917/start at 12m, +$1,859 at 18m). It also carries the best downside in the set (12m p25 $2,596). Run the live methods unchanged — Fast taper eval + reBreak + $700 cap funded — keep the cushion at $51,000, and then scale it to 5/5 exactly like Lucid.

    trigger bank sustainably above ~$3–5k after Lucid's subscriptions — typically once the first 2–3 payouts have landed gate before the first Topstep eval: re-confirm compliance in writing — automation is allowed but cloud-hosted automation is NOT, and APIs are banned on Live Funded; the copier path must be confirmed. Topstep's ruleset here is third-party-sourced and uncalibrated.
  4. Phase 3only with an 18-month runway

    Add TradeDay Fast Pass 50K — last, never first.

    Third-ranked and it improves materially with runway ($11,228/12m → $18,694/18m) — but its 12-month p25 is −$2,384, so a bad start month ends the year having paid TradeDay more than it extracted. Hard rule: never as a first allocation. Policy is greedy payouts — request every cycle as soon as the five $150+ days clear and the cycle is net-profitable, rather than waiting for a bigger cheque an account may not live to collect. Under retire@3 expect ≈$3,212 cash per funded account against a hard lifetime ceiling of $3,600 (3 × $1,200). A 3-day payout-processing pause is modelled and priced in.

    trigger an 18-month runway is secured AND Lucid + Topstep payouts are already recycling into new evals gate get TradeDay's copier/automation permission in writing — copy trading is permitted (the only firm in the set that says so), but PickMyTrade specifically is unverified. The plan is uncalibrated and not TV-verified.
  5. Phase 4continuous — from Phase 0 onward

    Compound the swept payouts in the own-money brokerage.

    Every swept payout dollar lands in the brokerage account and trades master_fund400 at flexR sizing — R = min(cap, max($200, 10% of balance)), cap laddering $400 below $10k → $600 to $15k → $800 above. Standalone from a $2,000 balance that measures +$3,218 median / 12m, p25 +$1,053, and 0% historical ruin across 500 start days — it converts the campaign's right tail into a floor rather than adding a new way to lose. Watch the fan on the Brokerage tab in Forward mode.

    trigger every payout, immediately — sweep everything above the renewal reserve gate the $2,000-balance anchor is measured at the $400 cap rung; the ladder's upper rungs raise risk with the balance and have no zero-ruin proof of their own
tested and rejected — the skip list
  • MFF Rapid 25K — retire@3 truncates the one thing it had going (an uncapped payout stream); $4,202/12m on $5,445 of fees.
  • Tradeify Select Flex 25K — marginal at $8,578/12m, and its published 3rd-payout live-transition trigger is exactly where retire@3 lands; staying provably compliant (retire@2 + a 9-payout lifetime cap) costs ≈$2.3k/12m.
  • TradeDay Quick Pay 50K — the gross intraday trail kills 91.9% of funded accounts before payout 1 and 65.2% never pay at all; the median rests on the ~1-in-3 survivors, and its policy was chosen by sweep on the same path it is scored on. Mutually exclusive with Fast Pass anyway.
  • 150K accounts (Lucid and Topstep) — at live sizing the median cohort never funds; 500 of 500 paired cohorts lose to their own smaller sibling, and the bridge cell proves it is the plan structure, not the sizing. Scale by adding siblings.
  • Session transplants (Tokyo / London) — the edge is NY-only; Tokyo passed 0% of evals and won 0 of 127 paired starts.
  • Added confluences, multi-entry re-arms, skip-rescans — all measured negative or ≈ fees. The live A+B method is at its tested optimum; leave it alone.

What to expect if the whole plan runs: ≈$61k over 12 months across the portfolio after every fee and the PMT allowance — but that is an all-cohort median on a ceiling-biased sim. The p25 is materially lower everywhere, and per-firm p25 for both TradeDay plans is negative at 12 months. Treat the ladder's order, not its total, as the actionable part.

touch-fill · zero-slippage sim — a ceiling, not a promise · in-sample: the books saw this window · LucidPro is the only parity-anchored ruleset — every challenger is third-party-sourced · both TradeDay plans are uncalibrated and NOT TV-verified · the playground's account caps are now per-firm (5 evals + 5 funded at each firm, no portfolio-wide limit) · Tradeify books are 20-micro trades clamped to 10 — its numbers are a floor-ish approximation · self-caps dodge published live-transition counts, not discretionary review · Topstep/Lucid presets breach on wire equity_min; path_breach arms quantify the real-time gap (LucidPro mean −11% — a standing caveat for all Lucid studies) · the portfolio row is an arithmetic sum of standalone campaigns, not a simulated portfolio
sources: EXTRACT5-PAYOUT-PROJECTION-2026-07-27.pdf (v3 · engine 2.10.0 · firms_extract5_{grid,sens,decomp,summary}.json) · TradeDay policy×pause sweep (bankopt_data.json → tradeday_policy_sweep) · LUCID-TOPSTEP-150K-STUDY-2026-07-26.md (firms150_forward.mjs) · LUCID-TOPSTEP-7SETS-STUDY-2026-07-25.md (firms7_forward.mjs) · TRADEIFY-MFFU-8SETS-STUDY-2026-07-25 · MFF-25K-PLANS-STUDY-2026-07-25 (superseded by the 8-sets study) · brokerage anchor selffund_max_summary.json · LucidPro multi-entry decision 2026-07-23 · full grids in the Firms tab

Certified cohorts

Certified study

Read straight from the canonical study JSONs (monthly cohorts, LucidPro 25K, db-anchored and Codex-reviewed) — not recomputed here. Still a touch-fill, zero-slippage ceiling on in-sample books.

Net bank cash by horizon
From the accepted study runs (monthly cohorts, LucidPro 25K) · outer band P10–P90 · inner P25–P75 · tick = median
data table
All methods at 12 months
Same cohorts, same policy — certified study numbers
data table
Cohort headline numbers
Read straight from the canonical study JSONs for the selected method and ramp policy · certified study

These are the certified numbers from the canonical study JSONs (db-anchored, Codex-reviewed). The other two tabs are computed live in your browser by the same parity-tested engine, but over a denser start pool (every market day vs these monthly cohorts) — expect close, not identical, distributions. Winners-halved stress at 18 months: .

Prop Firms

one cohort · computed in this browser by the parity-tested engine

Research simulator — retire@3 · net-ex-deposits · uncalibrated rulesets

Advanced — standing assumptions, not decisions

Bank cash, day by day
Inventory, day by day
Stepped — accounts are whole things, never fractions
Per-firm result
Single-firm sanity — one firm at a time, same config
Event ledger — every campaign event, day by day
Research: policy sweep tables

Research: study medians across every historical start day

The starting position: $2,000 of cash in the bank, two LucidPro 25K evals already paid for and running, one LucidPro 25K account already funded at $25,600. From there the bank is real: an eval is bought only when the cash is actually there, a subscription eval that cannot be re-billed is forfeited, and payout cash lands three market days after it is booked. Every number below is the median across every historical start day — a distribution of scenarios, not a forecast.

Liquid cash in the bank
data table
Inventory and cumulative events
Costs vs payouts, cumulative
The policy against the fixed baselines
Same start days, same books, same starting position — only the eval-buying policy changes. "All starts" is the honest column; the validation column is the one the grid optimised on.
Stress arms
The same selected policy re-run with one assumption broken at a time. Winners-halved is the honesty stress; the rebill arm inflates Topstep's monthly eval fee by 50%; the lag arms move payout settlement.
Research: custom campaign composer — history replay and the every-start fan

Campaign Summary

Aggregate across every program in the composer — not per-program. Per-program numbers are in the replay's breakdown table.

Current composer replay · computed locally

Bank cash

Current composer replay · computed locally

A compact view of the same series as "Cash in the bank" below — payouts at split minus every fee.

History replay

Computed locally · not certified

One historical path, run in this browser by the parity-tested engine: touch fills, zero slippage, $0.74/side commission — a ceiling, not a promise. In-sample; the books saw this window.

Cash in the bank
data table
Funded accounts — equity above start
Sum across live funded accounts (incl. frozen live-review) · payouts and breaches marked
Evals — equity above start
Sum across active evals · passes and failures marked
Inventory over time
How many accounts of each kind you hold, day by day
Event log

Forward — every start

Computed locally · not certified

Historical scenarios, not confidence intervals: the starts overlap and share regimes, and the books saw this window. Same touch-fill, zero-slippage ceiling as the replay.

Bank cash from every start
data table
Distribution across every start
Percentiles over the same start pool as the fan above · computed locally

Historical scenarios, not confidence intervals. Starts overlap and share regimes; the books saw this window. Computed locally in your browser by the parity-tested engine.

Compounding

one cohort · campaign + brokerage, computed in this browser

Research simulator — retire@3 · net-ex-deposits · uncalibrated rulesets

Advanced — standing assumptions, not decisions

Bank cash and brokerage equity, day by day
Inventory, day by day
Stepped — accounts are whole things, never fractions
Per-firm result
Single-firm sanity — one firm at a time, same config
Event ledger — every campaign event, day by day
Research: policy sweep tables

Research: study medians across every historical start day

The same campaign plus a personal brokerage account. A second $2,000 opens a real brokerage account trading the master_fund400 book at R = min(cap, max($200, 10% of balance)) with a one-tick-per-side haircut. Every payout dollar above the keep-reserve leaves the campaign bank and is deposited into it. That is the whole point and the whole risk: nothing is withdrawn to safety, so the "idle cash after reinvest sweep" line sits near zero by construction.

Campaign bank, brokerage equity and idle cash after reinvest sweep
data table
Inventory and cumulative events
Costs vs payouts, cumulative
The policy against the fixed baselines
Same start days, same books, same starting position and the same sweep rule — only the eval-buying policy changes.
Stress arms
Brokerage ruin is the column to read first: a swept account is a traded account, and a traded account can go to zero.

Brokerage

own-money account · computed in this browser · not certified

Research simulator — own money, no prop firm · one tick of slippage per side

Brokerage equity, day by day
Ledger — every day the balance moved

Prop Firm Rules

engine-computed · not certified

This grid comes from the engine-computed multi-firm study, not from the certified Python study chain. Same books and same start days for every firm; LucidPro is the only parity-anchored ruleset. Touch-fill, zero-slippage ceiling throughout — read the caveats at the foot of this view before quoting anything.

Every firm, same books, same start days
Paired against LucidPro — same start day, same books
Each MFF campaign is differenced against the LucidPro campaign that started on the same day, then the differences are summarised. Marginal medians (the table above) flatter whichever arm drew the luckier start days — these paired numbers do not.
Sensitivities — winners-halved stress and one-time fee
Stress halves every winning trade. The one-time-fee column re-bills the eval as a single purchase instead of MFF's recurring 30-day subscription.
Payout cushion sweep
Caveats — read before quoting any of this

    Simulation assumptions & warnings

    1 · Global assumptions

    Standing policy, applied to every number on the page: every funded account is intentionally breached after its 3rd payout (retire@3 — never go live), new money is paid into the campaign bank on the first market day of each month, and the account limits are per firm — 5 evals and 5 funded accounts at any one firm, with no portfolio-wide limit. Adding a firm adds its own 5+5, so the scarce resource is the shared campaign bank, not a slot count.

    The headline metric is profit on invested, net of deposits: ending cash minus the opening bank minus every dollar deposited over the horizon. A deposit is not profit, so paying money in can never flatter it.

    The starting position: the opening bank above, two LucidPro 25K evals already paid for and running, and one LucidPro 25K account already funded at $25,600. From there the bank is real: an eval is bought only when the cash is actually there, a subscription eval that cannot be re-billed is forfeited, and payout cash lands three market days after it is booked.

    Historical mode is one start day, not a distribution. It will look luckier or unluckier than the study medians, and a single cohort can never validate a policy. Switch the mode to Forward to fan the same config across every historical start.

    The same campaign plus a personal brokerage account. A second opening balance trades the master_fund400 book at R = min(cap, max($200, 10% of balance)) with a one-tick-per-side haircut. Every payout dollar above the keep-reserve leaves the campaign bank and is deposited into it. That is the whole point and the whole risk: nothing is withdrawn to safety.

    Historical mode is one start day, not a distribution. The campaign's sweep events become the brokerage's deposits, day for day. In Forward mode the campaign is fanned ALONE — the brokerage overlay is not fanned.

    Your own money, no prop firm. One account, one position at a time, sized by the study's flexR rule and frozen (not busted) below $50. There is no eval fee, no payout split and no rule breach — and no firm absorbing the loss either: a busted brokerage account is your cash, gone.

    2 · Per-firm warnings

    No prop firm is involved on this page, so no firm ruleset warnings apply. The book's own caveats in section 3 still do.

    3 · Research integrity

    Research-grade simulator — not a purchase instruction. Method profile not TV-parity-verified; firm rules as modeled (LucidPro payout ladder = legacy/conservative assumption; verify current official rules before spending).

    Read this before reading a single number

      Research-grade simulator — not a purchase instruction. Method profile not TV-parity-verified; firm rules as modeled (LucidPro payout ladder = legacy/conservative assumption; verify current official rules before spending).

      Read this before reading a single number

        Research-grade simulator — not a purchase instruction. The book is the same touch-fill, zero-net-slippage engine output every other page uses, with one tick per side charged back on top. Not TV-parity-verified as a self-funded plan.

        Read this before reading a single number

          Custom firm

          Duplicate a preset and edit its rules. Custom firms live in this browser only and are badged uncalibrated — the trade books stay sized for their original firm.