The number that gets quoted in every DeFi thread is total value locked, and I have watched it move a token more than any actual product update. Which is strange, because TVL is one of the softest metrics in the whole space. It looks like a bank balance. It reads like proof that real people parked real money here. A lot of the time it is closer to a headline the protocol wrote about itself, and once you understand how it gets inflated you stop reading it the way you used to.
I am not saying TVL is useless. It is a fine first glance. But most of the ways it goes wrong are boring mechanical double counts, not fraud, and that is exactly why they survive. Nobody is lying. The accounting is just generous, and generous accounting compounds.
The four ways the number gets bigger than the money
The first one is recursive lending. Someone deposits a stablecoin into a lending market, borrows against it, deposits the borrowed asset back, borrows again, and loops. Each turn of that loop counts as fresh TVL even though it is the same original dollar walking in a circle. A protocol built around leverage loops can show a TVL several times the outside capital that actually arrived. The money is real once. The counting happens on every lap.
The second is a protocol counting its own token. If a project lets you stake its native token and then reports the dollar value of that staked pile as locked value, you are looking at a number that is mostly a function of the token price the project itself controls the supply of. Price doubles, TVL doubles, and no new capital showed up. When the token is thin and mostly held by insiders, this is less a measure of trust and more a measure of the current mark on their own inventory.
The third is wrapped assets re-counted across chains. You lock ETH on the mainnet to mint a wrapped version, bridge it, and put the wrapped version to work somewhere else. Depending on how the trackers attribute it, both the original lock and the downstream deployment can show up. The same coin gets to be productive in two places on the scoreboard while it only exists in one. Multiply that across a few bridges and a few chains and the aggregate starts to drift well above the honest figure.
The fourth is mercenary capital, and this one is not a counting trick so much as a durability trick. A protocol turns on rich token emissions, capital floods in to farm the rewards, TVL spikes, and everyone points at the chart. The capital has no loyalty. It is renting yield. The day the emissions taper or a better farm opens, it leaves as fast as it came. The number was real while it lasted. It just told you nothing about whether anyone wanted to be there.
How to think about it before you touch a tool
The mental adjustment I make is to stop asking how much value is locked and start asking how much outside capital is actually exposed here, and how sticky is it. Those are different questions and the gap between them is where most of the inflation lives.
A quick gut check I run before I trust any TVL figure:
- What fraction of this is the protocol's own token? If it is most of it, I am reading a token-price chart wearing a costume.
- Does this design loop? Lending markets and leverage vaults almost always double count, so I mentally discount them before I even open anything.
- Where do the emissions sit relative to the TVL? Big rewards holding up a big number is a rented number.
- Could this same dollar be counted somewhere else too? Wrapped and bridged assets are the usual suspects.
None of that requires a spreadsheet. It just requires refusing to take the top-line figure at face value, which is most of the battle.
The DefiLlama workflow for real outside capital
DefiLlama has quietly done a lot of this cleanup for you, and the toggles are the whole point. Most people never touch them, which is why the raw number keeps circulating. Here is the pass I actually run on a protocol page.
- Start with the headline TVL, then immediately look for the double-counted and borrowed toggles. DefiLlama can strip out the recursive lending laps so the same dollar stops counting multiple times. Turn that on and watch how much of the number was loops.
- Check whether the protocol's own token is included in the locked value. If the platform separates it, exclude it, and see what is left. What survives is closer to third-party money.
- Compare the TVL trend against the token's price trend side by side. If they move together almost tick for tick, the TVL is mostly a reflection of the mark, not of inflows. If TVL holds while price chops, that is a better sign that real deposits are underneath it.
- Look at the emissions or incentives relative to fees the protocol actually earns. When a project is paying out far more in token rewards than it collects in real revenue, assume a chunk of that TVL is mercenary and will not survive the incentives being cut.
- For anything wrapped or bridged, sanity check whether the underlying is already counted upstream. If the same ETH is showing up as a mainnet lock and again as a wrapped deployment, pick one and move on.
What you are left with after that pass is a rougher, smaller, and far more honest figure. It will usually be well below the headline, sometimes a fraction of it, and that discount is the useful signal. A protocol whose adjusted number holds up close to its raw number is doing something different from one whose number collapses the moment you strip the loops and the native token out.
What the adjusted number is actually good for
The point of doing this is not to catch anyone. It is to be able to compare two protocols on the same footing. Raw TVL comparisons are almost meaningless because one project might be a clean spot venue and another might be a five-times leverage loop denominated in its own coin, and the leaderboard puts them next to each other as if they are the same kind of thing. Once you adjust both down to outside sticky capital, the ranking often reshuffles hard, and the reshuffle is where the interesting reads are.
I keep this in the same bucket as every other on-chain metric I look at, which is to treat the headline as a question rather than an answer. When I am building screens for this at Blockcircle I would rather show the adjusted figure and the discount next to it than the big number alone, because the discount tells you more than the total ever does. TVL is not going to stop being quoted raw. You just do not have to be the one quoting it that way.