What Is Friction Mode? Realistic Trading Costs Explained

Published August 21, 2026 · MongoTrader Team

Friction is MongoTrader's optional realistic-costs mode. Switch it on and a simulated portfolio pays the same kinds of costs a real brokerage account does — fees, bid/ask spreads, slippage, and partial fills — so the habits you build in practice are the ones that survive contact with live markets.

Most trading simulators are too generous. Every order fills instantly at the last printed price, nothing costs anything, and a strategy that would slowly bleed a real account looks like a winner on paper. Friction is MongoTrader's answer to that problem: a per-portfolio switch that models real-world trading costs inside the simulator. This guide explains what those costs are, how Friction models them, how to turn it on, and why some leagues require it for every entrant. As always, this is education rather than financial advice.

Why a frictionless simulator teaches the wrong lessons

Trading costs are tiny on any single order and enormous across hundreds of them. A trader who never pays them learns habits that feel harmless in a simulator and quietly drain a real account:

We cover these patterns in more depth in our post on paper trading mistakes to avoid. The short version: a simulator without friction is a fine place to learn the mechanics of placing orders and a poor place to judge whether a strategy actually works.

What Friction models

When Friction is on, four categories of real-world cost apply to every order in that portfolio.

Fees. Real trading charges you in different ways depending on the asset. Crypto exchanges charge maker and taker fees: a maker adds liquidity by placing a resting limit order, a taker removes it by hitting an existing quote, and takers typically pay the higher rate. ETFs carry an expense ratio, an annual percentage deducted from the fund's assets that shows up as a slow drag on your return. Short sellers pay borrow interest on the shares they have borrowed, and anyone trading on margin pays margin interest on the borrowed cash. With Friction on, MongoTrader charges crypto maker/taker fees, ETF expense ratios, and borrow and margin interest to the portfolio.

Bid/ask spread. At any moment a market has two prices: the bid, the highest price a buyer will pay, and the ask, the lowest price a seller will accept. The gap between them is the spread. If a stock is quoted at $100.00 bid and $100.05 ask, a market buy fills near $100.05 and an immediate market sell fills near $100.00 — a round trip costs five cents a share before the price has moved at all. Frictionless simulators fill everything at a single price and hide this. With Friction on, your fills reflect the spread, just as they would through a real broker.

Slippage on large orders. A quoted price is only good for a limited quantity. A large market order consumes the best quote and then fills the remainder at progressively worse prices. The difference between the price you expected and the average price you actually got is slippage, and it grows with order size and shrinks with liquidity. Friction applies slippage to large orders, so building a big position in a thin market costs what it would cost in reality.

Volume-limited partial fills. A market can only absorb as much as other participants are willing to trade. If you try to buy more than is available at once, a real order fills in pieces over time rather than all at once. With Friction on, MongoTrader limits fills by available volume, so a large order arrives in parts and you see how long it genuinely takes to build or exit a position of that size.

How to turn Friction on

Friction is off by default, so a new portfolio behaves like a standard simulator until you decide otherwise. It is a per-portfolio setting, which means you can keep one frictionless portfolio for learning order mechanics and another with Friction on for testing real strategies, then compare the two side by side.

Once you toggle Friction, there is a 24-hour lock before it can be toggled again. In practice that means a portfolio's results reflect one set of rules for at least a full day at a time, rather than costs being switched off around an expensive trade and back on afterwards. Decide what a portfolio is for, set it, and leave it.

Friction in leagues

Some leagues require Friction on for every entrant. Those leagues only accept portfolios with Friction enabled, and the setting is frozen on for the duration of the league, so nobody can switch it off once the competition is under way. The point is fairness and realism at the same time: when every competitor pays the same spreads, fees, and slippage, the leaderboard rewards the trader whose strategy survives real costs rather than the one who churned the most free orders.

That makes Friction leagues a more honest test of skill. A large, fast order in a frictionless league is free; in a Friction league it fills in pieces at worsening prices, exactly as it would for a real fund manager. Traders who size positions to the market and let limit orders do the work tend to do well there. If league scoring is new to you, start with our guide on how trading competitions work.

You can see which leagues require Friction on the leagues page. If you plan to enter one, enable Friction on the portfolio you intend to use ahead of time — remember the 24-hour lock — and trade a few sessions under those rules first so the costs do not surprise you once the standings count.

How to trade well once Friction is on

Friction does not change what a good trade looks like; it changes how many trades are worth taking. A few habits help:

The rule of thumb is simple: if a strategy only works when trading is free, it does not work. Friction is how you find that out in the simulator instead of on a brokerage statement.

Practice with real trading costs — free

Create a portfolio, switch on Friction, and see how your strategy holds up against fees, spreads, slippage, and partial fills on live market data.

Create Free Account

Frequently asked questions

Is Friction on by default?

No. Friction is off by default, and each portfolio has its own setting. You can turn it on in the app on web or iOS, or through the developer API by creating a portfolio with frictionEnabled set to true or toggling it on an existing portfolio. Keeping one portfolio frictionless and enabling Friction on another is a useful way to compare results.

Can I turn Friction off again after enabling it?

Yes, but not immediately. Once Friction is toggled there is a 24-hour lock before it can be toggled again. If the portfolio is entered in a league that requires Friction, the setting is frozen on for the length of that league.

Why do some leagues require Friction?

So that every entrant competes under the same realistic rules. When fees, spreads, slippage, and partial fills apply to everyone, the leaderboard rewards strategies that survive real trading costs rather than those that exploit free, instant fills. Those leagues only accept portfolios with Friction enabled and keep it on for the whole league.