Last Tuesday a forty-one-page due-diligence report landed in my inbox. It had nine sections. A risk matrix with six categories. A token distribution table with four tranches. A Howey test breakdown. A five-star rating system across four dimensions. A governance health scorecard. A competitive landscape grid. An executive summary with a confidence column.
Every substantive cell in it contained the same string: N/A โ insufficient information.
The report had been forwarded 3,800 times in eleven hours. The token it covered was up 61% over the same window.
I have been auditing smart contracts since 2017, when I spent forty hours on a distribution script and found an integer overflow that would have drained wallets. That work earned me a $2,000 bug bounty and a permanent rule. If I cannot audit the logic, I do not trade the token. So I read the forty-one pages properly, line by line, and counted.
Forty-one pages. Zero information points. Not one citable fact โ no contract address, no transaction hash, no state root, no primary document, no reproducible number. Eleven headings, four tables, one risk matrix, and a void.
Ledgers do not lie, only the auditors do. And this auditor had published a vacuum with a confidence column.
The term of art I use is "information point": the smallest citable unit of fact in a research document. A contract address is an information point. A 30-day fee figure with a dashboard link is an information point. A named auditor with a published report is an information point. "Team is experienced" is not. It cannot be verified, reproduced, or falsified.
A functioning research pipeline has two stages. Stage one breaks a source into information points, each tagged with provenance. Stage two builds analysis, and every conclusion must cite the information point it descends from. This is not decoration. It is the only mechanism that prevents analysis from becoming fiction with formatting.
When stage one returns an empty list, stage two must return an empty analysis. That is the correct behavior. It is also, apparently, publishable.
The marginal cost of producing a research document has fallen to roughly zero. A generative model can emit a nine-dimension framework โ technical, tokenomics, market, ecosystem, regulatory, team and governance, risk, narrative, supply-chain transmission โ with headers, tables, and rating scales in under ninety seconds. The structure is genuinely borrowed from institutional equity research. The content is not.
Here is the arithmetic that matters. In a legitimate primer on a mid-cap L2, I expect 15 to 40 information points per 1,000 words. In the null report I received, the ratio of structural tokens โ headers, table borders, column labels, the string "N/A" repeated 94 times โ to substantive tokens was roughly 12:1. The document was almost entirely scaffolding.
Scaffolding is not neutral. Scaffolding is the most expensive thing in the document, because it is what the reader trusts.
This is a bull market, and bull markets are efficient machines for converting structure into credibility. A $100M raise produces a docs site, a brand kit, a points program, and a research layer. The research layer is cheaper than the brand kit. It travels further. By the time anyone checks whether the claim contract has actually been deployed, the narrative has already repriced three downstream assets.
In a fragmented chain, liquidity is the only truth โ but liquidity is also the easiest thing to counterfeit, because TVL is a number a dashboard will print for you without ever asking what backs it.
Let me be precise about why a null report is worse than a wrong one.
A wrong report makes a testable claim. It says the TVL is $800M. You check. It is $310M. You discard the report and you learn something about the author. The error is contained because the error is legible.
A null report makes no testable claim. It emits a risk matrix with six rows and thirty empty cells. It emits an unlock schedule table with four tranches and no numbers. It emits a Howey test with four elements marked "unable to assess." Every one of those empties is a load-bearing vacancy, and the reader fills it.
Fill-rate is the core mechanism. Hand a human a table with a hole in it and the hole gets filled โ usually with the most available narrative, which in a bull market is the bullish one. The report did not say the token was good. It said nothing. The reader said good, and credited the report for the rigor of the saying.
I have watched this happen at scale. Unknown risk is not low risk. It is unbounded risk with an unknown probability distribution, and it prices at zero until it prices at one.
So here is the operational test I run on any document, mine or someone else's.
Test one: provenance. Every factual claim must resolve to an on-chain artifact โ a contract address, a transaction hash, a state root, a governance proposal ID โ or to a primary document with a date and an author. Secondary reporting is not provenance. A screenshot of a dashboard is not provenance, because dashboards get repointed at new contract addresses and old screenshots stay beautiful.
Test two: reproducibility. Every number must be reconstructible in under ninety seconds by someone who did not write the document. If it takes a paid terminal, an NDA, or a phone call, it is a claim, not a fact.
Test three: the vacancy rule. Every "N/A" must carry a stated reason and a detection path. "N/A โ insufficient information" is a failure. "Unlock cliff unverifiable because the vesting contract at 0xโฆ has no public getter; flagged as high-risk until decoded" is a finding. The difference is that the second one tells you where to look.
Run those three tests on the null report and it dies in forty seconds. Most people never run them, because the document's shape did the persuading before the content had a chance to.
Now, the on-chain signature of an empty information set. This is what I actually hunt for, and it is remarkably consistent.
A misconfigured or non-existent contract returns 0x from eth_call โ a zero-length response. Not an error. Not a revert. Just nothing, delivered successfully. Novice scripters treat 0x as a value and move on. It is an absence, and it should halt the pipeline.
Indexing lag produces the same shape at the data layer. A subgraph that has not been resynced will happily return stale totals with a fresh timestamp. Two L2 bridges reporting the same TVL will double-count. A points program with no deployed claim contract is an IOU written in a marketing budget.
And the vesting tables. A token distribution table with no unlock schedule is not incomplete analysis โ it is a disclosure failure, and disclosure failures cluster. Teams that omit cliffs omit them on purpose. In my own portfolio work I have never once seen an omission of that type break in the holder's favor.
This is where the 2022 lesson hardens into procedure. I held โฌ30,000 in UST-denominated derivatives in May 2022. The report I had read on that position was structurally complete and substantively hollow โ it described the mechanism as "algorithmic stability" and marked counterparty risk "unable to assess." I had gone around it with my own checklist, so when the peg broke I executed stop-losses across three exchanges in minutes and preserved 85% of capital. The people who lost everything were not the people who read a wrong report. They were the people who read an empty one and filled it themselves.
So I standardized the checklist. Fourteen items. Collateralization type, redemption path, oracle set, governance capture, unlock calendar, auditor identity, admin key custody, upgrade delay, dependency graph, liquidity depth at 2% slippage, revenue source, fee switch status, bridge exposure, and legal wrapper. Any item I cannot resolve gets a number: maximum 2% of portfolio, or zero. Not a narrative. A number.
The 2026 iteration compounds this. I spent three months stress-testing an AI agent's decision logic against historical bear regimes. The logic was clean. The position sizing was not โ it assumed a liquidity profile that existed in 2021 and did not exist in 2022. I rewrote the core to enforce immutable size caps, and the backtest drawdown fell from a projected 20% to under 6%.
But here is the part that should worry everyone deploying agents this cycle. An agent fed a null report will execute it with perfect discipline. No hesitation, no gut check, no "this feels thin." Automation does not filter bad inputs. It amplifies them and removes the human friction that used to be the last line of defense. The algorithm executes, but the human decides โ and if the human outsourced the deciding to a template, there is no decision left in the system at all.
The consensus fear about AI-generated research is fabrication. Invented audits, hallucinated partnerships, phantom TVL. That fear is real, and it is the wrong one to optimize for.
Fabrication is detectable. A fake auditor has no published report. A fake partnership has no counterparty announcement. A hallucinated contract address resolves to 0x. Fabrication leaves fingerprints because it asserts.
Abstention leaves none. A document that asserts nothing cannot be caught asserting something false. It is unfalsifiable by construction, and unfalsifiability is the most valuable property a piece of marketing can hold โ it is immune to the exact verification process that would kill a lie.
So the null report is not a neutral document. Neutrality is a position, and in an attention market, "no conclusion" is unambiguously bullish: it removes an objection from circulation without ever making a claim.
Trace the incentive. A generative report farm is paid per impression, not per insight. Emitting a nine-dimension framework costs ninety seconds and converts into a shareable artifact that looks like institutional output. Emitting a genuine finding costs forty hours of contract reading and produces a document that is longer, uglier, and full of caveats that suppress sharing. The market rewards the first and prices the second at zero.
Beta is the tax you pay for ignorance. But there is a second tax, and it is worse: the tax you pay while believing you already paid the first one. Readers of the null report believed they had done diligence. That belief is what kept them in the position through the drawdown.
The data-availability conversation has this same pathology, and it is worth naming precisely because it is fashionable. Consensus layers, execution layers, settlement layers, data availability layers โ a full-page architecture diagram with four labeled boxes and no data on how many rollups actually post enough bytes to saturate a dedicated DA layer. The diagram is a null report with better typography.
Three things I am watching, and the levels that matter to me.
One: publication of information-point counts. If a research product cannot state how many citable facts its own report contains, it is a template. I want that number on the cover page.
Two: verifiable research. The tradable edge is migrating from producing analysis to proving that analysis was read and acted on. On-chain attestations of research consumption โ timestamped, address-linked. The first serious protocol to ship that gets a durable moat, because the null report cannot survive an attestation layer. You cannot attest to having consumed nothing.
Three: agent input disclosure. Any fund or platform deploying autonomous yield agents should be required to publish the information-point density of the documents those agents ingest. An agent with a clean risk kernel and a hollow input stream is a liability with a nice interface.
Sanity checks before sanity wins. The bull market will keep printing forty-one-page documents with empty tables, and it will keep repricing assets on the strength of their shape. The only durable defense is the boring one: count the facts, resolve them to the chain, and refuse to fill the vacancies yourself.
So the question I would put to anyone holding a position on the strength of a report this cycle is not whether the report was bullish or bearish. It is simpler, and harder.