PnL mismatch
The bot keeps its own count of the profit of every Grid and DCA bot and periodically checks it against the exchange data. If the numbers have drifted apart noticeably, a warning arrives. The bot fixes nothing by itself — it only tells you.
What it is
The message looks like this:
“⚠️ PnL mismatch detected. Your Grid bot #12 (BTCUSDT) shows PnL that differs from exchange data by 3.2%. Local PnL: 41.10 USDT. Exchange PnL: 39.80 USDT. This may be due to a sync delay with the exchange. No automatic corrections were made — please verify trade history on exchange manually. If mismatch persists, contact support.”
- Local PnL is what the bot card in Sync shows.
- Exchange PnL is what the exchange has counted for this pair.
- The percent is how much one differs from the other: here 41.10 − 39.80 = 1.30 USDT, which is 3.2 % of 41.10.
Why it happens
| Cause | What happens |
|---|---|
| A delay in the data from the exchange | Some fills have not reached the bot yet; such a mismatch usually disappears by itself at the next check |
| Manual actions on the exchange | You closed part of the position or cancelled an order by hand. The bot takes this into account when it notices it (“🧾 The close of … at ~… (manually on the exchange) has been accounted in the trade PnL.”), but until the check the numbers may not match |
| A forced reduction by the exchange | A partial liquidation or auto-deleveraging: “💥 The exchange forcibly closed PART of the position…” — the trade continues on the remainder and the bot recalculates the protection |
| Other trading on the same pair | If there were trades on the pair that do not belong to this bot (by hand or by another bot), the exchange counts them together while the bot counts only its own |
What to do
- Open the trade history for this pair on Bybit and compare it with the fills in the bot card (Grid, DCA).
- If you did something on the exchange by hand, that is the cause. What the bot does in such cases is described in If you intervene manually on the exchange.
- Wait: if the mismatch was caused by a delay, there will be no new warnings.
- If the mismatch persists and you changed nothing by hand, write to support and give the bot number from the message.
There is no need to stop the bot because of one such message: the bot changes nothing in the trading, this is only a check of the reporting.
Limits and allowed values
| Parameter | Value |
|---|---|
| For which bots | Grid and DCA |
| What the bot does on a mismatch | Only notifies; there are no automatic corrections |
| Threshold | A small mismatch does not count — the warning arrives when the difference is noticeable; the exact percent is shown in the message |
Common mistakes and what the bot says
- “⚠️ Received an exchange update for an order the bot could not find. Please check for discrepancies in positions/orders on the exchange.” — there is an order on the pair that was not placed by the bot (by hand or by another service). Do not mix manual trading and a bot on the same pair.
- The profit percentages in a channel do not match yours — this is not a PnL mismatch: you have your own entry price, your own fees, leverage and settings. They will not match by definition.
