Costs and results

How do I calculate my real profit on futures, including leverage and fees?

Your real profit is the price difference on your position minus two trading fees and any funding you paid while the trade was open. The gross part is simple: quantity × (exit price − entry price) for a long, and the other way round for a short. Leverage is not in that formula at all — it only decides how much margin you put up. Below is one trade followed from start to finish: 42 USDT gross becomes about 33 USDT in your pocket.
ContentsWhere the money actually comes fromThe two fees you always payFunding: what it costs to keep the trade openA full example: 42 USDT gross, 33 USDT netTwo percentages that both look like your profitWhat usually eats the profit

Where the money actually comes from

Everything starts with how much coin your position holds. If you open a position worth 5,000 USDT on bitcoin at a price of 100,000 USDT, your quantity is 5,000 ÷ 100,000 = 0.05 BTC. That quantity is what earns or loses money: every 1 USDT the price moves changes your result by 0.05 USDT. (All prices here are illustrative round numbers, not today's market.)

For a long, the gross result is quantity × (exit price − entry price). For a short it is the same thing with the signs swapped: quantity × (entry price − exit price), because you profit when the price falls. If the idea of earning on a falling price is still new, the short side is explained in long and short in simple words.

Notice what is missing: leverage. Leverage decides how much of your own money is locked as margin, not how many USDT the trade makes. The same 0.05 BTC position gives the same gross result at 5x or at 20x — only the margin behind it changes, and with it the percentage you see next to the position. There is a separate page on that: does profit change if I raise leverage.

The two fees you always pay

The exchange charges a fee each time an order is executed, so one round trip means two fees: one when you open, one when you close. Both are a percentage of the position size at that moment — the 5,000 USDT, not the margin you put up. That is why the same position costs the same to open whether you stand behind it with 500 USDT at 10x or 2,500 USDT at 2x.

On Binance USDⓈ-M futures, the base level for a new account is 0.05% when your order takes an existing price (taker) and 0.02% when your limit order sits in the book and someone else trades against it (maker). Bybit, OKX and the others have their own fee tables — check yours in the app before you count, and the mechanics are laid out in what fees you pay on futures.

Count the fee on the position, not on your deposit. On a 5,000 USDT position at 0.05% that is 2.50 USDT to get in and about the same to get out — roughly 5 USDT your price move has to cover before you are even. Work that number out before you open, and you will know straight away whether the move you are hoping for is worth the trade.

Funding: what it costs to keep the trade open

Perpetual contracts have no expiry date, so the exchange keeps their price close to the real market with a small payment between traders called funding. When the rate is positive, people holding longs pay people holding shorts; when it is negative, it goes the other way. The exchange does not keep this money — it just passes it across.

The payment is your position size × the rate at the settlement moment. On Binance, funding is settled every 8 hours by default (00:00, 08:00 and 16:00 UTC), some contracts run every 4 hours, and when a rate hits its cap the interval can shorten. Only a trader who is still holding the position at that exact moment pays or receives — close five minutes earlier and you skip it entirely. More detail in when you pay funding and when you get paid.

A paper slip marked +42 with a stack of coins, and three coins pushed aside onto tags reading FEE, FEE and FUNDING
The gross number on the chart is never the number that reaches your balance — three small deductions sit in between.

A full example: 42 USDT gross, 33 USDT net

You have 2,000 USDT in your futures account. You open a long on bitcoin at 100,000 with a position size of 5,000 USDT at 10x leverage, so 500 USDT of your money is locked as margin. The price goes to 100,840 — a move of 0.84% — and you close about a day and a half later, having held through four funding payments at a rate of 0.02% each.

Illustrative numbers at a taker fee of 0.05% — your own contract and fee level may differ.
LineHow it is calculatedUSDT
Gross profit0.05 BTC × (100,840 − 100,000)+42.00
Entry fee0.05% of 5,000−2.50
Exit fee0.05% of 5,042−2.52
Funding4 payments of about 1.00−4.00
Net profitwhat reaches your balance+32.98

So the chart says 42 and your balance says about 33. Nothing went missing: the exit fee is calculated on the exit size (0.05 BTC × 100,840 = 5,042 USDT), and the funding was the rent for holding overnight. The easiest way to see your own fee level is to open a Binance Futures account and look at the fee line in your trade history — it sits next to the result of each closed trade, so you can compare both numbers with your own arithmetic.

The same arithmetic runs against you when the trade goes the wrong way. If the price had dropped 840 instead, your gross would be −42, the fees and funding would still be charged, and the real loss would be around 51 USDT. Costs never switch sides. In a real trade you would also decide in advance where you get out if the price goes against you — that is your stop loss, and it belongs in the same note as your entry and your size.

Which trade do you want to check?

Fees and funding

Prices and fee rates here are only examples. Use the real terms of your trade. If your exit price already includes expected slippage, don’t subtract it twice.

Result after the costs above
+9,50 USDT

From the price move—
Trading fees—
Initial margin, approx.—
Return on that margin—

Linear contract settled in USDT. The calculation doesn’t model liquidation and doesn’t mean the position survives every price path before your exit.

If you would rather test your own numbers before opening anything, the standalone futures profit and loss calculator does the same job with your entry, exit and size.

Two percentages that both look like your profit

The 33 USDT can be written as two very different percentages, and both are honest. Against the 500 USDT of margin behind the position it is about 6.6% — that is the number the exchange usually shows next to your open trade, and it is the one screenshots on social media are built from. Against your whole 2,000 USDT account it is about 1.65%.

Before costs, 10x turns a 0.84% price move into about 8.4% on your margin — that is exactly the 42 USDT gross on 500 USDT. After the two fees and the four funding payments, what is left is 6.6%. That difference between 8.4% and 6.6% is the whole point of this page: the costs are real money, and on a small move they are a large slice of the result.

Then there is the account number. How big it is depends on how much of your balance you committed — here a quarter of the account sat in one trade, which is already a lot for a beginner. Judge yourself by that account number, because that is the money you actually have; how much to put into one trade goes through the sizing side of it.

What usually eats the profit

Three things turn a good-looking trade into a flat one. Trading in and out many times a day means paying the fee twice on every attempt, so a strategy that aims at moves of 0.1% is mostly paying the exchange. Holding a popular long for days in a hot market means funding payment after funding payment. And on a coin that few people trade, a market order can fill a bit worse than the price you saw on the screen — that difference comes straight out of your result.

None of that is a reason to stay away — it is a reason to count before you click. Before you open, write down your intended entry, your exit, your stop, your position size and the fee percentage, and check that the move you are hoping for is clearly bigger than the costs. You can practise exactly that on a small position, on Binance or after you sign up on Bybit, or in demo mode first if it is available where you live.

How is PnL calculated in futures?

Take the quantity of coin in your position and multiply it by the price difference: (exit − entry) for a long, (entry − exit) for a short. That gives the gross result. Then subtract the entry fee, the exit fee and any funding you paid while the position was open.

Does the PnL the exchange shows already include fees?

Usually the open position shows an unrealized result that does not include the exit fee yet, and the fees appear once the trade is closed. How they are shown and what they are called varies between exchanges — open the closed trade in your app and add the fees to your own calculation yourself.

Does higher leverage give me more profit?

Not on the same position size. At 5x or 20x, a 5,000 USDT position earns the same USDT on the same price move; only the margin locked changes, so the percentage return on that margin looks bigger. Leverage increases profit only when you use it to open a larger position — and then the loss grows by exactly the same amount.

Are fees taken from my margin or from my profit?

They are charged against your futures balance when each order executes, and they are calculated on the size of the position, not on the margin. In practice they come out of the result: a winning trade arrives smaller, a losing trade arrives bigger.

Can I avoid paying funding?

Only by not holding the position at the settlement moment. Funding is charged at fixed times, so a trade opened and closed between two settlements pays none. Dated futures with an expiry date have no funding at all.

Why is my real result slightly different from my calculation?

Usually because the fill price was not exactly the price you saw — a market order takes whatever is available, and a stop order triggers at one price and fills at another. Rounding of the quantity and a different fee level on your account also shift the last cents.

Find an answer to your question