Realized PnL is profit or loss already booked through events such as a position close, fees, funding or product-specific settlement. Unrealized PnL is the changing valuation of exposure that remains open. In crypto, the exact labels depend on the venue and contract, so reconcile both figures with fills, costs and the valuation price before treating either as your account's total result.
A green open position can coexist with a negative booked result. A profitable partial close can coexist with a losing account. Neither observation is a contradiction: the figures describe different parts of the same economic exposure.
Define the number before comparing it
For this article, gross position PnL means price movement alone. Net booked PnL means realized price movement plus received cash flows, less paid fees and funding. Unrealized PnL means gross valuation of the remaining quantity at a stated reference price. These are worksheet definitions, rather than a promise that every dashboard uses those names.
For a simple linear contract whose quantity is expressed in the underlying asset:
- Long gross PnL = quantity × (valuation or exit price − entry price).
- Short gross PnL = quantity × (entry price − valuation or exit price).
Use a valuation price for open exposure and the actual fill price for closed exposure. Exchange contracts may express quantity as a contract count, requiring a face value or multiplier. Inverse contracts use different formulas. OKX's futures PnL calculation rules specify these product differences and use mark price for unrealized PnL.
The leverage-versus-position-size comparison explains why an unchanged linear quantity retains the same gross dollar PnL when its leverage setting changes. A margin-based return percentage can still change because its denominator changed.
A net result also needs a time boundary. “Today,” “since this position opened” and “all closed orders this month” can contain different events even on the same account. Write the start, end, timezone and product beside the figure.
Follow one position through a partial close
The following ledger is entirely hypothetical. It models one USDT-settled linear long with a 1,000 USDT starting wallet, no other positions, no external transfers, no collateral haircut, no session settlement and no liquidation. Entry is 0.020 BTC at 60,000 USDT. The chosen charges are illustrative amounts, not a venue fee schedule.
We assume the wallet changes with net booked PnL, and define simplified equity as wallet plus gross unrealized PnL. Equity here does not mean available margin or withdrawable balance.
| Event | Open quantity | Gross unrealized PnL | Cumulative net booked PnL | Simplified equity |
|---|---|---|---|---|
| Open at 60,000; pay 0.60 entry fee | 0.020 BTC | 0.00 USDT | −0.60 USDT | 999.40 USDT |
| Reference reaches 61,000; pay 0.10 funding | 0.020 BTC | +20.00 USDT | −0.70 USDT | 1,019.30 USDT |
| Close 0.005 BTC at 61,000; pay 0.15 exit fee | 0.015 BTC | +15.00 USDT | +4.15 USDT | 1,019.15 USDT |
| Reference falls to 59,000; no new cash flow | 0.015 BTC | −15.00 USDT | +4.15 USDT | 989.15 USDT |
| Close remaining 0.015 BTC at 58,950; pay 0.45 exit fee | 0 BTC | 0.00 USDT | −12.05 USDT | 987.95 USDT |
The partial close realizes 0.005 × (61,000 − 60,000) = 5.00 USDT of gross price profit. After all charges paid by that point, net booked PnL is 5.00 − 0.60 − 0.10 − 0.15 = 4.15 USDT. The remaining unrealized gain is 0.015 × 1,000 = 15.00 USDT.
Closing that slice at the same price used to value it moves 5 USDT from unrealized to realized price profit. It does not create an additional 5 USDT of wealth. The 0.15 USDT exit fee reduces total equity.
The last row adds 0.015 × (58,950 − 60,000) = −15.75 USDT and a 0.45 fee to the booked result. Final net PnL is 4.15 − 15.75 − 0.45 = −12.05 USDT. Actual execution below the preceding reference also matters; the slippage and order-book depth guide explains that execution gap.
Why “realized” can already be negative on an open trade
An entry fee is a completed debit even while the price result remains open. Funding payments can also be booked before any closing fill. In the second ledger row, gross unrealized PnL is +20 USDT, while net booked PnL is −0.70 USDT.
Bybit's USDT contract documentation distinguishes a position's realized PnL from its closed-PnL records. Its realized figure includes trading fees, funding and partial-close price PnL; its closed-PnL treatment prorates opening and funding fees for a partial close. The two records can therefore allocate costs differently. Bybit's USDT PnL definitions and partial-close accounting explain that venue-specific distinction.
Our ledger books the full entry fee when paid. A report that allocates part of that fee to the remaining exposure can show a different closed-trade result without changing the account's total cash flows. Choose one cost-allocation convention for your worksheet and reconcile its total to the exchange records. Do not subtract fees again if the imported net figure already includes them.
To solve the exit price that recovers those included costs, use the break-even price worksheet. It separates the remaining position's threshold from recovery of a campaign that already contains partial exits.
Funding received is a credit; funding paid is a debit. Keep actual signed cash flows rather than assuming every funding event is a cost. Use the perpetual funding-cost worksheet for the payment calculation and timing questions.
A price reference is not an exit receipt
Two screens can value the same position differently. Bybit's USDT documentation describes a default last-traded-price unrealized display, while the OKX rules above use mark price. Record the actual field instead of assuming “current price” is precise enough.
An unrealized figure calculated at mark price cannot establish the price at which the full position will close. The mark-price and liquidation guide separates risk references from executable prices. For a meaningful comparison, align quantity, timestamp, price source and included costs.
The word “unrealized” also does not mean a loss is harmless. The fourth ledger row has a positive booked result of 4.15 USDT, yet equity is 10.85 USDT below its starting value. Measuring only profitable closes would hide that remaining exposure. The drawdown and recovery guide explains why a marked equity series matters alongside closed-trade statistics.
Settlement is an exception to the close-only shortcut
“Profit becomes realized only when I close” is too broad. Bybit's USDC perpetual session-settlement mechanism can transfer unrealized PnL into wallet balance and reset the position's entry reference to the settlement mark while exposure remains open. Bybit's USDC session-settlement explanation documents that product-specific process.
For such a contract, compare cumulative settlement credits or debits with subsequent PnL from the reset reference. Comparing the new unrealized figure directly with the original entry can double-count earlier results. The USDT example above deliberately excludes this mechanism.
Spot sale proceeds are not realized profit
The same separation helps with spot holdings, but a sale receipt includes returned purchase cost. In a separate invented example, buy 1 ETH for 2,000 USDT and sell 0.25 ETH at 2,200. The 550 USDT proceeds contain 500 USDT of allocated purchase cost and 50 USDT of gross realized gain. The remaining 0.75 ETH, valued at 2,200, has a 150 USDT unrealized gain against its 1,500 USDT cost. This simple cost-allocation illustration ignores fees; multiple purchases require an explicit inventory convention.
A reusable reconciliation record
Before interpreting a result, complete this record for one account, contract and measurement interval:
| Check | Evidence to record | Mismatch it can expose |
|---|---|---|
| Opening exposure | Quantity, direction and entry reference | An average entry changed after adding size |
| Closing activity | Fill IDs, quantities and actual prices | A submitted close never fully executed |
| Booked cash flows | Fees, funding, settlements and currencies | Charges omitted or deducted twice |
| Remaining exposure | Open quantity and valuation timestamp | A profitable close concealed an open loss |
| Valuation method | Mark, last trade or another stated reference | Screens used different prices |
| Account movements | Deposits, withdrawals and transfers | Cash movements mistaken for trading PnL |
A partial close must use the quantity actually executed. An unfilled remainder stays exposed; the partial-fill management guide covers that operational boundary.
For the simplified single-currency account used here, the reconciliation is ending equity − starting equity − deposits + withdrawals = net booked PnL + ending unrealized PnL − starting unrealized PnL. This assumes transfers are treated as external flows for the chosen account boundary and every relevant cost is included once. Multi-asset collateral, liabilities and conversion effects require a broader ledger.
Method and limits
This AI-assisted article uses linked exchange documentation reviewed on 23 October 2026 and original hypothetical arithmetic. It explains trading-account reporting, not tax recognition or a universal exchange accounting policy. The worksheet does not establish available buying power, withdrawable funds or a liquidation threshold. Keep those venue-defined measures alongside the PnL reconciliation.
