The rules
Last updated 21 October 2026
Exactly how our trading engine prices, fills and judges every account, in Phase 1, Phase 2 and on funded accounts. This is the whole rulebook: there are no other rules, and nothing is added later. Where a value is a setting that could change, the current value is shown.
1. Prices
- Prices come from MassGrowth's market-data provider. The trader price is the feed price plus MassGrowth's published markup for that instrument, in points (default: zero on every instrument).
- Your chart, your fills, your stops and your account value all use the same trader price.
- Profit in another currency is converted to US dollars at the mid-market price of the conversion pair (for example EURGBP profit through GBPUSD, USDJPY profit through USDJPY), with no markup.
Bad-tick protection
A price is held for confirmation, instead of being used, when:
- its bid or its ask (each measured on its own) is further from the last accepted price than the instrument's threshold — forex 1.5% (USDTRY 3%), metals 3% (silver 5%), indices 4%, oil 6%, crypto 10%; or
- its spread is abnormally wide — wider than 0.5% of the price on forex (USDTRY 3%), 1% on metals and indices, 1.5% on oil, 3% on crypto.
A held move is accepted only when the market has settled at the new level: its five newest prices are all different, span at least five seconds, and all lie within a third of the threshold of their middle value (for forex, within 0.5%). Then the held prices on the path from the old price to the new level are accepted in the order they were quoted, so stops and orders fill at the first real price beyond them, exactly as in the market. The path runs from the old price to the range of the five newest prices, extended by a third of the threshold at both ends, so an ordinary overshoot is part of it. A held price outside it — further beyond the new level, or on the far side of the old price — is treated as a bad print: it is discarded, recorded and never used. If the market comes back to the old level first, all the held prices are discarded and recorded (for moves that need the second source, see below). A price with an abnormal spread is never accepted and plays no part in confirming anything, and an exact repeat of a held price (a duplicated message or a stuck feed) counts for nothing in confirming a move. Once a held price is confirmed, the repeats and heartbeats that confirmed it unchanged count for it: a price the feed keeps confirming stays live.
A held move that reaches further than twice the threshold from the last accepted price (forex 3%, USDTRY 6%, gold 6%, silver 10%, indices 8%, oil 12%, crypto 20%) is never accepted on one price feed's word. The instrument is halted until MassGrowth's second source (its broker's prices) confirms or rejects the move. Until then even a price back at the old level is held with the rest, because during a real crash a stray print at the old price must not be dealt on either. When the second source confirms, each held price is compared with what the broker itself traded around the same moment: its price range in each second within two seconds of the held price, allowing for the ordinary difference between venues (a thirtieth of the threshold: 0.05% on forex). The held prices it matches are applied in order, as above; the rest are discarded as bad prints, including a print at a level the market reached only at another moment of the hold, and a price the broker has no prices for within two seconds. A confirmation is always made this way, second by second, from the broker's own record, never from one range for the whole hold. A real spike the broker also traded is applied in full. Held prices that arrived after the broker looked stay held for its next look, unless they are all within the threshold of the confirmed price. When the second source rejects the move, every held price is discarded; trading resumes at the broker's current price if it is within the threshold of the last accepted price, otherwise at the feed's next such price.
MassGrowth can also require the second source for every held move, not only beyond twice the threshold. That is the recommended setting at launch: then every held move needs the second source. (Prices that arrive after the broker looked, all within the threshold of the confirmed price, are accepted as ordinary prices would be.)
So a bad price is never used on its own, and neither is a burst of them — one-sided, symmetric, repeated, flickering between a few values, or many in a row — unless the feed shows the new level persistently: five different, closely grouped prices over at least five seconds, and, beyond twice the threshold, the second source agreeing. A stray print off the path of a real move is dropped. No filter can tell a single feed that shows a wrong level persistently, in that way, from a real move; that is what the second source and the review of confirmed jumps before payouts (section 6) are for.
While a price is held, nobody can deal on it. Orders, closes, changes to stops, targets and pending orders, and cancellations on that instrument, or on any instrument whose profit converts through it, are refused with "price unconfirmed" until the held move is resolved, normally within seconds. Orders, changes and cancellations (but not closes) are also refused on an instrument whose margin converts through the held one. An account holding the instrument is paused while its price is held (section 5): a held price can never fail it. Your stops and targets are not affected: they are checked on every accepted price, including held prices once they are confirmed.
When a held move is confirmed, its prices are applied in the order they were quoted: stops, targets and pending orders execute on them even if the confirmation came minutes later, each at the first confirmed price that reaches it. Your account is then judged on the confirmed prices: first as of 17:00 for each trading day the hold spanned, against that day's limit (with the held instrument at its last confirmed price before 17:00, your other instruments at their 17:00 prices, and every trade made at a confirmed price before 17:00 included), and then on the latest prices, against your current day. The held instrument's 17:00 price counts as live if, within the staleness limit before 17:00, its feed delivered a price, a repeat or a heartbeat within the instrument's threshold of that price, whether or not the hold let it through; after a rejection the price is the one before the hold. Otherwise (a silent feed, or one stuck on a print the second source rejects) the stale-price allowance of section 5 applies. A loss that existed only during the hold and had recovered by the end of that day, or by the confirmation, does not fail you; a loss that stands does. (While the price was held, your account was paused: section 5.) While a confirmed run is being applied, only the limits can be judged (at a 17:00 inside it); a pass or a margin stop-out waits until the whole run is applied. A pending order whose expiry passes while its price is held expires once the hold is resolved, unless a confirmed price quoted before its expiry fills it.
Live and stale prices
- While a market is open, a price is live if it was quoted, or confirmed unchanged by the feed, within the instrument's limit: 2 minutes for forex, metals and crypto, 3 minutes for indices and oil. A quiet market is not a stale one: the feed confirms an unchanged price every few seconds.
- While a market is closed, its last price stands — but only if it was live when the market closed.
- Prices quoted while a market is closed are ignored: nothing is valued, filled or triggered on a price you cannot trade. The session's first price takes over at the open.
What a stale price means for you:
- New orders on that instrument are refused, and so are closes, changes to stops and targets, and changes to pending orders.
- A manual close of a position whose profit converts through another pair (EURGBP through GBPUSD, say) also waits for a live conversion price.
- Stops and targets still execute as soon as the instrument trades, converting at the latest available rate: they protect you.
- A pending order on an instrument whose conversion price is stale waits for a live one; you are told once that it is waiting.
If the price feed is interrupted
- Missed prices are not replayed into the live engine. When prices return, stops and orders execute at the first live price, exactly as a broker's would after a market gap. Rollovers and swaps happen on schedule.
- If an interruption on MassGrowth's side affects your account, MassGrowth reviews it against the price vendor's full history. Because the engine is deterministic (section 8), the account can be replayed exactly as if the interruption had not happened.
2. Execution
- Market orders fill instantly at the current trader price: buys at the ask, sells at the bid.
- No added slippage, no requotes, no artificial delay. The engine has no slippage model, no latency model and no scheduled "stress events".
- Limit orders trigger when the price reaches your level and fill at the triggering price. If the market gaps through your level, you get the better price.
- Stop orders trigger when the price reaches your level and fill at the triggering price. If the market gaps through your level, you get the first available price, as in a live market.
- Stop-limit orders have two prices: a trigger and a limit. A buy stop-limit triggers when the ask reaches the trigger (above the market when you place it), a sell stop-limit when the bid reaches it (below the market). From that price on it is a limit order at your limit: it fills at the limit or better, on the triggering price itself if that price already reaches the limit, and otherwise waits for the market to come back to it. So a limit beyond the trigger caps the price you pay on a gap (a buy never fills above it), and a limit short of the trigger buys the pullback after a breakout. It triggers like a stop on every price the engine uses, prices confirmed after a hold included, in the order they were quoted, whether or not the price converting its profit is live (the fill then waits for one, as any pending order does); a trigger at a confirmed price is marked for the payout review (section 6). Its stop loss and take profit must lie beyond both its prices, its margin is counted at the higher of the two while it rests, and its expiry, stop loss, take profit and trailing distance carry over when it triggers.
- Changing a pending order: you can change its price (a stop-limit's trigger until it triggers, then its limit), a waiting stop-limit's limit, its stop loss, take profit, trailing distance and expiry, but not its size or side (cancel it and place a new one). A change is accepted only as placing the order now would be: the market open, its price live and not held, your account not paused, a new price on the right side of the market (a change never makes an order fill at once: trade at market for that), the stop loss and take profit beyond its prices, a new expiry in the future, and enough free margin for any margin the change adds (a change that adds none, like moving a stop, is never refused for margin). The changed order fills only on its new terms, and only on prices quoted after the change; the old ones no longer exist.
- Stop loss and take profit: long positions trigger and close on the bid, short positions on the ask. Gaps are handled exactly as for limit and stop orders above.
- Trailing stops: give a trailing distance in price, on a new order or an open position, and your stop loss follows the market at that distance: up behind the bid on a long, down behind the ask on a short. It moves whenever the market has gained at least a tenth of the distance on the stop (at least one point), and never moves back. It starts at the distance from the market when the position opens (or is given its trail), unless the stop you set is already closer. It moves on every price the engine uses, including prices confirmed after a hold, in the order they were quoted, and triggers like any stop. The distance must be at least 0.05% of the price (5 pips on EURUSD) and at most a fifth of it. Removing the trail leaves the stop where it is.
- An order is never filled, and a stop never fires, on a price quoted before the order or position existed, or (for a changed order) before the change.
- Pending orders can carry an expiry time. An order is cancelled the moment its expiry passes, whether or not its market is open, and can never fill on a price quoted after it. The one exception is an order on an instrument whose price is held for confirmation: it is kept until the hold is resolved, because a confirmed price quoted before its expiry may still fill it, and until then it still counts toward your margin and your lot and position limits.
- Long positions are valued at the bid, shorts at the ask.
- Execution is identical in Phase 1, Phase 2 and on funded accounts. It never gets worse as you progress.
- Hedging (long and short on the same instrument) is allowed.
3. Costs
- Commission is charged per lot on each side (when a position opens and when it closes). Default: $3.50 per lot per side on forex and metals; none on indices, oil and crypto.
- You are charged exactly the published rate. Your account keeps a running total to the millionth of a dollar, and each charge is the change in that total rounded to the cent, so fractions carry forward instead of being rounded up: two 0.01-lot trades cost 4¢ and then 3¢ (7¢ = 2 × $0.035).
- Swap (overnight financing) is charged at the daily rollover, 17:00 New York, on positions held through it, at the published rate for each instrument.
- Forex and metals: charged Monday to Friday, three times on Wednesday to cover the weekend.
- Indices and oil: charged Monday to Friday, three times on Friday.
- Crypto: charged every day, including weekends.
- Swap accrues on the open position, counts toward your equity, and is settled to your balance when the position closes (in proportion, on a partial close).
- The rates follow market interest rates, so MassGrowth updates them from time to time. The order ticket in the terminal shows what a position pays or earns each night at the rate in force; a change is charged from the first rollover after it is made, and every change is recorded in the audit trail.
- Profit and loss is booked the same way as commission: your realised P&L is kept to the millionth of a dollar and each close books the change rounded to the cent. Splitting a trade into smaller trades or partial closes can never gain or lose a rounding cent.
- Commission, spread and swap all count toward your loss limits, as they would on any live account.
4. The trading day
- The trading day runs from 17:00 to 17:00 New York time. That is 22:00 UK time, except for about three weeks a year (mid-to-late March, and late October to early November) when US and UK clocks change on different dates and it is 21:00. US daylight saving changes are handled automatically.
- Every account starts its new day at 17:00. If a price quoted before 17:00 is confirmed after it and triggers one of your stops, targets or orders, that trade belongs to the old day: it counts against the old day's limit (the old day is judged as of 17:00 once the prices are confirmed, section 1), your new day's starting balance is corrected for it, the 17:00 swap is refunded on a position it closed (or charged on a position it opened before 17:00), and the correction is recorded in the audit trail. (A price that is merely delivered a few seconds late is applied as it arrives, unless it was quoted before 17:00 and arrives after the new day has started: then it is not used, and is kept for the offline review.)
- Your new day's starting equity is only taken from usable prices. If a price your account depends on is stale or held for confirmation at 17:00, or one of your pending orders sits on a held price, the day starts from your balance; so does a day whose start has been corrected.
- Forex trades from Sunday 17:00 to Friday 17:00 New York time. Metals, indices and oil follow the same week with a daily break from 17:00 to 18:00 New York time, so they open at 18:00 on Sunday. Crypto trades around the clock.
5. The rules
There are only two ways to lose an account to trading: the daily loss limit and the maximum loss limit.
Equity is what your balance would be if you closed every position now at the current trader price: balance, plus or minus open profit and loss, plus accrued swap, minus the commission for closing. It is exactly the balance you would be left with, so what you see is what is checked.
Daily loss limit — 5%
- Your daily limit is 5% of your initial account size (for example, $5,000 on a $100,000 account).
- Your daily floor is your balance at the start of the trading day minus that amount.
- The account fails if equity goes below the daily floor at any moment. Equity exactly on the floor is allowed. While a price you depend on is held, your account is paused: it is judged on every price with the held one valued in your favour (below), and then on the confirmed prices as section 1 describes (as of 17:00 for each day the hold spanned, and once the hold is resolved).
- The floor resets at 17:00 New York every day from that day's starting balance. At 17:00 the day is judged one last time against its own floor, then against the new one. A floating loss you hold through 17:00 counts against the new day's floor: if your equity is already below the new floor at 17:00, the account fails at the rollover.
- If a price held at 17:00 (quoted before 17:00) affects a position you held through 17:00, your new day's starting balance is not final yet: a stop or target that price hit before 17:00 belongs to the old day and corrects it. Until the old day is judged, for at most 30 minutes after 17:00, your new day's daily floor is not applied; the maximum loss is, on the in-your-favour valuation, as always. After those 30 minutes, the daily floor applies again on that valuation, and any account that fails that way is reviewed by a person before anything else happens to it (section 6). A hold made only of prices quoted after 17:00 does not keep the old day waiting.
Maximum loss limit — 10%, static
- Your maximum floor is 90% of your initial account size (for example, $90,000 on a $100,000 account). It never moves.
- The account fails if equity goes below the maximum floor at any moment.
The floor you are measured against at any moment is the higher of the two.
When a price you depend on is stale or held
If the price of an instrument you hold — or the price converting its profit to dollars — goes stale, or is held for confirmation (section 1), your account is paused:
- A stale or held price can never fail you. Your account is checked as if every such position were worth its last price moved in your favour by the instrument's bad-tick threshold or, if better for you, the best price held for confirmation up to twice the threshold (so a stray print cannot shield a real loss); a stale or held conversion rate is treated the same way.
- A stale or held price can never hide a loss either. If your account is below its floor even with that allowance, it fails, on the live prices of your other positions.
- While paused you cannot place new orders. Your existing pending orders, stops and targets keep working, you can close positions on live prices, and there is no margin stop-out and no pass.
- When live prices return, or the held price is confirmed or rejected, the normal checks resume immediately.
- If the account does fail while paused, positions in a stale or held instrument are closed at its last accepted price, the best price available.
- If an instrument cannot be priced for an extended period (for example its feed has been gone for days), MassGrowth may settle the position at a documented price, such as the broker's official price. Every settlement names the person who authorised it and the reason, and is recorded in the audit trail. A position is never settled while its market can still price it, or while its price is held for confirmation.
When a limit is broken
- All open positions are closed immediately at the current trader price and all pending orders are cancelled.
- The audit trail records the rule, your equity and floor, every price the decision was made on (with the time each was quoted) and what triggered the check (a price, a trade, the rollover, the clock, or the end of a day judged once a held price was confirmed).
When MassGrowth closes an account
- MassGrowth closes an account only for one of five reasons: the payment for it was reversed (a refund or a chargeback), fraud, a breach of the terms, a failed identity check, or your own request. The reason, and the name of the person who authorised it, are recorded in the audit trail.
- Open positions are closed at the current trader price, exactly as your own close would be (a long at the bid, a short at the ask, with the usual commission), and pending orders are cancelled.
- A closure waits until every position's market can price it (open, live and not held for confirmation), until no held price could still fill one of your pending orders, and until no day that ended during a hold is still to be judged.
- A closed account takes no more trades and is never judged, rolled over or paid again. Its full history stays in the audit trail.
Profit target
- Phase 1: 10% of the initial account size. Phase 2: 5%. Funded accounts have no target.
- You pass when you have no open positions and your balance is at or above the target. Close your trades to lock in the pass.
- If one of your pending orders sits on an instrument whose price is held for confirmation, or a day that ended during a hold is still to be judged, the pass waits until the hold is resolved (a confirmed price may still fill the order) and is given the moment it is.
- There are no time limits, no minimum trading days and no inactivity rule.
- No trading style is banned: news trading, scalping and holding over the weekend are all allowed.
Account sizes and guardrails
- Standard track: $25,000, $50,000 and $100,000.
- Foundation track: $10,000, $25,000 and $50,000 with built-in guardrails: a leverage of at most 1:10.
- Guardrails are pre-trade limits. An order that would exceed one is simply declined. A guardrail can never fail an account.
- Every account keeps its exact parameters, including guardrails, from Phase 1 through to funding.
6. Funded accounts and payouts
- Payout split: 80% to the trader, 20% to MassGrowth, unless your plan states another split. The split is fixed when your account is opened, recorded in the audit trail, and carried into your funded account; it is never chosen at payout time.
- A payout is available when the funded account is in profit and has no open positions, none of its pending orders is on an instrument whose price is held for confirmation, and no day that ended during a hold is still to be judged. The trader's share is paid, and the balance returns to the initial account size. The daily floor resets with it. The person at MassGrowth who approved the payout is named in the audit trail.
- Every payout, and every pass into the next phase, is checked before it is paid or opened. If the account traded, passed or failed on prices confirmed after a hold (a price jump), during a halt, or had a position settled by the back office (section 5), a person reviews those trades against the broker's prices first.
- MassGrowth hedges its overall exposure to funded traders in its own live trading book (A-book). This never changes how your account is priced, filled or judged.
7. Margin
- Margin per position: forex is the contract value in the base currency divided by the leverage; everything else is contract size × price divided by the leverage, converted to US dollars.
- The leverage used is the lowest of the account leverage, the instrument's maximum leverage and any guardrail.
- Orders that the account cannot margin are declined, and a pending order the account cannot margin when it triggers is cancelled. For an order triggered by a price confirmed after a hold, margin is checked when the confirmation is applied, on the account as it is then; the cancellation is marked for the payout review (section 6).
- When your equity falls to the margin in use (a margin level of 100%), the terminal warns you. If equity falls below 50% of the margin in use, the position with the largest loss is closed, repeatedly, until the account is back above that level. In practice the loss limits are reached long before this.
8. The audit trail
- Every event — every fill, stop, swap, rollover, change in rule state, breach, payout, settlement and refused instruction — is written to a tamper-evident log. Each record carries a SHA-256 fingerprint chained to the one before it, so no record can be changed, inserted or removed without breaking the chain. MassGrowth publishes the latest fingerprint and record count, live, at trader.massgrowth.co/audit, so the log cannot be cut short unnoticed either.
- Every price the engine used, and every tick of its clock, is fingerprinted into the log at the next daily rollover after it was applied, so the price history your account was judged on can be proven. What the second source saw when it confirmed a move, every price applied from a confirmed hold, every discarded price (with the reason), every correction to a day's starting balance and every day judged as of its 17:00 are recorded too, and trades (and margin cancellations) made on confirmed prices are marked.
- The engine is deterministic: the same prices and the same instructions always produce exactly the same result. Any trade or decision can be replayed and proven.
9. What MassGrowth does not do
- No added slippage, requotes or artificial delay.
- No scheduled flash crashes, spread spikes or "adversarial events".
- No silent downgrading of fills for flagged traders.
- No harsher execution after you are funded.
- No hidden rules: this document is the rulebook.