Know your odds before you pay the fee.

Before you pay another challenge fee, simulate it: ten thousand complete attempts through the firm’s exact rules. Your real pass odds, the rule that actually kills attempts, and what the journey will cost. Free, deterministic, open source.

Open the simulator
MCP server live
Star on GitHub
agent session · any MCP client

I win about 45% of my trades at 1.3R, three trades a day, risking 1%. What are my honest odds on a 100k two-step challenge?

propfirms_simulate { winRate: 0.45, avgWinR: 1.3, tradesPerDay: 3, riskValue: 1, seed: 42 }

0.0%pass per attempt95% CI [46.3%, 47.7%]

steps 63.2% then 74.4%

what kills attempts max-loss, every single time

expected attempts 2.13 (p95: 5)

expected fees $609 (refundable on pass; median $540)

stagnation median 15 days without a new high

if funded 75.3% of 90-day paths still blow up

provenance: directory+inferred · inferred: maxLoss.mode, dailyLoss.semantics, payoutFrequency

Roughly a coin flip per attempt, and the interval is tight: 10,000 simulated journeys at your stats. Every failure hit the max-loss floor, never the daily limit, so sizing is your lever here. Budget for about two attempts, and note the sim’s own warning: 75% of funded paths still blew up inside 90 days.

simulation, not prediction · distributions under stated assumptions

Real tool output, run against the hosted server · engine 1.1.2 · 10,000 paths · seed 42

The rules are the hard part.

A trailing drawdown is not a static one, and end-of-day is not intraday: the difference decides challenges. The engine encodes each firm’s exact max-loss mode, daily-loss behavior, consistency rules, and payout gates, and anything it cannot faithfully simulate it says so, out loud, in the result.

static from initial balance

trails end-of-day highs

trails peak equity intraday

trails, then locks at breakeven

one equity path, four max-loss floors · shapes illustrative

Rulesets come from the public prop-firm directory under a three-tier honesty policy: structured columns pass verbatim, single-reading inferences are disclosed as provenance: directory+inferred with the fields named, and genuine ambiguity is refused as not simulatable. Any ruleset can also be passed inline, fully offline.

Distributions, never a verdict.

Every SimResult echoes its engine version, and every percentage carries its interval.

10,000 attempts, 40 drawn45% win rate · 1.3R · 3 trades/day · 1% risk · the 100k two-step
max-loss floor · -10%start · 100,000
passed · 46.8% of this runfailed · every one on the max-loss floor

Pass probability

Per phase and joint, each with a Wilson 95% confidence interval.

Failure autopsy

Which rule actually kills attempts: daily loss, max loss, time limits.

Expected attempts + EV

Attempts, total cost with every fee priced in, and expected value.

Time and stagnation

Days to funding, plus how long paths drift without a new equity high.

Funded-life odds

Probability a funded account ever collects a payout, days to the first one, and the blow-up rate.

Sensitivity

What one point of win-rate optimism costs you, made visible.

Or bring your real trades.

Import a trade export and the engine block-bootstraps your actual R-multiple series (stationary bootstrap, mean block length 5), so your streaks and autocorrelation survive into the simulation. R-multiples are computed, never fabricated: a file with P&L but no risk data is refused, not guessed at.

TradingView list of tradesMT4 / MT5 statementsMT5 deals tablesThinkOrSwim statementstimestamped CSV templateBroker SDK JSON

Filters and audits, disclosed.

The news filter replays your log with trades inside configurable event windows removed, same seed both runs, and every filtered result says so (the calendar is a recurring template, not a historical feed). The portfolio overlap audit merges up to five strategy histories and flags same-direction overlap against disclosed bands: under 10% low, 10 to 30% elevated, above 30% high.

Deterministic under seed

Permalinks reproduce byte for byte. 10,000 paths run in about a third of a second.

Golden snapshots

Silent drift in published odds is the one bug this repo treats as unforgivable.

Client-side by default

The on-site simulator runs the same engine in your browser: nothing you enter leaves it.

The engine, already in production.

This is not a demo repo. The interactive simulator on the prop-firms hub runs it client-side, and every major challenge has a worked-through reference page: 10,000 paths at seed 42 on the firm’s exact rules, for three reference trader profiles, regenerated from the open dataset.

01Pick a challenge
02Describe the trader
03Watch 10,000 journeys
04Read distributions

Twelve tools, live and hosted.

The whole engine and the live prop-firm directory are on the hosted LuxAlgo MCP at mcp.luxalgo.com/mcp, free and keyless: any agent can pull a ruleset, simulate your stats or your real trades, sweep risk, and screen every challenge, right now, mid-conversation.

propfirms_simulate

Monte Carlo of your stats through a firm’s exact ruleset: pass probability with CI, which rule kills attempts, expected attempts and cost, EV.

propfirms_simulate_trades

Same, from your real R-multiple trade series; the block bootstrap preserves your streaks.

propfirms_optimal_risk

Risk sweep: pass-optimal vs EV-optimal risk per trade. They differ.

propfirms_compare

Same trader across up to 12 challenges, EV-sorted. Not a ranking.

propfirms_pass_rates

The site’s reference-archetype odds, recomputed live (seed 42, 10k paths).

propfirms_validate_strategy

Screen one strategy across every simulatable challenge against an explicit pass bar.

propfirms_challenge_rules

One challenge’s full encoded ruleset, editable and re-simulatable inline.

propfirms_list_simulatable

Every simulatable firm and challenge in the live directory, provenance-disclosed.

propfirms_search

Search firms; filters compose with nested challenge and offer filters.

propfirms_get

One firm’s full dossier: profile, every challenge, live offers.

propfirms_search_challenges

Search challenges by rules (size, fee, steps, split, drawdown) and firm.

propfirms_search_offers

Current discounts and promo codes, resolvable per firm or challenge.

MCP server live

One npx from your first distribution.

Three packages on npm: the pure engine, the CLI, and the MCP server. The same simulate call also runs an optimal-risk sweep, a 12-way challenge compare, and a portfolio overlap audit.

terminal

Distributions, not promises.

Seed 42. Byte for byte.

MIT-licensed, deterministic, and open about every assumption it makes. The odds are the product; the honesty is the point.

MIT © LuxAlgo Global, LLC · engine 1.2.1 · no telemetry, no tracking · contribute

Simulation, not prediction. Results are Monte Carlo distributions under the stated assumptions and the encoded ruleset, not financial advice and not a guarantee of passing any challenge. Firms change their rules; the firm’s own published rules are always authoritative. The reference pass-rate pages carry the full methodology.