Official documents checked October 12, 2026 (KST). Scope: ordinary USDT-M linear futures, not copy-trading performance, grid returns or Coin-M contract calculations. Images are AI-created concept diagrams, not Bitget interface screenshots. All worked examples are hypothetical.
Bitget futures PnL and ROI measure different things: PnL is a profit or loss amount, while ROI expresses a result relative to a defined capital base. An open position’s estimated PnL can differ from its final net result because the exit price, closed quantity, trading fees and funding matter. To reconcile them, compare the same contract, currency, time period and quantity—and check what the displayed metric already includes.
A green percentage is not evidence that your entire account has grown by that percentage. This guide separates the calculations and provides a practical record-checking method without treating any percentage as a return forecast.
Which Bitget PnL number are you comparing?
| Figure | Question it answers | Check before comparing |
|---|---|---|
| Unrealized PnL | What is the open position’s estimated price gain or loss? | Valuation price, remaining quantity and valuation time. |
| ROI | What is the result as a percentage of a specified capital base? | Numerator, denominator and product-specific definition. |
| Realized / position PnL | What result has been recorded from closed exposure? | Actual fills, fees already included, funding and any remaining position. |
| Account-period PnL | How did the account’s value change over a defined period? | Opening snapshot, transfers, other positions and currency valuation. |
Bitget’s futures P&L guide distinguishes open-position PnL, realized results, a fully closed position’s total and period-based account measures. Do not substitute one for another just because the interface places them near each other.

How is unrealized PnL calculated for USDT-M futures?
For a simple linear position with quantity expressed in units of the underlying asset, use the difference between the valuation price and average entry price. Bitget’s USDT-M PnL explanation uses mark price for the open-position estimate.
Long: (mark price − average entry price) × remaining quantity
Short: (average entry price − mark price) × remaining quantity
Hypothetical BTCUSDT long: average entry 50,000 USDT, mark price 50,500 USDT and quantity 0.02 BTC. Estimated price PnL is (50,500 − 50,000) × 0.02 = 10 USDT. If the mark price is instead 49,500 USDT, the same long has −10 USDT of estimated price PnL. A short reverses the price difference.
The formula requires the correct quantity unit. If an order record uses contracts or lots, first apply that contract’s specification; do not insert a contract count as though it were BTC. Bitget’s USDT-M and USDC-M description identifies their respective settlement currencies. Coin-M results can be denominated in a cryptocurrency and require different contract calculations; this example is not a Coin-M formula.
Why does PnL change when the position closes?
A mark-price estimate is not a guaranteed execution price. If the hypothetical 0.02 BTC long closes at an average fill of 50,400 USDT instead of the earlier 50,500 mark, its gross closing price PnL is (50,400 − 50,000) × 0.02 = 8 USDT, before costs. The 2 USDT difference here comes from the two prices being compared, not automatically from a hidden fee.
Bitget’s futures terminology guide describes mark-based unrealized PnL as generally excluding transaction and funding fees. It also states that calculator estimates exclude actual transaction fees and other costs. Use the completed fill record to establish the exit, not an earlier calculator preview or an unfilled close order.

Why can the same profit produce different ROI percentages?
A percentage cannot be interpreted without its denominator. In an explicitly margin-based illustration, ROI = PnL ÷ reference margin × 100. A 10 USDT result relative to 100 USDT is 10%; the same result relative to 200 USDT is 5%. The profit amount has not changed.
| Hypothetical comparison | Reference margin | Illustrative ROI |
|---|---|---|
| 10 USDT PnL | 100 USDT | 10% |
| The same 10 USDT PnL | 200 USDT | 5% |
Do not assume that adding margin must halve the percentage on every screen. A product may use initial margin, another specified reference amount or a separate performance methodology. Check the field’s explanation and record both inputs before comparing two screenshots.
The distinction is visible in Bitget’s own documentation: its May 2024 copy-trading ROI announcement describes a position-margin denominator, while its ADL ranking document defines a position ROI using the absolute position value calculated at average entry. These serve different purposes. Neither should be silently copied into every ordinary-position or account-performance screen.

Should the price profit be multiplied by leverage again?
No—not when quantity and price movement are already fixed. In the 0.02 BTC example, a 500 USDT price difference already produces 10 USDT. Multiplying that result by the leverage setting again would count exposure twice. If a different leverage choice is used to establish a larger quantity, that larger quantity changes the calculation. Margin requirements and liquidation risk need separate assessment; a larger ROI percentage does not make a position safer.
How do you reconcile gross PnL with the net result?
Start with closing price PnL, then include the relevant recorded charges and credits exactly once. Bitget’s order-cost guide separates execution fees from perpetual funding and notes that funding intervals can differ. A fixed assumed rate or an assumed eight-hour schedule is not a substitute for your actual entries.
Net result = gross closing price PnL − opening fees − closing fees − funding paid + funding received
This is a reconciliation identity using positive amounts for costs and receipts, not a claim that every export uses those signs. If a fee column already contains a negative debit, add the signed entry instead of subtracting it again. If a displayed realized or position PnL already incorporates costs, do not deduct those costs a second time.
Independent illustrative ledger: gross closing PnL 10 USDT, opening fee 1 USDT, closing fee 1 USDT and funding paid 2 USDT gives 10 − 1 − 1 − 2 = 6 USDT. These are assumed recorded amounts, not Bitget fee rates. If funding were a 2 USDT receipt instead, the corresponding result would be 10 − 1 − 1 + 2 = 10 USDT. Use one consistent sign convention throughout.

What changes after a partial close?
Compare the closed quantity with the closed result, and the remaining quantity with the remaining unrealized result. Consider a hypothetical 2-unit linear long entered at 100 USDT per unit. Closing 1 unit at 110 realizes 10 USDT of gross price profit. If the remaining unit is marked at 108, its unrealized price profit is 8 USDT. The combined price component at that moment is 18 USDT before costs—not 10, not 8, and not the 20 USDT an earlier whole-position preview at 110 would imply.
This example assumes no other entries, no average-entry adjustment and simple underlying-asset units. With multiple entries or reductions, reconstruct the actual fills and the platform’s applicable average-entry treatment. An order marked partially filled is not proof that the entire position has closed.
Why can Today’s PnL differ from one trade’s result?
A day-level account measure has a time boundary and can include other positions. Bitget’s P&L guide describes Today’s PnL using the midnight-UTC asset snapshot and net inbound transfers. Midnight UTC corresponds to 09:00 KST on the same date. That documented calculation boundary should not be confused with your phone’s midnight or assumed to define every report in the app.
For an independent bookkeeping example, opening equity of 1,000 USDT, a 200 USDT inbound transfer and ending equity of 1,210 USDT produces an adjusted value change of 1,210 − 1,000 − 200 = 10 USDT. Calling the full 210 USDT increase trading profit would incorrectly count the transfer. If open positions remain, an equity change can still contain unrealized PnL; it is not necessarily an entirely realized or withdrawable gain.
A five-step check when the figures do not match
- Lock the scope. Record the account mode, exact contract, direction and settlement currency. Keep ordinary futures, copy trading and bots separate.
- Rebuild the price component. Match average entry, actual filled exit, closed quantity and remaining quantity. Note the mark price and time used for any open-position estimate.
- Identify the ROI inputs. Write down the PnL numerator and the stated reference capital. Do not infer either from the percentage alone.
- Match charges and credits. Identify opening and closing fees and each settled funding entry. Mark which items are already included in the displayed total to prevent double counting.
- Align the period and movements. Use matching time zones and date ranges; separate transfers, other positions and asset-price changes from the specific trade being checked.

Bitget’s account-data export instructions distinguish order history from transaction history. Use order records for execution details and transaction records for balance movements. Keep the same account and reporting window in both exports. For the detailed workflow, see exporting Bitget transaction and order history; for settlement-specific checks, see Bitget funding fees and history.
If a material difference remains, provide official support with the contract, account type, order references, relevant timestamps and time zone, quantities, amounts, currency and a short calculation. Explain the unexplained difference rather than sending only an ROI screenshot. Redact unrelated personal details and never send a password, two-factor code, API secret or wallet seed phrase.
Quick answers
Does 10% position ROI mean my whole account gained 10%?
No. The reference capital for a position percentage can be much smaller than the account’s total equity. Compare the absolute PnL with the appropriate account period, transfers and other holdings before describing an account return.
Can positive unrealized PnL end as a net loss?
Yes. The actual exit can differ from the earlier valuation, and recorded costs can exceed a small gross gain. Establish the filled result and included deductions before deciding whether an apparent discrepancy is an error.
Is a futures calculator the final settlement record?
No. It models assumptions. Use executed orders and settled account entries for reconciliation, and retain any remaining open exposure separately.
Editorial and risk disclosure: BitQED is an independent informational site and an affiliate partner of Bitget, not Bitget itself. This article adds no registration or trading affiliate link. Official documentation supplies the stated product definitions; the worked examples and checking sequence are independent educational explanations, not an authenticated account test. Crypto derivatives involve market, leverage, liquidation, execution, custody, counterparty and regulatory risks. Account rules may expose collateral beyond an individual position. Access and terms vary by jurisdiction and account. This is general information, not individualized investment, legal or tax advice.