What this is, and how to read it

Pool Lens answers two questions about a DeFi pool that most dashboards do not: what would it actually have paid you, after impermanent loss and gas and measured against simply holding the tokens — and is the pool real, before any of that matters.

What it is

Paste a link to any DEX pool and get a first-pass analysis of it. No wallet connection, no account for the analysis, nothing to install.

Most DeFi dashboards show you an APY. That number answers "what is this pool advertising", which is rarely the question you have. Pool Lens is built around three questions it answers instead:

Would I have been better off just holding?

A pool paying 40% in fees while the pair diverges 50% has lost you money. Every return figure here is stated against holding the same two tokens, net of impermanent loss and net of the gas to get in and out.

Can I actually sell this?

For a new token the prior question matters more than the yield. The analysis checks the contract for honeypots, taxes and mint authority, reads whether the volume looks like people or wash trading, and prices what it would really cost you to leave.

Is this yield going to still be here next month?

Incentive campaigns end. Of 366 live campaigns sampled, the median had 21 days left and only two ran beyond 180. An APY that stops in three weeks is shown with its end date, not as an annual rate.

Who it is for

Liquidity providers deciding where to put capital, and anyone sizing up a token before buying it. It assumes you know what a liquidity pool is; it does not assume you want to do the arithmetic.

Quick start

1
Copy a pool link.

From Uniswap, PancakeSwap, Aerodrome, DexScreener, GeckoTerminal, Pendle or most other front-ends. A bare pool address works too. If the page you are on shows a token rather than a pool, that works as well — you will get the deepest pool trading it.

2
Paste it into the analyser and press Analyse.

Nothing is saved and nothing is sent anywhere except the public data APIs the figures come from.

3
Read the verdict first, then the panel that disagrees with it.

The scores are a summary. The useful detail is usually in whichever panel is flagging something, which is why the risk flags sit near the top.

4
Put your own position size in.

Most figures change with size: gas is a fixed cost, your deposit dilutes the yield you are joining, and slippage scales with how much of the pool you are. The defaults are a guess; your number is not.

Reading the analysis

The analyser returns around twenty panels. These are the ones to look at first.

Verdict and scores

Three scores, from the three goals of a liquidity provider: is the pool busy relative to its size, do the fees cover the impermanent loss, and — for concentrated pools — would your range have held. A score is withheld rather than guessed when the data behind it is missing, so an "Incomplete" grade means exactly that.

Volume against reserves (V/R)

Daily volume divided by pool size. It is the cleanest single measure of whether a pool is working: fees come from volume, and the same volume in a smaller pool pays each provider more. A V/R around 0.25 is the benchmark used here. Very high V/R — above about 5 — is usually looped or wash volume rather than a genuinely busy pool, and is flagged as such.

Fees against impermanent loss

The core trade. Impermanent loss is computed from the pool's own price history with the closed form 2√r/(1+r) − 1, which is path-independent — only the start and end prices matter, not the route between them. The panel shows the divergence at which the fees stop covering the loss.

Range, for concentrated pools

How long the price actually sat inside a range of your chosen width, replayed against real daily bars. Fees accrue on the share of volume that traded in range, not the share of days — using the day count overstated fees by about 45% on a tight WETH/USDC range in testing, because the busy days and the in-range days are not the same days.

On widths: a range from P/4 to 4P is exactly twice as capital-efficient as full range. Stated that way on purpose — "a four-times range" can mean four times either side of the price, or a span four times wide, and those are very different positions.

Getting in and out

Slippage and fees for your position size, both ways, plus the smallest position worth opening at all. On a cheap chain that floor is tiny; on Ethereum at a busy moment it can be hundreds of dollars.

Is the pool real?

This panel runs before any yield figure, because for a new token it is the question that decides everything else.

What it checks

  • The contract — honeypots, buy and sell taxes, mint authority, whether ownership can be reclaimed, hidden owners, self-destruct, pause and blacklist powers, how concentrated the holders are, how many addresses provide the liquidity.
  • The trading — trades per address, because genuine activity is many addresses trading a few times each while manufactured volume is the reverse; and sells per buy, because buying with nobody selling is what a honeypot looks like from outside the contract.
  • The valuation — fully diluted value against the liquidity actually behind it, and what it would cost you to sell at several sizes.

Why one red flag is not a verdict

USDT reports mintable, pausable, blacklist-capable, an active owner, and roughly half its supply in ten addresses. On a memecoin that combination is damning. On a regulated stablecoin it is the design, and in places the law. A checker that shouted about it would be wrong in the way that teaches people to ignore checkers.

So severity here comes from agreement between independent signals, not from any single flag. Mint authority on a token with fifteen million holders is context; the identical flag on a pool three days old with two liquidity providers is critical.

It never says "safe". Contract checks read code, not intent — a contract with no dangerous powers can still belong to a project that walks away. They can be stale or wrong, and a token deployed hours ago may have no record at all. A clean result means these particular checks found nothing, and no more than that.

Finding pools, not just checking them

The farm screener

Every pool DefiLlama tracks, filterable by chain, category, exposure, yield, how much of that yield is emissions, and how much the figure can be trusted. Sort by clicking a column. Two presets come out of the backtest rather than out of an opinion.

Explore

The same universe grouped by category, by chain, or by protocol, so you can see where the yield is before deciding which pool. Medians throughout, never averages: one pool quoting four figures moves a mean and tells you nothing about the group it sits in.

Your book

Saved positions in one place, ranked by which needs attention. Positions live in your own browser and never reach a server.

How the numbers work

Every formula the app uses is shown on the analysis page three ways: symbolically, with the pool's numbers substituted in, and the result — so any figure can be checked by hand. The AMM demo lets you drive the same formulas directly.

The model is not the marketing

Two deliberate choices worth knowing:

  • No model produces a number. The natural-language search box turns a sentence into filter settings and nothing else. Every yield, TVL and emissions figure is computed from the data; a language model only decides how to filter and sort, and you can see and edit exactly what it chose. A wrong filter is visible; a hallucinated yield is not.
  • Figures are withheld rather than guessed. Where the data cannot support a number the app says so instead of showing a plausible one.

Backtested, including the parts that failed

The strategy presets come from a backtest run across 27 configurations of rebalance period, basket size and cost. Measured as excess return over holding, five of seven rules beat equal-weighting in all 27. The rule that failed is the instructive one: filtering to pairs that are not diverging, to dodge impermanent loss, was the worst performer — avoiding the volatility that causes IL also avoids the volume that pays fees.

What it will not tell you

Stated here rather than buried, because a tool that hides its limits is worse than one that has them.

  • It is not advice. Fee APR is an extrapolation of recent volume and will not repeat.
  • Backtests are flattered by survivorship. The universe is pools that exist today with a year of history. Everything that died is absent.
  • Concentrated-pool yields are upper bounds. DefiLlama divides fees by deployed liquidity, which makes its figure the return on in-range, actively managed capital. A passive position earns less.
  • No MEV, rebalancing cost, or smart-contract risk beyond the contract checks described above.
  • Incentives outside Merkl and DefiLlama are invisible.
  • Nothing here inspects the team, the social accounts, or anything off-chain.

Chains and where the data comes from

Base and BSC are verified first. Fee models, gas costs and contract checks have been checked against those two, covering over 99% of the two-sided liquidity on each. Every other chain GeckoTerminal indexes still works — those two are the ones the numbers have been tested against.

Sources

  • GeckoTerminal — pool state, fee tier, daily price history, trade counts.
  • DexScreener — an independent cross-check of liquidity and volume. When the two disagree, the disagreement is shown rather than hidden.
  • DefiLlama — the pool universe, yields split into earned versus paid, and per-pool history.
  • GoPlus — contract security checks across 46 chains.
  • Merkl — incentive campaigns and, crucially, their end dates.
  • Pendle — fixed-yield markets, which use entirely different maths.

FAQ

Do I need to connect a wallet?

No, and there is nothing to connect to. The app never asks for a wallet, a signature or a transaction. It reads public data and does arithmetic.

Do I need an account?

Not for the analysis, the screener, explore, or the AMM demo. An email sign-in is needed for the natural-language search, CSV export and the saved book.

Why does it sometimes refuse to show a number?

Because the data behind it was missing or not trustworthy. A withheld figure is more useful than a confident wrong one.

Why does my pool say "rate limited"?

GeckoTerminal's free tier allows about 30 requests a minute and drops its CORS header on rejected ones, so the browser cannot see the 429. Wait a moment and try again.

Does it support Pendle?

Yes, with an entirely separate analysis. A Pendle market trades a principal token against its yield-bearing wrapper, so impermanent loss against holding is the wrong question — the PT converges to par at expiry by construction. Pendle links get implied yield, the spread against the underlying rate, time to expiry, and LP against hold-PT against hold-YT.

Can I check the maths?

Yes. Every formula is shown with the pool's numbers substituted in, the AMM demo lets you drive them, and the whole thing is open source with a test suite of over 460 checks.