Futures Trading Commissions: What You Actually Pay Per Contract
Most futures traders can tell you their win rate to one decimal place and cannot tell you what a round turn costs them. That is backwards, because the commission is the only number on the list that is certain. You pay it on every trade, winner or loser, and it comes out of the same account the edge is supposed to fill.
This is what the fees are actually made of, what the current rates are, and how to check whether your own journal is quietly counting them wrong.
A round turn is three separate charges
When people say "commissions" they usually mean one number. It is three, and only the first one is set by your broker.
- Broker commission. What the platform charges to route the order. This is the part that differs between Tradovate, NinjaTrader, a prop firm feed, and a discount broker.
- Exchange fee. Set by CME, not by your broker, and different for every product. Gold costs more than the stock indices. Nobody discounts this.
- NFA fee. A regulatory charge, currently one cent a side. Small, but it is there on every contract.
All three are charged per side. You pay them when you get in and again when you get out. That is what a round turn means, and it is the first place people go wrong: a rate quoted per side looks half as expensive as it is.
What the rates actually are
Topstep publishes its all-in numbers, which makes it the easiest firm to quote honestly. These are per side, read from their fee page in September 2026.
| Contract | Commission | Exchange | NFA | Per side | Round turn |
|---|---|---|---|---|---|
| MES (Micro S&P) | $0.50 | $0.10 | $0.01 | $0.61 | $1.22 |
| MNQ (Micro Nasdaq) | $0.50 | $0.10 | $0.01 | $0.61 | $1.22 |
| MCL (Micro Crude) | $0.50 | $0.25 | $0.01 | $0.76 | $1.52 |
| MGC (Micro Gold) | $0.50 | $0.70 | $0.01 | $0.96 | $1.92 |
| ES (E-mini S&P) | all in | $1.89 | $3.78 | ||
| NQ (E-mini Nasdaq) | all in | $1.89 | $3.78 | ||
| CL (Crude Oil) | all in | $2.01 | $4.02 | ||
| GC (Gold) | all in | $2.16 | $4.32 | ||
Look at micro gold against micro Nasdaq. Same broker commission, and the round turn is 57 percent higher, entirely because of the exchange fee. If you trade several products and use one commission number for all of them, that is where the first error creeps in.
A retail broker looks cheaper on the sticker and lands in a similar place. Tradovate's free plan is $0.39 a side on micros, with exchange, clearing and NFA fees on top. Add the same eleven cents of exchange and NFA that Topstep pays on MNQ and you are at roughly $0.50 a side, so about a dollar round turn. Their $99 a month plan cuts the commission to $0.29 and the $1,499 lifetime plan to $0.09, which only makes sense at volume you can work out for yourself: the lifetime plan saves $0.30 a side against the free plan, so $0.60 a round turn, and it pays for itself somewhere around 2,500 round turns.
The number in your journal is probably a default
Here is the part that started this post, and it is measured rather than assumed.
Aurafy holds 4,243 real closed trades across 116 traders. Of those, 1,912 trades carry a commission of exactly $0.50 per contract for the round turn. That is not a rate anybody chose. It is the figure the platform seeds for micro contracts when the file you imported did not carry a commission column, which most order exports do not.
Of the 303 trading accounts on the system, nine have ever had a commission rate set on them. The other 294 are running on an estimate.
So take those 1,912 trades and price them at the published rates above instead.
| Contract | Contracts traded | Charged at $0.50 | Real cost | Missing |
|---|---|---|---|---|
| MES | 3,330 | $1,665.00 | $4,062.60 | $2,397.60 |
| MNQ | 1,737 | $868.50 | $2,119.14 | $1,250.64 |
| MGC | 549 | $274.50 | $1,054.08 | $779.58 |
| MCL | 374 | $187.00 | $568.48 | $381.48 |
| Total | 5,990 | $2,995.00 | $7,804.30 | $4,809.30 |
Those same trades report $49,088 of profit. The missing commission is $4,809, so roughly a tenth of the profit on those trades is a cost that was never subtracted. The real rate is $1.30 a contract against the $0.50 assumed, two and a half times out.
One row deserves its own paragraph. The MES trades in that group report a net loss of $1,795. Priced at what MES actually costs, the loss is $4,193. It was always a losing set of trades, and the understated commission made it look like less than half the problem it was.
That is the real damage. Nobody quits over a slightly optimistic profit figure. People do keep running a strategy that is a small winner on paper and a small loser in the account, and the gap between those two things is often exactly the size of the fees.
Why micros punish you harder
The fee is per contract, so it looks proportional. It is not, because the tick is not proportional.
An MNQ tick is $0.50 and a round turn costs $1.22, so you start each trade about two and a half ticks down. NQ ticks are $5.00 and the round turn is $3.78, which is under a tick. The micro is a tenth of the size and costs you roughly three times as much in ticks to get in and out.
| Contract | Tick value | Round turn | Ticks to break even |
|---|---|---|---|
| MNQ | $0.50 | $1.22 | 2.4 |
| NQ | $5.00 | $3.78 | 0.8 |
| MES | $1.25 | $1.22 | 1.0 |
| ES | $12.50 | $3.78 | 0.3 |
| MGC | $1.00 | $1.92 | 1.9 |
This is not an argument against micros. Trading one MNQ instead of one NQ is the correct decision for most account sizes, and being able to risk a sensible amount matters far more than the fee. It is an argument against scalping them. A strategy taking four ticks out of MNQ is handing back 60 percent of the target before it starts. The same strategy on NQ hands back 20 percent.
If you take small targets, the fee is not a rounding error in your edge. It is a large fraction of it, and it is the fraction you can measure exactly.
Working out your own rate
You do not need your broker's fee schedule for this. You can solve it from any statement that shows both a gross and a net figure.
Take a day or a week. Add up the profit and loss before costs. Take the net your platform reports. Subtract, then divide by the number of contracts you traded, counting each contract once for the round trip.
(gross profit and loss minus net profit and loss) divided by contracts traded = your real round turn
A worked one: 510 contracts over a week, gross $590.50, the broker says $106.00. The difference is $484.50, divided by 510 is $0.95 a contract. That looked wrong at first glance because the account was a prop simulator quoting $0.95 a side, which is $1.90 the round turn, and the fills were counted per side. Both readings agree once you are clear about which one you are doing. That ambiguity is the single most common reason people put the wrong number in.
Sanity check the answer. Anything from about $0.80 to $5 a round turn is normal depending on the product. If you land at $40 you have counted contracts wrong. If you land at three cents you have divided by sides when the fee was already a round turn.
Then put it somewhere it applies to every trade
Knowing the rate does nothing on its own. It has to be attached to the trades, including the ones already imported, and it has to be per product if you trade more than one, because a single flat rate across MNQ and MGC is wrong by 57 percent on one of them.
In Aurafy that is a per account setting with a per symbol override, and changing it re-costs the closed trades you already have rather than only applying going forward. It tells you how many rows it repriced, because a fee change that silently affects nothing looks identical to one that worked, and that is its own small trap.
Whatever you use, the test is the same and it is worth doing once: pick a week, and check that the net in your journal equals the net on your broker statement to the dollar. If it does not, the fee assumption is the first suspect and an incomplete import is the second. We wrote up how to tell those two apart in why your journal P&L does not match your broker.
Once the costs are right, the rest of your numbers start meaning something. Expectancy computed on gross profit is a number about a version of your trading that does not exist, and a win rate is a fine measurement sitting on top of an account balance that is quietly smaller than the one on your screen.
The short version
- A round turn is broker commission plus exchange fee plus NFA, charged on both sides. Quoted per side it looks half price.
- Exchange fees vary a lot by product. One flat rate across your instruments is wrong for most of them.
- Micros cost several times more per tick than the full-size contract. Small targets are where that bites.
- Solve your real rate from a statement: gross minus net, over contracts.
- Check it by reconciling one week against your broker exactly.
Aurafy is free for the journal itself, per-symbol commissions included. Drop a CSV on the homepage and you can see your own numbers before you make an account, or work a single trade through the futures P&L calculator to see what the fee does to it.