Perp PnL explained: why your number and the exchange’s disagree
Perp PnL is four numbers pretending to be one: unrealized, realized, funding and fees. What each moves on, and why two screens rarely agree.
Open the same perp position on two screens and you will often read two different profits. Neither is lying. Perp PnL is not one number: it is four, they update on different clocks, and every venue chooses which of them to put in the big font. Once you know which four, the disagreement stops being a mystery and starts being arithmetic you can check.
The four numbers
Every open perp position carries these at once. A dashboard that shows one of them is not wrong, it is answering a narrower question than you asked.
Unrealized PnL
What it measures
What the position would make if closed at the mark price right now
When it changes
Every tick, while the position is open
Realized PnL
What it measures
What closed parts of the position actually made
When it changes
Only when you close or reduce
Funding paid or received
What it measures
The periodic payment between longs and shorts
When it changes
Every funding interval, typically hourly or eight-hourly
Fees
What it measures
Taker and maker fees on every fill
When it changes
On each fill, including the closing one
| Number | What it measures | When it changes |
|---|---|---|
| Unrealized PnL | What the position would make if closed at the mark price right now | Every tick, while the position is open |
| Realized PnL | What closed parts of the position actually made | Only when you close or reduce |
| Funding paid or received | The periodic payment between longs and shorts | Every funding interval, typically hourly or eight-hourly |
| Fees | Taker and maker fees on every fill | On each fill, including the closing one |
The headline figure on most venues is unrealized PnL alone. It is the most flattering of the four, because it has not yet paid the fees that closing will cost and, on many venues, it does not carry the funding the position has already paid.
Mark price, not last price
Unrealized PnL is calculated against the mark price, not the last trade. The mark is a smoothed reference, usually an index of several spot venues with a premium adjustment, and it exists so that one thin print cannot liquidate a book. In calm markets the two are nearly identical. In a wick they are not, which is why a position can show a loss at a price that never printed on the chart, and why liquidation triggers off the mark rather than off the candle you are looking at.
Funding is the part people forget
A perpetual has no expiry, so something has to tether it to spot. That something is the funding rate: when the perp trades above the index, longs pay shorts; when below, shorts pay longs. Hold a crowded long through a week of positive funding and the payments can exceed the price move that drew you in.
Why two screens disagree
Four ordinary causes, in the order they usually explain it.
- One screen shows unrealized only, the other shows unrealized plus funding paid so far.
- One prices the position on the mark, the other on the last trade.
- Fees are netted into PnL on one venue and reported as a separate line on the other.
- The position was reduced once, so part of it is realized and the two screens split that part differently.
The question worth asking of any dashboard is therefore not "what is my PnL" but "which of the four is this, and over what window". A tracker that reads your address across venues can hold all four side by side; see how that looks on Hyperliquid and on Lighter, and how the pieces add up across venues in total perps exposure.
Reading a closed trade honestly
The whole truth about a finished perp trade is one line: realized PnL, minus fees on both sides, minus funding paid over the life of the position, plus funding received. Do that for a month of trades and the number will usually sit below the one the app celebrated at the time. That gap is not a bug in the venue; it is the cost of carry that the headline number never included.
Frequently asked questions
Why is my perp PnL different from what the chart suggests?
Because unrealized PnL prices against the mark price, not the last trade. The mark is an index of several spot venues with a premium adjustment, so it can sit slightly off the candle you are reading. It is also what liquidations trigger from.
Does funding count as profit or loss?
It is a real cash flow into or out of your margin, so it belongs in the result of the trade. Most venues report it separately from PnL, which is why a position can be flat on price and still down on the day.
Is unrealized PnL taxable?
In most jurisdictions no, because nothing has been disposed of yet, but perps are treated differently from country to country and funding payments are their own question. This is not tax advice; see the crypto tax checklist for what to keep, and ask a professional about your own case.
Why does my PnL change when I have not traded?
Two reasons. The mark price moved, which changes unrealized PnL, or a funding interval passed and the payment settled against your margin.
What is the honest result of a closed perp trade?
Realized PnL, less the fees on entry and exit, less funding paid, plus funding received. Anything that omits funding and fees flatters the trade.
Terms in this article
See your whole portfolio in one view
TrueHold is an AI-native financial and DeFi platform for modern capital. Paste a wallet or link an exchange to see every chain in one view, free.
Open TrueHold →Keep reading
Sep 18, 2026 · 7 min read
Tokenized stocks explained: what you own, who issues them, where they trade
A tokenized stock tracks a listed share from a blockchain address. What you actually own, how seven issuers differ, who may buy and where the tokens trade.
Sep 17, 2026 · 4 min read
Tokenized stock multipliers: why one token is not always one share
A multiplier says how many shares one tokenized-stock token stands for. Why it drifts with dividends, jumps on splits, and how to price a token with it.
