1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1380],{38441:(e,s,a)=>{a.d(s,{A:()=>t});let t=(0,a(91163).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},52972:(e,s,a)=>{a.r(s),a.d(s,{__N_SSG:()=>P,default:()=>T});var t=a(66352),r=a(56900),i=a(36977),n=a.n(i),o=a(28806),l=a.n(o),d=a(94092),c=a.n(d),h=a(95132),u=a(34597),p=a(72766),m=a(75271),f=a(54980),x=a(34642),g=a(89645);let b=n()(()=>Promise.all([a.e(2233),a.e(3844)]).then(a.bind(a,13844)),{loadableGenerated:{webpack:()=>[13844]},ssr:!1,loading:()=>(0,t.jsx)("div",{})});b.preload=()=>Promise.all([a.e(2233),a.e(3844)]).then(a.bind(a,13844));let y=n()(()=>Promise.all([a.e(4182),a.e(6593),a.e(3192),a.e(2233),a.e(3524),a.e(4154),a.e(1987),a.e(1738),a.e(9019),a.e(8668)]).then(a.bind(a,38668)),{loadableGenerated:{webpack:()=>[38668]},ssr:!1,loading:()=>(0,t.jsx)("div",{})});y.preload=()=>Promise.all([a.e(4182),a.e(6593),a.e(3192),a.e(2233),a.e(3524),a.e(4154),a.e(1987),a.e(1738),a.e(9019),a.e(8668)]).then(a.bind(a,38668));let w=n()(()=>Promise.all([a.e(4182),a.e(2233),a.e(3524),a.e(916),a.e(1738),a.e(9711),a.e(5924)]).then(a.bind(a,89711)),{loadableGenerated:{webpack:()=>[89711]},ssr:!1,loading:()=>(0,t.jsx)("div",{})});w.preload=()=>Promise.all([a.e(4182),a.e(2233),a.e(3524),a.e(916),a.e(1738),a.e(9711),a.e(5924)]).then(a.bind(a,89711));let v=n()(()=>Promise.all([a.e(4182),a.e(2233),a.e(3524),a.e(208)]).then(a.bind(a,40208)),{loadableGenerated:{webpack:()=>[40208]},ssr:!1,loading:()=>(0,t.jsx)("div",{})});v.preload=()=>Promise.all([a.e(4182),a.e(2233),a.e(3524),a.e(208)]).then(a.bind(a,40208));let j=n()(()=>Promise.all([a.e(4754),a.e(814)]).then(a.bind(a,30814)),{loadableGenerated:{webpack:()=>[30814]},ssr:!1,loading:()=>(0,t.jsxs)("div",{className:"grid grid-cols-1 gap-5 lg:grid-cols-[minmax(320px,390px)_minmax(0,1fr)]",children:[(0,t.jsx)("div",{className:"h-[420px] animate-pulse rounded-xl border border-white/10 bg-surface-100"}),(0,t.jsx)("div",{className:"h-[420px] animate-pulse rounded-xl border border-white/10 bg-surface-100"})]})});j.preload=()=>Promise.all([a.e(4754),a.e(814)]).then(a.bind(a,30814));let F="https://www.luxalgo.com";function N(e){let{isFutures:s,isOffers:a,isChallenges:r,month:i,year:n}=e,o=s?"Futures":"CFD",l=a?(0,t.jsxs)(t.Fragment,{children:[o," prop firm discounts, verified."]}):r?(0,t.jsxs)(t.Fragment,{children:["Every ",o," challenge, side by side."]}):(0,t.jsxs)(t.Fragment,{children:["Will you pass your ",o," challenge?"]}),d=a?(0,t.jsxs)(t.Fragment,{children:["Every active ",o," prop firm promo code in one place: real end dates, copyable codes, no dead coupons. Updated regularly."]}):r?(0,t.jsxs)(t.Fragment,{children:["Profit targets, drawdown types, steps, payouts, and the true price after discounts, sortable across every ",o," firm."]}):(0,t.jsx)(t.Fragment,{children:"Monte Carlo simulation of every major challengeâs exact rules: open source, reproducible, no signup."});return(0,t.jsxs)("div",{className:"relative mx-auto max-w-3xl space-y-6 text-center",children:[(0,t.jsx)(m.A,{delay:60,children:(0,t.jsx)("h1",{className:"text-[clamp(34px,8vw,44px)] leading-[1.06] font-medium tracking-tight text-fg-100 text-balance sm:text-[clamp(40px,5vw,64px)]",children:l})}),(0,t.jsx)(m.A,{delay:130,children:(0,t.jsx)("p",{className:"mx-auto max-w-xl text-lg text-fg-200 text-pretty sm:text-xl",children:d})})]})}function k(){return(0,t.jsx)(l(),{children:(0,t.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify({"@context":"https://schema.org","@type":"WebApplication","@id":"".concat(F,"/prop-firms/#simulator-app"),name:"Prop Firm Challenge Simulator",url:"".concat(F,"/prop-firms/#simulator"),applicationCategory:"FinanceApplication",operatingSystem:"Web",description:"Monte Carlo simulator for prop firm challenges: pick a firm or encode custom rules, describe your trading, and get a simulated pass rate, expected cost, and EV. Deterministic (seed shown) and open source.",isAccessibleForFree:!0,offers:{"@type":"Offer",price:"0",priceCurrency:"USD"},publisher:{"@id":"".concat(F,"/#organization")}}).replace(/</g,"\\u003C")}})})}let C=[{heading:"Trailing drawdown is four rules",body:"âTrailing drawdownâ is one label shared by four different rules: a static floor under the initial balance, a floor that ratchets on end-of-day highs, one that trails your intraday peak with open profit included, and one that trails only until it locks at breakeven. Same headline number, very different odds: an intraday-unrealized trail can end an account on a winner you gave back, while a static floor never moves. In our simulations the trail, not the profit target, is the leading cause of death, so establish which of the four you are buying before comparing anything else."},{heading:"The daily loss is four switches",body:"A daily loss limit is not one number; it is four switches: what the day anchors to (yesterdayâs balance or equity), what the limit is a slice of (the initial balance or the dayâs anchor), whether open profit counts against you, and whether it is checked every tick or only at the close. Two firms both advertising â5% dailyâ can sit on opposite ends of that switchboard: one fails you on an intraday dip that recovers, the other only ever looks at the close. The simulator flips the exact switches each firm publishes."},{heading:"Consistency raises your target",body:"A consistency rule c
1aps how much of your total profit one day may contribute: best day at most 40% means your real target is whichever is larger (the stated target, or your best day divided by 0.4). One outsized winner does not fail you; it moves the finish line, forcing extra days at risk under a drawdown floor that has already ratcheted on your good closes. That is why simulated pass rates drop when consistency switches on, even though the rule never breaches an account by itself."},{heading:"Getting funded is not getting paid",body:"Passing buys a funded login, not a withdrawal. Funded accounts keep their loss rules and add payout gates (minimum winning days, a minimum profit for a day to count, buffers that can never be withdrawn, caps per request), and a share of funded accounts breach before ever clearing them. That is why every odds table here carries a payout-probability column: the number that actually pays is not the pass rate, it is the chance a funded account survives to its first payout."}],A=[{title:"What is a realistic prop firm pass rate?",content:(0,t.jsx)(t.Fragment,{children:(0,t.jsx)("p",{children:"There is no universal pass rate: it is a property of the trader \xd7 the rules, which is why we publish a distribution instead of one number. Across the twelve challenges simulated here, the same developing trader (45% win rate, 1.4R winners, 1% risk) passes roughly 29â55% of attempts per attempt depending on the firmâs drawdown and consistency rules, while a proven edge passes 95%+ almost everywhere. The simulator on this page runs your own numbers under any firmâs exact rules."})})},{title:"Why does trailing drawdown matter more than the profit target?",content:(0,t.jsx)(t.Fragment,{children:(0,t.jsx)("p",{children:"Because it is the rule most simulated attempts actually die on. âTrailing drawdownâ covers four distinct mechanics (static, end-of-day trailing, intraday-unrealized trailing, and trailing-that-locks), and the same dollar figure produces very different pass rates under each. An intraday-unrealized trail can fail you on a winning trade you gave back; a static floor never moves. The simulator encodes the exact variant each firm publishes."})})},{title:"How does the simulator work, and can I verify the numbers?",content:(0,t.jsx)(t.Fragment,{children:(0,t.jsxs)("p",{children:["It runs a deterministic Monte Carlo engine: 10,000 independent trading paths per run, each enforcing every encoded rule (drawdown mode, daily loss switches, consistency, fees, resets, payout gates) day by day. Runs are seeded (seed 42 for every precomputed table), so the same inputs reproduce the same digits on any machine. The engine and the rules dataset are open source at"," ",(0,t.jsx)("a",{href:"https://github.com/LuxAlgo/prop-firm-sim",target:"_blank",rel:"noopener noreferrer",children:"github.com/LuxAlgo/prop-firm-sim"}),", and every table prints its seed, path count, and assumptions."]})})},{title:"Are these pass rates guarantees?",content:(0,t.jsx)(t.Fragment,{children:(0,t.jsx)("p",{children:"No. They are simulated distributions under stated assumptions: a parametric or bootstrapped model of your trading, i.i.d.-ish trade sequences, and rules as last verified. Your execution, discipline, instrument, and the firmâs current terms can all differ, and firms change rules without notice. Treat every number as âodds under these assumptions,â never as a promise. The firmâs own documents are always authoritative."})})},{title:"Do offers or commissions influence the odds?",content:(0,t.jsx)(t.Fragment,{children:(0,t.jsx)("p",{children:"No. The engine sees only published rules; it has no concept of an affiliate offer, and nothing in the odds or comparison tables is paid placement. Partner offers are labeled, sit below the tables, and carry a disclosure: LuxAlgo may earn a commission when you use those links or codes, and that never changes a simulated number."})})}];var P=!0;function T(e){var s;let{builtAt:a,odds:i}=e,n=(0,u.useRouter)(),o=(n.asPath||"/prop-firms").split("?")[0].split("#")[0],l=o.split("/").filter(Boolean),d=l.indexOf("prop-firms"),F=l[d+1],P="futures"===F||"cfds"===F,T=!P||"futures"===F,S=P?l[d+2]:l[d+1],D="challenges"===S||"offers"===S?S:"firms",E="challenges"===D,_="offers"===D,O=!_&&!E,L=(0,h.useCallback)(function(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:D,a=e?"/prop-firms/futures":"/prop-firms/cfds";return"firms"===s?a:"".concat(a,"/").concat(s)},[D]);(0,h.useEffect)(()=>
1{if(!P&&S&&("offers"===S||"challenges"===S)){let e=L(!0,D);e!==o&&n.replace(e,void 0,{shallow:!0})}},[P,S,D,o,n,L]);let M=(0,h.useCallback)(()=>{let e=document.getElementById("tabs");if(!e)return;let s=e.getBoundingClientRect().top+window.pageYOffset-88,a=s-window.pageYOffset;a>300?window.scrollTo({top:s,behavior:"smooth"}):Math.abs(a)>1&&window.scrollTo({top:s,behavior:"auto"})},[]);(0,h.useEffect)(()=>{j.preload(),y.preload(),w.preload(),v.preload(),["firms","challenges","offers"].forEach(e=>{n.prefetch(L(!1,e)),n.prefetch(L(!0,e))})},[n,L]);let W=a?new Date(a):new Date,G=W.toLocaleString("en-US",{month:"long"}),R=W.getFullYear(),Y="",q="";if(_)T?(Y="Futures Prop Firm Promo Codes ".concat(G," ").concat(R," | Deals"),q="Verified futures prop firm discounts and coupon codes. Lower challenge costs and see terms at a glance."):(Y="CFD Prop Firm Promo Codes ".concat(G," ").concat(R," | Verified Deals"),q="Save on CFD prop firm challenges with verified promo codes and discounts. Updated regularly. See terms before you buy.");else if(E)T?(Y="Futures Prop Firm Challenges Compared | Rules & Fees",q="Side-by-side futures challenges: targets, trailing/static drawdowns, resets, fees, and payouts. Filter by platform and product."):(Y="CFD Prop Firm Challenges Compared | Rules & Fees",q="Compare CFD challenges side by side: profit targets, max drawdown, scaling, refunds, and fees. Filter by platform and assets.");else if(P){let e=T?"Futures":"CFD";Y="".concat(e," Prop Firm Pass Rate Simulator & Comparison: Will You Pass?"),q="Simulate your realistic odds of passing ".concat(T?"futures":"CFD"," prop firm challenges under their exact rules, then compare firms, fees, and payouts. Open source, reproducible, no signup.")}else Y="Prop Firm Pass Rate Simulator & Comparison: Will You Pass?",q="Monte Carlo pass-rate simulation of every major prop firm challengeâs exact rules, plus firm comparisons, fees, and verified offers. Open source and reproducible, no signup.";let I=null==i||null==(s=i[0])?void 0:s.byArchetype[0];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.A,{title:Y,description:q,openGraphImageUrl:"/api/og/page/?title=Will%20You%20Pass%3F"}),(0,t.jsxs)("section",{className:"relative overflow-hidden px-6 pt-16 pb-4 sm:pt-24",children:[(0,t.jsx)(p.MA,{className:"left-1/2 top-0 h-[480px] w-[860px] -translate-x-1/2 -translate-y-1/3"}),(0,t.jsx)(N,{isFutures:T,isOffers:_,isChallenges:E,month:G,year:R}),(0,t.jsx)(m.A,{delay:200,className:"relative mt-8 flex justify-center",children:(0,t.jsx)("div",{role:"tablist","aria-label":"Product",className:"inline-flex items-center rounded-full border border-white/10 bg-surface-100 p-1",children:[{label:"Futures",futures:!0},{label:"CFDs",futures:!1}].map(e=>{let s=e.futures===T;return(0,t.jsx)("button",{role:"tab","aria-selected":s,type:"button",onClick:()=>(e=>{if(e===T)return;let s=L(e,D);n.push(n.pathname,s,{shallow:!0,scroll:!1})})(e.futures),className:"rounded-full px-5 py-1.5 text-sm font-medium transition-colors duration-150 ".concat(s?"bg-white text-black":"text-fg-300 hover:text-fg-100"),children:e.label},e.label)})})})]}),O&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(k,{}),(0,t.jsxs)("section",{id:"simulator",className:"mx-auto max-w-7xl scroll-mt-24 px-6 pt-14 lg:px-12",children:[(0,t.jsx)(m.A,{children:(0,t.jsxs)("div",{className:"max-w-3xl space-y-4",children:[(0,t.jsx)(p.w,{children:"Test yourself against the exact rules."}),(0,t.jsx)("p",{className:"text-base leading-relaxed text-fg-300 text-pretty max-w-prose",children:"Pick a challenge (or encode custom rules), describe your trading, and run 10,000 Monte Carlo paths: every drawdown mode, daily-loss switch, consistency rule, fee, and payout gate enforced as published. Copy the link to share an exact, reproducible run."})]})}),(0,t.jsx)("div",{className:"mt-8",children:(0,t.jsx)(j,{})})]}),i&&i.length>0&&(0,t.jsxs)("section",{className:"mx-auto max-w-7xl px-6 pt-20 lg:px-12",children:[(0,t.jsx)(m.A,{children:(0,t.jsxs)("div",{className:"max-w-3xl space-y-4",children:[(0,t.jsx)(p.w,{children:"Twelve challenges, three reference traders."}),(0,t.jsxs)("p",{className:"text-base leading-relaxed text-fg-300 text-pretty max-w-prose",children:["Every cell below is computed at seed 42, 10,000 paths per cell, with the open-source engine on rules encoded from each firmâs published terms. Every number reproduces, to the digit, from the same inputs. Three reference profiles bracket a realistic range: this is a distribution, not a ranking, and never a promise. Engine and dataset:"," ",(0,t.jsx)("a",{href:"https://github.com/LuxAlgo/prop-firm-sim",target:"_blank",rel:"noopener noreferrer",className:"text-fg-100 underline decoration-white/30 underline-offset-2 transition-colors hover:decoration-white",children:"github.com/LuxAlgo/prop-firm-sim"}),"."]})]})}),(0,t.jsxs)(m.A,{delay:80,children:[(0,t.jsx)("div",{className:"mt-8",children:(0,t.jsx)(x.uC,{odds:i})}),I&&(0,t.jsxs)("p",{className:"mt-3 text-xs text-fg-300",children:["Simulated pass rates under stated assumptions (seed"," ",I.seed,", ",I.paths.toLocaleStr
1ing()," ","paths, engine v",I.engineVersion,"). Per-page detail on"," ",(0,t.jsx)(c(),{href:"/mcp/prop-firm-sim",className:"text-fg-200 underline decoration-white/30 underline-offset-2 transition-colors hover:text-fg-100",children:"the simulated pass-rate pages"}),"."]})]})]}),(0,t.jsxs)("section",{className:"mx-auto max-w-7xl px-6 pt-20 lg:px-12",children:[(0,t.jsx)(m.A,{children:(0,t.jsx)("div",{className:"max-w-3xl space-y-4",children:(0,t.jsx)(p.w,{children:"Why your odds are worse than you think."})})}),(0,t.jsx)(m.A,{delay:80,children:(0,t.jsx)("div",{className:"mt-8 grid gap-4 md:grid-cols-2",children:C.map(e=>(0,t.jsxs)("div",{className:"rounded-xl border border-white/10 bg-surface-100 p-6",children:[(0,t.jsx)("h3",{className:"text-lg font-medium tracking-tight text-fg-100",children:e.heading}),(0,t.jsx)("p",{className:"mt-3 text-sm leading-relaxed text-fg-300",children:e.body})]},e.heading))})})]}),(0,t.jsx)("section",{className:"pt-20",children:(0,t.jsx)(g.A,{faqs:A})})]}),(0,t.jsx)("section",{id:"tabs",className:"mx-auto max-w-7xl px-6 pt-12 lg:px-12",children:(0,t.jsx)("div",{className:"flex items-center gap-7 border-b border-white/[0.06]",children:[{label:"Firms",section:"firms"},{label:"Challenges",section:"challenges"},{label:"Offers",section:"offers"}].map(e=>{let s=D===e.section,a=L(T,e.section);return(0,t.jsxs)(c(),{href:a,scroll:!1,onClick:e=>{e.preventDefault(),n.push(n.pathname,a,{shallow:!0,scroll:!1}).then(()=>requestAnimationFrame(()=>requestAnimationFrame(M)))},className:"relative pb-3 text-sm transition-colors duration-150 sm:text-base ".concat(s?"text-fg-100":"text-fg-300 hover:text-fg-200"),children:[e.label,s&&(0,t.jsx)("span",{"aria-hidden":!0,className:"absolute inset-x-0 bottom-0 h-px bg-white"})]},e.label)})})}),(0,t.jsx)("div",{className:"pt-6",children:_?(0,t.jsxs)("div",{className:"mx-auto max-w-7xl px-6 lg:px-12",children:[(0,t.jsx)(f.A,{className:"mb-4"}),(0,t.jsx)(v,{})]}):E?(0,t.jsx)(w,{}):(0,t.jsx)(y,{isFutures:T})}),O&&(0,t.jsx)("section",{"aria-label":"Partner offers",className:"mx-auto max-w-7xl px-6 pt-16 lg:px-12",children:(0,t.jsx)("div",{className:"border-t border-white/[0.06] pt-10",children:(0,t.jsx)(f.A,{className:"mt-2",text:"LuxAlgo may earn a commission when you use these links or codes. Offers never influence the odds above."})})}),O&&(0,t.jsx)(b,{isFutures:T}),(0,t.jsx)("div",{className:"pb-24"})]})}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.