Owlio
EN
← Blog
How-toBeginner

Uniswap v3 position NFT: how to check the assets behind it

A liquidity NFT identifies a position. Its picture is not a balance: check the underlying tokens, price range and uncollected fees separately.

A direct Uniswap v3 position NFT represents ownership of a liquidity position, not a collectible with a fixed token balance. To understand what you currently hold, check the assets inside that position and its uncollected fees. Its presence in a wallet, its picture or an NFT floor price cannot establish that value.

Start with the chain, position manager contract and NFT token ID. Then read the current token quantities, range status and uncollected fees, and count the holding once. If the identity or any amount is unresolved, mark it unverified instead of guessing a value.

This guide is for inspecting an existing direct v3 position. It does not ask you to withdraw liquidity, transfer the NFT or choose a pool. A position held through a vault or another custody contract needs that service’s own records as well.

Why your deposit appears as an NFT

Uniswap’s ownership explanation distinguishes UNI-V2 liquidity tokens from the NFTs used for v3 positions. In v3, a position has its own token pair and selected price range. The NFT identifies that position; the deposited assets belong to the pool position rather than remaining as the same spendable balances in your wallet.

An NFT row and a protocol position row may therefore describe the same holding. They are not automatically two assets to add together. Conversely, a missing NFT row in a dashboard does not prove the position has disappeared. The dashboard may not recognize its contract, chain or owner.

The ordinary Uniswap interface can also leave an NFT after liquidity removal. A familiar thumbnail is not evidence that principal remains. Verify the current record before assigning a value.

Identify the position before reading its value

Start from your own record of adding liquidity, such as the transaction you already know. Avoid a link supplied by an unexpected NFT, private message or token description. Inspect public blockchain records without entering a recovery phrase or private key.

Record these identifiers before comparing balances:

Check What to record
Network The chain where liquidity was added
Position contract The deployed v3 position manager on that chain
Position ID The NFT token ID, together with its contract
Current holder The owner shown by the current contract record
Assets Both token contract addresses

A token ID alone is not globally unique. Neither the same wallet address on another chain nor a matching NFT name identifies this position. Compare the manager address with the protocol’s official v3 deployment information for that chain. If the known transaction points to a vault or staking contract as holder, stop treating your wallet’s NFT list as the complete ownership record. Consult the service that holds the position and your claim on it.

This is an identity check, not a recommendation to connect a wallet. If an interface requires a connection to display your position, first confirm the official site and understand the request. Reading records does not require signing a transfer or granting a new spending permission.

One position NFT identifies two underlying assets; uncollected fees are recorded separately. The representation is not another holding.
Count the underlying position once; check fees separately.

Read quantities, range and fees separately

The position details documentation separates amounts held in the position from uncollected fees and the chosen price limits. Use those fields as distinct records:

  1. Check the current quantity of each underlying token. Verify token addresses rather than trusting a ticker alone.
  2. Record the selected range and current pool price. Note whether liquidity is active.
  3. Record uncollected fees in each token. Do not assume they are already included in the main position value.
  4. Record when the figures were read and whether a fiat quote is available. Missing pricing stays unknown; it is not a zero balance.

For a direct v3 position, composition changes as price moves through the range. Outside it, the position is single-sided and stops earning swap fees until price returns to the range. It has not necessarily been withdrawn. Uniswap’s liquidity overview also explains that accrued fees are collected separately rather than automatically compounded into ordinary positions. A managed vault may operate differently, so do not apply this accounting unchanged to a vault share.

Current quantities may differ from the amounts originally deposited. Compare current records when reconciling two tools, not a present pool position with an old deposit receipt. This inspection does not calculate profit, loss or whether providing liquidity was a good investment.

Count the position once

Suppose, as a hypothetical accounting example, a protocol shows $400 as the current value of the assets in the position and $7 of uncollected fees. If the $400 explicitly excludes those fees, the combined figure at that quote and time is $407. If a dashboard already includes fees in its displayed total, adding the same fees again would overstate it.

Likewise, adding a $400 position and a $400 NFT representation of the same position produces an incorrect $800 before fees. First establish what each row includes. Keep the position ID beside your accounting entry so that the NFT and protocol detail are linked to one holding.

Keep tokens already returned to your wallet separate from amounts still in the position. After a withdrawal or fee collection, refresh both records before reconciling them. A stale protocol page can still show an amount that has moved to the wallet. No transaction is performed in this example.

What a portfolio tracker can and cannot confirm

Owlio 1.1.0’s release code states that v3 liquidity ranges are not read. Its token-based DeFi view is not a reconstruction of a Uniswap position. Installing the tracker cannot make the missing range, underlying amounts or fees appear as a complete liquidity valuation.

Use public-address tracking for supported wallet holdings, and keep the verified protocol position alongside it. If your totals differ, the broader balance reconciliation guide helps distinguish missing coverage from stale data. Neither an NFT listing nor an apparently healthy data source closes a coverage gap.

Your inspection is complete when the chain, contract, token ID and holder match the position you intended to check, and you have current asset quantities, a range status and separate fee records. If any field is unresolved, mark that part unverified. Changing liquidity or custody is a separate decision with its own transaction checks.

Frequently asked questions

Does keeping a Uniswap v3 NFT mean I still have liquidity?

Not necessarily. The normal Uniswap interface can leave the NFT in your wallet after liquidity removal. Check the position's current liquidity and any remaining amounts owed instead of using NFT presence as proof.

Why does an out-of-range position hold only one token?

A concentrated position changes its token composition as the pool price moves. Outside its selected range it is single-sided and inactive for earning swap fees until the price returns. This does not mean the position was automatically withdrawn.

Can Owlio show the complete value of this position?

Owlio 1.1.0 does not reconstruct Uniswap v3 liquidity ranges. Seeing an NFT or some related wallet tokens does not establish the position's underlying amounts, fees or complete value. Check the protocol position separately.