Every time someone asks me what a token is "worth" in dollars, I stall. I do not have a good answer and neither does anyone else, because a discounted cash flow on a protocol that might not exist in three years is theater. What I can do, and what actually holds up, is tell you whether a token is expensive or cheap relative to the five or six things it directly competes with. That is a much smaller question, and it is answerable. You build a comps table, you line up the peers, and you let the ratios do the arguing.
The trick is that a comps table only works if the things in it are genuinely comparable, and in crypto they almost never are out of the box. Two tokens in the same sector can have wildly different float, different emission schedules, and different ways of counting the same activity. So most of the work is not picking the multiples. It is scrubbing the inputs until the multiples mean the same thing across every row.
Pick a sector, then pick real peers
Start narrow. A comps table across "DeFi" is useless because a lending market and a perp exchange and a liquid staking protocol do not share a business model. Pick one narrative sector where the tokens do roughly the same thing and earn money in roughly the same way. Decentralized perp exchanges. Liquid staking tokens. Onchain lending. Oracle networks. Layer-2 rollups. Inside one of those buckets, the peers actually compete for the same users and the same fees, so a multiple that is high for one is a fair question mark for another.
Then be honest about who belongs in the set. I usually cap it at five to eight names. Include the clear leader even if it looks overpriced, because it anchors the range. Drop anything that is really a different business wearing the sector's clothing. If one "lending" protocol makes most of its money from a points program or a token launchpad, it is not a lending comp, and leaving it in will poison your median.
The three multiples I trust, and what breaks them
I keep the table simple. Three ratios do most of the work, and each one has a specific failure mode you have to correct for before you compare.
- Price to fees. Take fully diluted valuation, or market cap if you prefer, and divide by annualized protocol fees or revenue. This is the closest thing crypto has to a P/E. The failure mode is which fee number you use. Total fees paid by users is a different number from the slice the protocol actually keeps, which is different again from the slice that flows to the token. Pick one definition, usually protocol revenue net of what goes to suppliers, and apply it identically to every row.
- Market cap to TVL. How much value the market assigns per dollar sitting in the protocol. Useful for anything where deposited capital drives the business, like lending or staking. The failure mode is double-counted and mercenary TVL. Recursive looping inflates the number, and TVL that is only there for an incentive program will leave the moment emissions stop. Where I can, I discount TVL that is obviously incentive-farmed rather than sticky.
- FDV per user or per unit of usage. Fully diluted valuation divided by a real activity count, like active addresses, or better, by something harder to fake such as fee-paying wallets or settled volume. The failure mode is bots and Sybil addresses. Raw address counts are close to fiction in most sectors. Anchor to paid activity wherever you can, because paying a fee is expensive to fake at scale.
None of these is right on its own. The point of putting all three side by side is that a token can look cheap on one and alarming on another, and the disagreement is the signal.
Adjust for float and emissions or the whole thing lies to you
This is the part people skip, and it is the part that matters most. Two tokens can show the same market cap while one has almost its entire supply circulating and the other has released a fifth of it, with the rest scheduled to hit the market over the next few years. On a market-cap basis they look like peers. They are not.
So I always run the table twice, once on circulating market cap and once on fully diluted valuation, and I look at the gap between them per token. A protocol trading near its FDV has most of its dilution behind it. One trading at a small fraction of FDV has a wall of future supply that the current price is quietly ignoring. When I rank the sector, the low-float, high-FDV names get a mental penalty even if their circulating multiple looks like the cheapest in the group, because "cheap" on a number that is about to triple in supply is not cheap.
A workflow that keeps me honest:
- Pull circulating supply, total supply, and the vesting or emission schedule for every token. Note the annual emission as a percent of current supply.
- Compute each multiple twice, on circulating market cap and on FDV. Keep both columns.
- Flag any token where circulating supply is below roughly half of total. That is your dilution watchlist.
- For fee and usage inputs, use the same source and the same time window, ideally a trailing period long enough to survive one quiet stretch, so you are not annualizing a single hot month.
- Compute the sector median for each multiple and express every token as a ratio to that median. Now you are ranking, not guessing at fair value.
Reading the outliers
Once the table is clean, the interesting rows are the ones far from the median. A token trading at half the sector's price-to-fees multiple is either mispriced, meaning the market has not caught up to its fundamentals, or it is cheap for a reason you have not found yet. Your job is to figure out which, and the answer is almost always in the parts of the business the multiple does not capture.
Before I call anything mispriced, I run through the usual suspects for why it might be cheap on purpose. Is the fee revenue durable or is it a one-off spike from a token launch or a farming season that is ending. Is a chunk of that revenue actually being paid back out as incentives, so the net number is thinner than it looks. Is the low multiple sitting on top of a brutal emission schedule that the FDV column already warned me about. Is there a governance or security overhang, a pending unlock to insiders, a dependence on one integration that could leave. If none of those explain it, then maybe it is genuinely underpriced, and that is a position worth taking. But the base rate is that a big discount is the market pricing in a risk you have not done the reading on yet.
The mirror case matters too. A token trading at three times the sector's multiple is not automatically a short. Sometimes the leader deserves the premium because its fees are stickier, its users pay more per head, and its supply is fully diluted so there is no dilution surprise coming. A premium backed by better fundamentals is fine. A premium backed by narrative and nothing in the fee column is the one to be careful with.
Make it reusable
The whole method is a spreadsheet you can point at any narrative sector. One tab per sector, one row per token, columns for supply figures, fees, revenue, TVL, a usage count, then the computed multiples on both circulating and diluted bases, then each cell as a ratio to the sector median. Once it exists, refreshing it for a new sector is an afternoon of pulling inputs, not a research project. I keep the fee and usage feeds wired into the same market data I use elsewhere in Blockcircle so the inputs update on their own, but a hand-maintained sheet works fine as long as you are religious about using one definition per column.
What you get is not a price target. It is a ranked list of where the multiples disagree with each other and with the sector, and a short written reason next to every outlier for why it sits where it does. That is enough to decide what to look at harder and what to leave alone, which is most of what valuation is supposed to do anyway.