Every time a protocol crosses some round TVL number, the number gets quoted like it means something on its own. It usually does not. Total value locked is one of the more honest metrics in DeFi in that it is on-chain and verifiable, and one of the more misleading in that the headline figure aggregates a bunch of things that behave nothing alike. Most of the mistakes I have watched people make on DeFiLlama come from treating one big number as a proxy for adoption, when a large chunk of it is the same dollar counted twice, or capital that will leave the moment the incentive program ends.
So the useful skill is not reading TVL. It is decomposing it. Once you get in the habit of asking where the dollars came from and why they are sitting there, the same dashboard starts telling you a very different story.
Where the double counting hides
The clearest way TVL inflates is layering. Someone deposits ETH into a liquid staking protocol and gets a receipt token. That receipt token gets deposited into a restaking protocol, which issues another receipt token. That one goes into a lending market as collateral, and the borrowed asset gets farmed somewhere else. One unit of real ETH just showed up in four different protocols' TVL. Every layer is real in the sense that the contracts hold something, but summing them tells you almost nothing about how much original capital is actually in the system.
DeFiLlama tries to help here. It publishes a separate figure that strips out double-counted and borrowed value, and it flags liquid staking and restaking so you can see how much of a chain's total is receipt tokens stacked on other receipt tokens. The default view you land on is usually the inflated one, so the first habit worth building is to toggle those settings on and watch the number move. If a chain's headline TVL drops by a large fraction once you exclude double-counting, you have learned something about how much of that ecosystem is leverage on leverage versus genuine deposits.
Borrowed funds are the other quiet inflator. In a lending market, both the supplied collateral and the borrowed amount can end up counted, so a market that is mostly people recursively borrowing against their own deposits can look enormous while representing a fairly thin base of real money. When you see a lending protocol whose TVL is huge but whose actual outstanding loans are modest, that gap is usually recursive looping, and it unwinds fast when rates or prices move against it.
Compare the deposits to what the protocol earns
The single question that cuts through most of the noise is whether the capital is paying rent. A protocol that holds a lot of value but generates very little in fees is either extremely early or being paid to look big. DeFiLlama exposes fees and revenue right next to TVL, and the ratio between them is where I spend most of my time.
Fees are what users pay to use the protocol. Revenue is the slice that accrues to the protocol or its token holders after paying out to liquidity providers. A healthy, sticky protocol tends to earn fees that are meaningful relative to the assets it holds. A protocol that has ten figures of TVL and almost no fee generation is usually renting that TVL through token emissions, and the emissions are the actual product. Nobody is there for the service. They are there for the incentive, and they have a spreadsheet open telling them exactly when to leave.
A rough workflow I run before taking any yield seriously:
- Pull up the protocol and note headline TVL, then toggle off double-counting and borrows and note how much it drops.
- Look at fees and revenue over a trailing window, not a single day, and sanity-check them against TVL. Tiny fees on giant TVL is a flag.
- Check what share of the yield being advertised is real fee income versus token emissions. If the advertised APY collapses the moment you subtract emissions, that is your answer.
- Look at how concentrated the deposits are. A dozen wallets holding most of the TVL is a different risk than thousands of small ones.
- Check the token's emission schedule. If a big unlock or the end of an incentive program is coming, the capital knows before you do.
Read the flows, not the snapshot
TVL at a single moment is a photograph. What you actually want is the direction and speed of travel. DeFiLlama's chain-level and protocol-level charts let you watch capital move, and the movements tend to rhyme. When a new incentive program launches on some chain, you can watch TVL rush in, sit for exactly as long as the rewards are rich, and then rotate out when a better-paying farm opens up elsewhere. This is mercenary capital, and it is not a moral failing, it is just how rational farmers behave. The mistake is confusing its arrival with adoption.
The tell is what happens to TVL when yields compress. Sticky capital barely notices. It is there because people are using the protocol for something, hedging, providing real liquidity a business depends on, parking stablecoins they trust. Rented capital evaporates on a schedule. If you line up a protocol's TVL chart against the point where its emissions tapered and the line falls off a cliff, you now know how much of that ecosystem was ever real. Do that across a few protocols and you develop a feel for which teams built something people pay for and which ones bought a leaderboard position.
The same reading works in reverse and it is the more interesting signal. Capital tends to leave before yields visibly compress, because the largest LPs model emission decay ahead of time and start rotating early. If you are watching net flows out of a category while headline APYs still look fat, that is often the smart money front-running the compression everyone else will notice a few weeks later. Catching that rotation early is roughly the on-chain equivalent of watching where large wallets move before the crowd does, which is a big part of what we spend our time on at Blockcircle.
A short due-diligence routine
When someone sends me a protocol and asks whether the yield is real, I run the same loop. Strip the double-counting and borrows out of the TVL so I know how much real capital is actually there. Compare fees and revenue against that adjusted number to see whether the capital is paying rent or being paid to stay. Separate the advertised APY into fee income versus emissions. Then pull the flow chart and ask whether deposits are growing through periods when incentives were flat, because growth without a fresh incentive is the closest thing to a genuine adoption signal you get on-chain.
None of this requires special access. It is all on the same free dashboard everyone quotes the headline number from. The difference is that most people stop at the number on the front page, and the number on the front page is the one designed to be quoted. Spend ten extra minutes on the fees tab and the flow charts and you will pass on a lot of yields that were only ever going to pay the people who left first.