Pancakeswap

Pancakeswap liquidity balance changes can be traced through pool and position records

Pancakeswap liquidity records change when swaps, deposits, withdrawals, and fee accrual alter pool balances or position state. To trace an expected-versus-observed mismatch, identify the network, pool model, token contracts, fee setting, and position identifier, then compare a pre-action record with the confirmed on-chain result. A V2 LP token, V3 position NFT, Infinity CLAMM position, and Infinity LBAMM bin position do not expose balances or fees in the same way.

Updated on
The short version: Trace the pool model, active state, fee record, and ownership token before treating a balance difference as an error.

Position Status and Wallet Balance Reflect Different Records

An active label means the position can supply liquidity at the pool’s present price. In-range V3 and CLAMM positions may earn swap fees when swaps use their active liquidity. Out of range means the selected bounds do not cover the current pool price. The position still exists, but its inventory can sit entirely in one token, and new swap fees stop accruing until price re-enters the range.

An unclaimed-fees value is separate from the tokens currently deployed as V3 liquidity. A missing wallet balance can also have several meanings: a V2 LP token may be staked, a position NFT may be held by another address, or the connected network may not match the position’s network. Each status points to a different record, so repeating the last transaction before identifying that record can make the discrepancy harder to reconcile.


The Records Behind a Liquidity Position

A traceable position joins pool state with ownership state. The pool side identifies both token contracts, the pool model, its fee configuration, and the current pricing state. The position side identifies the owner and liquidity amount or share, plus any applicable range, bins, or separately accrued fees. Token symbols alone cannot distinguish contracts or pools with different fee settings.

Pool State

Pool state records the liquidity available for swaps. In a V2 pool, the two reserves and total LP-token supply connect an LP balance to a proportional claim. Concentrated-liquidity designs instead track active liquidity around a current tick or price level, plus liquidity placed elsewhere.

The Records Behind a Liquidity Position: A traceable position joins pool state with ownership state. The pool side identifies both token contracts, the pool model, its fee configuration, and the current pricing state.; The position side identifies the owner and liquidity amount or share, plus any applicable range, bins, or separately accrued fees. Token symbols alone cannot distinguish contracts or pools with different fee settings.

Open full-size image

Reserves and Price Movement

Reserve balances change when a swap sends one token into the pool and takes the other out. Deposits add assets and liquidity, while completed withdrawals reduce liquidity and return tokens to the recipient. An external market move does not directly rewrite pool balances; swaps, often driven by arbitrage, move the pool toward a different price.

Active Ranges and Bins

Range or bin state determines whether deposited capital is available at the current price. In V3, liquidity outside its chosen price range stops participating in swaps and earns no trading fees until the pool price returns to that range. Infinity LBAMM distributes liquidity across discrete price bins, so the active bin and the provider’s bin allocation matter more than one aggregate reserve figure.

Position State

Position state records the liquidity and settings associated with an ownership record. V2 uses fungible LP tokens. V3 and Infinity CLAMM use non-fungible positions with their own settings. Infinity LBAMM liquidity is fungible within each bin. A position’s displayed token amounts are derived from pool state and may change even when its liquidity-unit record does not.

Four Pool Models Leave Different Balance Trails

Pool models record ownership, active capital, and fees differently. The comparison below identifies the record needed before treating a changed balance as an error.

Pool Model Balance State to Trace Fee Treatment Ownership or Custody Record
Exchange V2 Two reserves, total LP supply, and the holder’s LP balance LP fees remain in the pool and affect the value redeemable per share The wallet’s LP-token balance or its depositor record in a staking contract
Exchange V3 Current price, lower and upper ticks, liquidity, and token composition Earned fees remain separately claimable The address holding the transferable position NFT, plus any staking record
Infinity CLAMM Current price and liquidity inside the selected range Static or hook-managed dynamic fees follow the pool configuration The address holding the non-fungible position NFT
Infinity LBAMM Liquidity and token balances distributed across selected price bins Fees are added to active bins and included in withdrawn value The holder’s ERC-20 liquidity-token balance for each bin

A model mismatch can explain a seemingly missing fee balance. Looking for a V3-style claimable counter on LBAMM, or expecting a V2 reserve-share view from an NFT position, compares different accounting models.


Swaps, Fees, and Price Movement Affect Separate Totals

A swap changes token quantities along the pool’s pricing curve, while its fee follows the selected pool’s accounting rules. In V2, the provider’s LP-token count can remain unchanged as the redeemable reserve share changes. In a concentrated position, the liquidity amount can stay constant while the token mix shifts as price crosses ticks.

V3 trading fees remain separately claimable instead of compounding automatically into the position. Collecting those fees changes the wallet and owed-fee records, not the position’s chosen range. Infinity can use static or dynamic fees, and an attached hook can affect pool behavior. The live pool configuration therefore belongs in the starting record.

Swaps, Fees, and Price Movement Affect Separate Totals: V3 trading fees remain separately claimable instead of compounding automatically into the position.; Collecting those fees changes the wallet and owed-fee records, not the position’s chosen range.; Infinity can use static or dynamic fees, and an attached hook can affect pool behavior. The live pool configuration therefore belongs in the starting record.

Open full-size image

Fee accrual also depends on relevant trading activity. A position can be in range yet show little or no change when swaps make little use of its active liquidity. Farm rewards are another accounting stream; their absence or presence does not prove the swap-fee counter is wrong.


Expected and Observed Values Narrow the Mismatch

A mismatch can be traced by tying each expected value to the correct pool model. Begin with the visible symptom: changed token composition, unchanged fees, a missing position, or an unexpected withdrawal amount. Before changing a range or removing capital, record the network, token contracts, pool identifier, position identifier, owner, range or bins, fee state, and the confirmed transaction identifier.

After a liquidity action confirms, the corresponding pool or position record should reflect the change. If the confirmation exists but the interface still shows the earlier view, reselect the same network and wallet, then compare the underlying ownership record. Do not resubmit an already confirmed action merely to refresh a display.

For an out-of-range concentrated position, one-token composition and a flat fee counter may be correct rather than signs of failed settlement. Compare the current pool price with both boundaries before taking another action. Stop if the network, token contracts, pool model, or owner differs from the starting record, because the comparison no longer describes the same position.

A missing position calls for an ownership trace. Check whether the LP token or NFT sits in the wallet, a farm contract, or another address. A failed transaction leaves a different trail: its receipt shows no completed state change, even if a wallet prompt or pending interface entry remains visible.


Range Changes Create a New Commitment Boundary

Changing a range sets the prices where concentrated liquidity can participate in swaps. Reading the current position, fee counters, and ownership record is reversible. Removing liquidity, collecting fees, approving tokens, or creating a replacement position submits new state changes and can incur network costs.

For V3, changing the lower or upper boundary requires replacing the old range rather than editing its ticks in place. Any farm stake may need to be handled before the position can be removed. After removal, distinguish principal returned from fees collected, and compare both token amounts with the transaction result. A replacement position then needs its own identifier, boundaries, and starting record.

Widening a range may keep capital active across more prices but spreads it across that span. Narrowing concentrates liquidity and increases the chance of leaving the active range. Neither action restores a past token mix or reverses swaps already executed against the position.

Final Reconciliation Connects the Pool to the Wallet

A final reconciliation follows the confirmed record from pool state to position state and then to wallet balances. Match the network and token contracts first. Next, confirm the pool model, position owner, liquidity amount or LP balance, active range or bins, model-specific fee state, and any staking location. Finally, account for tokens received, network fees paid, and any remaining position.

Every difference should have an explicit explanation: price-driven inventory change, accrued but uncollected fees, fees folded into liquidity, a partial withdrawal, a staked ownership token, or a failed action. An unexplained remainder means the trace is unfinished. Only after the records reconcile should the next decision be to hold, collect fees, adjust the range, or remove liquidity.

Quick answers about Pancakeswap liquidity

Can One Wallet Hold Several Positions in the Same V3 Pool?

Yes. One wallet can hold multiple V3 position NFTs for the same pool, with each position carrying its own boundaries and liquidity amount. They share the pool’s price, but their active states and fee accrual can differ. Compare each position identifier separately instead of relying on an aggregated interface value.

Does a Token Approval Prove Liquidity Was Added?

No. An approval changes the allowance a contract may use; it does not deposit tokens or create liquidity. A confirmed liquidity transaction must add the assets and mint or update the relevant position. If only the approval succeeded, do not record the intended deposit as a completed pool change.

Which Confirmed Record Should Anchor a before-and-after Balance Comparison?

Use the liquidity transaction’s confirmed network record, then read the pool and position state associated with that result. A wallet prompt, submitted status, or local timestamp does not prove settlement. Keep the network, transaction identifier, pool identifier, position identifier, and owner consistent across both sides of the comparison.

Can a Liquidity Position Earn Swap Fees While Its Combined Token Value Falls?

Yes. Fee accrual and position value measure different effects. Swaps can generate fees while relative token prices change the position’s inventory and its value compared with simply holding the assets. Reconcile token quantities, accrued fees, collected fees, and the comparison price separately instead of treating fee growth as proof of profit.