WEEX Futures PnL: Why Your Three PnL Numbers Rarely Match

By: WEEX
|
0

WEEX futures PnL looks different depending on where you check it because each screen answers a different question. The Positions panel shows unrealized PnL on what is still open, priced at the mark price. Position history shows what a closed trade earned on price. Your asset bills record every cash movement, including trading fees and funding. Once you add the fees and funding that the trade screens leave out, the three numbers agree. This article walks through one BTC-USDT trade, line by line, so you can do the same check on your own account.

WEEX's Help Center already covers the formulas. Its unrealized and realized PnL guide defines unrealized PnL as face value × size × (mark price − average open price) for a long, and realized PnL as the same calculation using the closing price. The formulas aren't what confuses traders. The confusion starts when the PnL on the position card, the figure in position history and the change in your futures balance don't match, and none of them looks wrong.

There are four reasons for that gap: which price is used, whether fees are deducted, whether funding is deducted, and whether you're looking at a USDT amount or a percentage. The trade below hits all four.

WEEX futures PnL reconciliation across the position panel, position history and asset bills
WEEX futures PnL differs by screen because each one counts mark price, fees and funding differently, but they all reconcile to one net result.

One Trade, Followed Through Every Screen

These numbers are illustrative, not live WEEX quotes. Fees use WEEX's VIP 0 futures taker rate of 0.080% from the WEEX fee page as of October 2026; your tier may be lower. Funding is assumed at +0.01% per settlement. WEEX's funding Q&A describes an 8-hour cycle, and settlement times can differ by pair.

  1. Open. Long 0.2 BTC on BTC-USDT perpetual at 95,000 USDT, 10x leverage. Notional is 19,000 USDT and initial margin is 1,900 USDT. Opening fee: 19,000 × 0.080% = −15.20 USDT.
  2. Two funding settlements. Position value is about 19,200 USDT at both. At +0.01%, longs pay shorts, so each costs −1.92 USDT, for −3.84 USDT in total.
  3. Partial close. Sell 0.1 BTC at 97,000. Price PnL: 0.1 × (97,000 − 95,000) = +200.00 USDT. Closing fee: 9,700 × 0.080% = −7.76 USDT.
  4. Snapshot while 0.1 BTC is still open. Last traded price is 98,100 and mark price is 98,000.
  5. Final close. Sell the remaining 0.1 BTC at 98,000. Price PnL: +300.00 USDT. Closing fee: 9,800 × 0.080% = −7.84 USDT.

The true net result is 500.00 − 30.80 in fees − 3.84 in funding = +465.36 USDT. Every screen below gets back to this number.

What the Positions Panel Shows (and Why It Uses Mark Price)

According to WEEX's futures trading guide in the Help Center, the Positions tab under the chart shows entry price, current mark price, unrealized PnL, estimated liquidation price and margin. At the snapshot in step 4, the panel shows:

  • Unrealized PnL: +300.00 USDT, which is 0.1 × (98,000 − 95,000), using the mark price.
  • If you work it out from the 98,100 last price you'd get +310.00. That 10 USDT gap isn't an error. Mark price is a fair-value reference that keeps a single large trade from moving everyone's PnL and liquidation risk. WEEX's PnL guide ties unrealized PnL to mark price.
  • ROE/ROI: +31.58%. WEEX's ROI glossary entry defines it as unrealized PnL ÷ initial margin. Margin on the remaining 0.1 BTC is 0.1 × 95,000 ÷ 10 = 950 USDT, and 300 ÷ 950 = 31.58%. The percentage depends on leverage. The same trade at 5x would show 15.79% with identical USDT profit.

The panel doesn't show the 200 USDT you already banked in step 3, the fees, or the funding. It answers one question: what is the open part worth right now, at mark?

What Position History Shows After the Trade Closes

The BTC-USDT futures page has a Position history tab next to Positions and Order history. Once the trade is fully closed, it shows one record for the whole round trip. The headline figure there is realized PnL from price: +200 from the partial close plus +300 from the final close, +500.00 USDT.

Whether that line also nets out fees and funding varies between exchanges, and WEEX's Help Center doesn't spell it out as of October 2026. Here is what the API shows. WEEX's futures API reports realizedPnl and commission as separate fields on each fill. Each position also carries its own running totals: cumOpenFee, cumCloseFee and cumFundingFee. That suggests price PnL, fees and funding are tracked as separate buckets rather than merged into one figure. So if your position-history record shows about +500, check for nearby fee and funding fields before you conclude the screen overstates your profit. If it shows about +465.36, the netting has already been done for you.

What Asset Bills Show, and Where the Gap Closes

Your asset bills (WEEX's funding Q&A gives the path Assets → Contract Bill for funding costs; labels may differ by app version) record each cash movement as a separate line. For this trade, that's seven lines:

  • Opening fee: −15.20
  • Funding settlement: −1.92
  • Funding settlement: −1.92
  • Close 0.1 BTC (price PnL): +200.00
  • Closing fee: −7.76
  • Close 0.1 BTC (price PnL): +300.00
  • Closing fee: −7.84

They add up to +465.36 USDT, which matches the net result. This is the one screen that equals the actual change in your futures balance, because it's built from actual debits and credits. Funding is the line people most often miss. WEEX's funding Q&A says the fee is deducted from your margin, so it changes your balance without ever passing through the price PnL on the position card. Over a long hold it adds up. This trade paid 3.84 USDT across two settlements, while a position held for a month at the same rate would pay about 90 settlements. Our funding rate explainer covers who pays and when.

Match Your Own WEEX Futures PnL in Five Steps

When the numbers don't match, go through these checks in order. Each one removes one cause of the gap.

  1. Are you mixing open and closed? Unrealized PnL on the panel covers open size only. Anything closed in part has already moved to realized.
  2. Mark or last? Recalculate the panel figure using the mark price shown on the position. If it now matches, the difference was only the price reference.
  3. Gross or net? Add up the opening and closing fees for the trade in your bills, then subtract them from the price PnL in position history.
  4. Funding? Filter your bills for funding entries between the open time and the close time, then subtract them too.
  5. Percent or USDT? ROE is relative to margin, so a high ROE on a small margin can be fewer dollars than a modest ROE on a large one. Compare USDT with USDT.

If you still can't reconcile after these five checks, look for a liquidation fee or an auto-deleveraging event in the bills. The API tracks liquidation fees in their own cumLiquidateFee field, and those are the rarer entries that close the last gap.

FAQ

1. Where do I see realized PnL on WEEX futures?

Look in the Position history tab on the futures trading page once a position is closed. Your asset bills show the matching cash entries, including fees and funding.

2. Why is my WEEX unrealized PnL different from my own calculation?

You're probably using the last traded price. WEEX bases unrealized PnL on the mark price, which can sit above or below the last trade, especially during fast moves.

3. Does WEEX futures PnL include trading fees?

The unrealized PnL on the position panel doesn't. WEEX's API tracks fees separately from per-fill realized PnL. To get the net figure for a trade, use the asset bills, where fees are their own lines.

4. Is ROE the same as PnL?

No. PnL is a USDT amount. ROE (shown as ROI in WEEX's glossary) is that amount divided by initial margin, so the same profit shows a bigger percentage at higher leverage.

5. Why did my balance drop when my position PnL didn't move?

A funding settlement probably happened. Funding is taken from margin at each settlement and shows in your bills, not in the position's price PnL.

Related articles
Share
copy

Gainers

iconiconiconiconiconiconiconiconicon
Customer Support:@weikecs
Business Cooperation:@weikecs
Quant Trading & MM:bd@weex.com
VIP Program:support@weex.com