Skip to content

Read your positions and PnL

How every number in the positions table is computed — source tags, the PnL basis (Meteora's per-position deposits and withdrawals), entry price, claimable fees, fee APR, closed positions — and when a number shows "—".

Updated View Markdown

Positions in the navigation is one table: positions opened by your Agents, positions in your own wallet and positions copied from smart money all live here, tagged by source.

{screenshot: positions}
Positions: one table, three sources

Three general rules

  • “—” means not available right now, not zero. When a price, valuation, fee or cost is missing it shows “—”. If any part of a total is missing, the total is “—” too. We never fill in a zero, the current price or another estimate.
  • Paper funds are always labeled. Paper-fund numbers carry Paper funds and are counted separately from real funds; the two are never added together.
  • PnL can be shown in USDC or SOL. The unit switch applies site-wide and is remembered in this browser only. In SOL, the current value is converted at today’s SOL price and the cost at the SOL price when the position opened (or closed, for closed positions); both units compare value only and don’t separate out impermanent loss.

Header and filters

Number Meaning
Open PnL PnL of current positions, including unclaimed fees; below it, the percentage of total invested
Total invested Cost of current positions; below it, the value in positions
Claimable fees Fees not yet claimed
Positions Number of current positions; below it, x / y in range
  • Source filter: All, Agent, My wallet, Copied from smart money (shown once you have a copied position). Copied positions are in your own wallet too, so My wallet includes them.
  • Status filter: Current, In range, Out of range, Closed; you can also search pools or Agents.
  • Performance: an expandable card under the header. Collapsed it reads “This week · net PnL · fees · in range”; expanded it shows the funds-value curve and the PnL calendar. Shown only while an Agent is executing.

Real funds and paper funds are shown separately; one table never adds the two together.

Each row

Positions are grouped by pool; click a pool row to see its positions.

Column Pool row Position row
Source Where the positions in this pool come from The Agent’s name, My wallet, or Copied from … followed by their wallet’s short address
PnL Sum and percentage across positions This position’s PnL and percentage
Entry → now The pool’s current price Entry price and current price, see below
Claimable fees Sum By token
Liquidity Total value in positions Value, with the amount of each token below

The ⋯ menu at the end of every row has Claim fees, Reset range, Close and Details. An Agent claims, resets and closes its own positions by its rules, so those three are greyed out on Agent rows, which get Open Agent instead. See One-click actions and signing.

Statuses: In range, Price above range, Price below range, Closing, Executing, Needs manual review, Status unknown, Closed.

How PnL is computed

PnL = current value + unclaimed fees + claimed fees − cost. The current value marks both tokens at the current price; fees are part of PnL. This is the same basis as meteora.ag.

Where the cost comes from depends on the source:

Source Cost Entry price Opened at
Positions in your wallet Meteora’s per-position record of deposits − withdrawals (in USD at the time) Average deposit price; for a single-sided position funded only with the quote token, the pool price at open The position account’s first transaction
Copied from smart money Same (it’s in your wallet) Same Same
Agent positions Value actually invested at open The pool price at open (the 5-minute candle at that moment), labeled price at open When the Agent opened it

Points to note:

  • Per position, not per pool. If you hold two positions in the same pool, each has its own numbers.
  • No per-position data, no PnL. When Meteora has no deposit history for a position (for example one opened long ago), the row shows Entry cost unknown · enter instead of passing off “the value when imported” as the cost. Click it and enter what you deposited; PnL = current value + fees − that amount.
  • Claimed fees count toward PnL and get their own line on the position page.
  • Paper-fund fees are estimated from the pool’s fees in the bins price crossed and your share of them, after the protocol share and the platform fee tier; swaps at open are booked at real quotes. They’re still estimates, not real returns.

Fee APR and closed positions

  • Fee APR is annualized only after 24 hours held (fees ÷ cost ÷ days × 365). Before that it shows the unannualized yield, marked Under 24h, not annualized.
  • Closed positions live under Closed and don’t show value or claimable fees (that was the last observation, not money still there); PnL is realized PnL only, or “—” when unavailable.
  • Untracked positions: positions Meteora reports in a linked wallet that Alokumi hasn’t imported yet are picked up within 5 minutes; until then only Meteora’s pool-level totals are shown.

Position page

Click a row to open the position:

  • Price chart: price is “Y per X”, the same unit as the range. The shaded band is this position’s range; outside it, the position earns no fees. The open is marked, volume runs along the bottom, and the whole pool’s liquidity at each price is on the right. Switch between 6 hours / 1 day / 1 week.
  • Numbers:
Number Meaning
Current value Both tokens at the current price; PnL below
Principal The cost, as in the table above
Fees Unclaimed and claimed listed separately
Fee APR As above
Time in range Share of the holding time spent in range; for wallet positions it appears after a few observation rounds
Impermanent loss Current value − value of just holding the two tokens from the open (excl. fees)
Vs. holding Current value + fees − value of just holding
  • What happened to this position: this position’s timeline.
  • Positions in your wallet also show the current suggestion and rule status; see Alerts and To do.

Exit review

With closed positions, Exit review groups exits by reason: count, profitable count, total realized PnL, average per exit, average hold. The worst reason is marked Biggest loss so you can revisit the rules (a stop that’s too tight, exiting out-of-range positions too fast). Positions without a realized PnL aren’t counted in the totals; the number of them is noted below the table.

When “—” appears

Where Usual reason
PnL, totals A position’s valuation is missing, or its cost is unknown
Entry price No deposit history and no pool price at open
A position’s value, fees The price source hasn’t answered yet, or no observation has run
Range prices, current price, distribution No per-bin observation yet (new position)
Fee APR Fees unknown or cost is zero
PnL of a closed position Realized PnL unavailable
Still have questions?[email protected]
Docs navigation

Type to start searching…

↑↓ Move↵ SelectEsc Close