Miss the three sweep charts? The classic build is still online: Prop Firm Lab v1 →

Prop Firm Lab v3

Build any prop account from its rules, plug in your trading, and watch thousands of lifecycles play out in Monte Carlo. Money only counts when a payout clears. New in v3: contract-stepped sizing turns intended risk into whole contracts, so every simulated dollar follows the size you can actually trade.

The account's rules

Pick a preset or set the rules yourself.
Fine print
Trail lock: the floor stops rising once it reaches this level above your start (0 = breakeven, the TPT / Topstep rule; +100 = Lucid). Daily loss limit: lose this much in one day and you are flattened -- flat for the day at most firms, account death at the strict ones. Floor after a payout: real firms keep the floor where it was, so every withdrawal spends cushion; "Resets" is the old v2 behavior that granted a fresh full drawdown after each payout. Presets set all of this for you.
Static drawdown: the floor never moves. Trailing: the floor stays one drawdown below your highest balance -- EOD ratchets it up only from end-of-day highs (touching it intraday still busts you); intraday ratchets it from every tick, so open-trade peaks count against you. Buffer: you must be up one full drawdown amount before payouts start counting.

Your process

Unstable edge: win rate, R:R and trades/day drift through a range
inputs changed -- hit Generate to refresh
Wondering why you can't just crank R:R without losing win rate? See the edge map. Think you'd follow the plan? Meet the Tilt Simulator.

The lifecycle

Every line is one account: eval (if on), then the funded grind, then payouts. The line only ends three ways: live, busted, or out of days.
on the way failed eval reached live busted funded payout paid 25-75% and 10-90% bands
% Reached Live
--
hit Generate to simulate
ROI per $ Spent
--
payouts collected vs the account cost
Days to First Payout
--
among accounts that got paid at all

Across many accounts

Half the size, same luck

The same accounts, the same wins and losses in the same order -- the only thing that changes is position size. This is the whole lesson.
hit Generate to run the comparison
Expected net per account vs position size
hit Generate to run the sweep
How it works: your risk, reward-to-risk, win rate and trades per day become a daily P&L distribution. Each account is simulated with 20 intraday checks per day; barriers that are fixed within a day (static, and EOD-trailing floors) get Brownian-bridge crossing corrections, an intraday-trailing floor is checked tick-by-tick at every step. EOD trailing ratchets the floor up from each day's closing balance; a breach is still checked continuously during the day. Intraday trailing ratchets from every equity high, including open-trade peaks. In Advanced mode, win rate, reward-to-risk and trades per day are drawn from your low-high ranges. Normal treats low and high as -1 and +1 standard deviation around the middle, so about one draw in three lands outside the range (clipped only at physical limits). Random draws land uniformly between the two edges. "Drifts slowly" makes each day's edge a mean-reverting step from yesterday's with roughly a two-week memory, so you get good weeks and bad weeks instead of pure day-to-day noise; "Fresh daily" redraws independently every day; "Per account" draws once and holds it for the whole lifecycle. The three parameters drift independently. In continuous "% of DD left" sizing, risk scales with your remaining cushion but is floored at your minimum risk per trade. In contract-stepped sizing, intended risk is rounded down to whole contracts, with a one-contract minimum and your max-contract cap; every P&L, drawdown and payout calculation then uses that actual risk. A trail lock freezes the floor once it climbs to the set level above your start, the way TPT, Topstep and Lucid freeze theirs. The daily loss limit acts as a second floor at (day open - DLL), constant within the day; hitting it flattens you -- for the day (soft breach) or for good, your pick. After each payout the balance drops by the payout amount; by default the floor stays where it was, so withdrawals spend cushion the way real firms charge them -- "Resets (v2)" restores the old generous behavior that re-granted a full drawdown after every payout. ROI counts only cash actually paid out at your split -- a live account's future value is NOT priced in, so live-heavy setups are worth more than the ROI shows. Every run is seeded: Copy link gives a URL that replays the exact same accounts in anyone's browser, so any screenshot of this page can be checked, not just believed. Not modeled: commissions, slippage, gaps, consistency rules, payout caps and waiting periods. Real results still run somewhat worse than this toy. Educational only, not financial advice.