Crypto and personal finance basics for beginners

简体中文English

Why the PnL in Your Binance App Doesn't Match Your Own Numbers

If Binance shows one PnL and your own sums show another, the gap comes down to which moment and which price each Binance figure starts from. The official formulas and a 0.01 BTC example pin that down, along with the records to check your real return against.

2026-09-23 · Pinecone Academy Editors · about 2,300 words

Cover card carrying this article's Chinese title, which asks why the PnL in the Binance app differs from your own calculation

On Binance's spot PnL analysis page, the numbers start from the moment a coin enters your Binance account, and going by the official example, the starting point is booked at the market price at the time it comes in. What you paid on another platform, or what you paid before the coin was listed, isn't recorded and isn't counted. If you hold coins transferred in from elsewhere, or coins deposited before listing, Binance's PnL won't match the figure you get from your real purchase price, and the gap is whatever the price did before those coins reached your Binance account or before they were listed on Binance. Airdropped coins have a cost of 0 on both sides; the only difference is which day the gain gets booked to.

The second reason is where the day starts. Binance counts PnL in UTC+0, so its day begins at 00:00 UTC. Take UTC+8 as an example: your day starts at midnight and Binance's starts at 8 in the morning, so the price moves and trades between midnight and 8 a.m. fall into the previous day as far as today's PnL is concerned.

Today's PnL starts at 00:00 UTC, which is 8 a.m. in UTC+8

To reach the PnL analysis page in the app, tap the item at the bottom right that shows your balances, go to the spot section, then tap the small button next to today's PnL. On the website it's in the spot wallet, through the same button beside today's PnL. The page shows today's PnL, 30-day PnL and cumulative PnL for a single coin, and you can choose the time range.

The formula for today's PnL is today's PnL = current assets − initial assets (at 00:00 that day) − net inflow. For a single coin, buying on Binance counts as inflow and selling as outflow, and the difference between them is the net inflow. Binance's Help Center article on how spot token PnL is calculated gives a BTC example:

  • At 00:00 you hold 1 BTC at a price of 25,000 USDC, so initial assets are 25,000
  • During the day you sell 0.5 BTC at 26,000; a sale is outflow, so net inflow = −0.5 × 26,000 = −13,000
  • The price is now 26,500 and the remaining 0.5 BTC is worth 13,250, which is current assets
  • Today's PnL = 13,250 − 25,000 − (−13,000) = 1,250 USDC

Check it another way: the 0.5 BTC you sold went for 1,000 more per coin than the 00:00 price, a gain of 500; the 0.5 BTC you kept rose from 25,000 to 26,500, a gain of 750; together that's exactly 1,250. Subtracting net inflow strips out the money you put in or took out along the way and leaves only what price movement produced.

Screenshot of the Simplified Chinese version of the Binance Help Center article on how spot token PnL is calculated, showing the official sample image of the PnL analysis page, the today's PnL formula and the worked example of selling half of 1 BTC
Binance's Help Center article on how spot token PnL is calculated, in its Simplified Chinese version as it stood in September 2026: an intro paragraph and the official sample image on top, the today's PnL formula and worked example below. The balance in the image is the demo figure built into the official page, not anyone's account.

Which time zone that 00:00 belongs to is settled in a second Help Center article, on spot wallet PnL analysis: statistics run on UTC+0, and 0:00 to 2:00 (UTC+0) each day is a data maintenance window during which yesterday's PnL isn't shown. Converted to UTC+8 as an example:

Binance's clock (UTC+0)UTC+8What it means for you
0:0008:00Today's PnL restarts from your holdings and the price at this moment
0:00–2:0008:00–10:00Data maintenance; yesterday's PnL isn't shown
16:00–23:59 the previous day00:00–07:59 the same dayTrades and price moves in this window are booked to Binance's previous day
Which day an early-morning order lands on
Say you're in UTC+8, you buy at 7:30 in the morning and open the app at 9. The buy falls on Binance's previous day. Today's PnL at that moment starts from your holdings and the price at 8:00 and reflects only the last hour's movement. The half hour from 7:30 to 8:00 sits in Binance's yesterday's PnL, and you'll only see it once the maintenance window is over and yesterday's PnL is displayed.

Cumulative PnL worked through with BTC transferred in from elsewhere

Cumulative PnL changes the starting point and leaves the rest of the formula as it is: cumulative PnL = current assets − initial assets (at 00:00 on day 1) − net inflow. The percentage has a formula of its own: cumulative PnL rate = cumulative PnL ÷ (initial assets + inflow).

The official example: at 00:00 on day 1 you hold 1 BTC (price 25,000); on day 8 you deposit another 1 BTC when the price is 25,500; on day 10 you sell 1 BTC at 26,000; by day 30 the price is 26,500. Current assets are 26,500, initial assets 25,000, net inflow = 25,500 (deposit) − 26,000 (sale) = −500, cumulative PnL = 26,500 − 25,000 − (−500) = 2,000 USDC, and the cumulative PnL rate = 2,000 ÷ (25,000 + 25,500) ≈ 3.96%.

The 1 BTC deposited on day 8 went into inflow at 25,500, the price at the time of the deposit. Whatever it cost you somewhere else has no place in the formula.

Now apply the same bookkeeping to a more common case. Every number below is hypothetical. One step, treating a transferred-in coin as inflow at the market price when it arrives, is our inference; it rests on how that 1 BTC was booked above, and the wallet-level formula also speaks of net deposits.

AssumptionFigures
Bought on another platform0.01 BTC at 90,000 USDT, costing 900 USDT
BTC price when the transfer arrives on Binance100,000 USDT; the 0.01 BTC is worth 1,000 USDT at that point
BTC price now105,000 USDT; market value 1,050 USDT
BTC already in the Binance accountNone; initial assets 0

On Binance's side: current assets 1,050, initial assets 0, net inflow the 1,000 at arrival, so cumulative PnL = 1,050 − 0 − 1,000 = 50 USDT and the cumulative PnL rate = 50 ÷ (0 + 1,000) = 5%.

On your side, at the real purchase price: 1,050 − 900 = 150 USDT, a return of 150 ÷ 900 ≈ 16.7%.

The same 0.01 BTCBinance PnL pageAt your real purchase price
Starting price100,000 (on arrival)90,000 (when bought)
Cost1,000 USDT900 USDT
Cumulative PnL50 USDT150 USDT
Return5%about 16.7%

The 100 USDT difference = (100,000 − 90,000) × 0.01, the rise that happened while the coin was still on the other platform. Binance only starts watching at arrival and never saw that 100. It works the other way too: if the coin fell during its time elsewhere, Binance will show a bigger gain than your own figure.

One more step, still hypothetical and ignoring fees: the price stays at 105,000, you sell the 0.01 BTC, and a few days later you buy the same amount back at 105,000. The sale is an outflow of 1,050 and the buy-back an inflow of 1,050; you still hold 0.01 BTC worth 1,050.

  • Net inflow = 1,000 − 1,050 + 1,050 = 1,000, and cumulative PnL = 1,050 − 0 − 1,000 = 50, unchanged
  • Cumulative PnL rate = 50 ÷ (0 + 1,000 + 1,050) = 50 ÷ 2,050 ≈ 2.44%, less than half the earlier 5%

The cause is the denominator. The rate formula divides by inflow, sales aren't deducted from it, and every purchase makes it bigger. The official notes say as much: the more inflow there is, the lower the rate looks. For anyone who trades in and out a lot over short periods, the cumulative rate gets pushed lower and lower and stops tracking the PnL amount.

The wallet overview has a cumulative rate of its own with a different denominator: the wallet balance at the start of day 1, plus the daily cumulative average of net transfers in and deposits from day 1 to day N. That isn't the same basis as the single-coin formula, so it's normal for the percentages on the two pages to disagree.

Read the amount and the percentage separately
When the numbers don't match, the cumulative PnL amount is the easier one to work with. The amount depends only on price and starting point; the rate also carries the denominator problem, and the more you trade back and forth, the further off it gets.

Cost basis for airdrops, pre-listing deposits and relisted coins

For a few other kinds of coin, Binance simply treats initial assets as 0 in the calculation, because at 00:00 that day they weren't yet listed on Binance. The Help Center article that gives the formulas also sets the cost for each kind:

Where the coin came fromPrice Binance uses as costHow it shows on the PnL page
Received through Launchpool or an airdrop0 (net inflow also counted as 0)Today's PnL = current assets; the whole market value counts as gain
Received through LaunchpadThe Launchpad price, which is the listing priceToday's PnL = current assets − listing price × quantity
Deposited before Binance listed the coinThe coin's listing price on BinanceOnly moves after listing are counted; what you actually paid elsewhere isn't
Delisted and later relisted (swapped tokens such as BNX and QUICK)The listing priceWhatever you paid before makes no difference

On the day an airdrop arrives, the full market value of those coins goes straight into today's PnL and the number jumps, though you may not have traded at all that day. An airdrop cost you nothing, so a cost of 0 agrees with your own view; the gain just lands all at once on the day of arrival.

The last two rows follow the same logic as the transfer in the previous section: price changes that happened before the coin was listed on Binance, or before it arrived there, aren't in Binance's PnL. If you got a coin very cheaply before listing, the gain Binance shows may be far smaller than what you actually made. If you bought high before a delisting and the coin came back at a much lower price, the loss Binance shows may be smaller than your actual loss.

The Help Center also cautions that PnL is for reference only, that the most accurate data is your actual token balance and your buy and sell prices, and that because the business data is complex there may be calculation errors and delays.

Where to find your real cost basis

Following that caution, real cost means going back to the buy and sell prices themselves. For trades done on Binance, price and quantity are in the spot trade history statement, and you get it by exporting your Binance trade history. For coins transferred in from another platform, Binance doesn't have your purchase price, so the only place to look is that platform's trade records. Airdrop and Launchpool coins cost 0 to begin with, so the two sides agree there apart from which day the gain is booked.

Once you have the price and quantity for every trade, the next job is combining several buys into one cost basis. Compare that cost with the current price and the result is your own PnL; Binance's PnL page is better suited to showing how a coin has moved since it reached your account.

For coins that came from another platform, export those purchase records from the original platform now and keep your own copy. Binance's PnL page will never have that price, and if the account on the original platform is closed one day, the records will be hard to get back.

Airdrop days, yesterday's PnL not showing and a low cumulative rate

Is today's PnL accurate on the day an airdrop arrives?

The number is right; it's just booked in full on the day of arrival. Binance treats coins from airdrops and Launchpool as having a cost of 0 and a net inflow of 0, so today's PnL equals the current market value of those coins. Whatever market value you received is added to that day's PnL, and it doesn't mean you made money trading that day.

Why can't I see yesterday's PnL between 0:00 and 2:00 UTC?

Those two hours are Binance's data maintenance window. Binance counts PnL in UTC+0 and runs data maintenance from 0:00 to 2:00 UTC+0 each day, during which yesterday's PnL isn't shown. In UTC+8 that's 8:00 to 10:00 in the morning. Look again once the window has passed.

Why is Binance's cumulative PnL rate lower than the return I work out myself?

The rate's denominator is cumulative inflow and sales aren't deducted, so the more often you buy and sell, the bigger the denominator and the lower the rate. On top of that, for coins transferred in from elsewhere, the price you paid there has no place in Binance's formula, and the rise that happened before the transfer isn't counted as gain.

Read more notes first

We are an independent third-party information site, not the official Binance website. The formulas, special cases and maintenance window in this article come from two Binance Help Center articles, read in their Simplified Chinese versions: how spot token PnL is calculated and spot wallet PnL analysis. The platform may change them, and the 0.01 BTC example uses hypothetical numbers. Crypto prices swing hard and you can lose your entire stake. This is for education only and is not financial advice.