CheapbookZ

Market Prices

Coin Price 24h
BTC Bitcoin
$81,053.2 -0.82%
ETH Ethereum
$2,381 -1.53%
SOL Solana
$102 -2.22%
BNB BNB Chain
$712.8 -1.33%
XRP XRP Ledger
$1.28 -2.16%
DOGE Dogecoin
$0.0784 -2.79%
ADA Cardano
$0.2170 -3.81%
AVAX Avalanche
$9.64 -3.34%
DOT Polkadot
$1.1 -4.69%
LINK Chainlink
$11.87 -3.69%

Fear & Greed

55

Greed

Market Sentiment

Event Calendar

{{年份}}
08
04
upgrade Solana Firedancer

Independent validator client goes live on mainnet

30
04
upgrade Celestia Mainnet Upgrade

Improves data availability sampling efficiency

15
04
halving Bitcoin Halving

Block reward reduced to 3.125 BTC

12
05
halving BCH Halving

Block reward halving event

22
03
unlock Optimism Unlock

Circulating supply increases by about 2%

18
03
unlock Sui Token Unlock

Team and early investor shares released

10
05
upgrade Ethereum Pectra Upgrade

Raises validator limit and account abstraction

28
03
unlock Arbitrum Token Unlock

92 million ARB released

Altseason Index

41

Bitcoin Season

BTC Dominance Altseason

Gas Tracker

Ethereum 28 Gwei
BNB Chain 3 Gwei
Polygon 42 Gwei
Arbitrum 0.5 Gwei
Optimism 0.3 Gwei

Market Cap

All →
1
Bitcoin
BTC
$81,053.2
1
Ethereum
ETH
$2,381
1
Solana
SOL
$102
1
BNB Chain
BNB
$712.8
1
XRP Ledger
XRP
$1.28
1
Dogecoin
DOGE
$0.0784
1
Cardano
ADA
$0.2170
1
Avalanche
AVAX
$9.64
1
Polkadot
DOT
$1.1
1
Chainlink
LINK
$11.87

🐋 Whale Tracker

🔴
0xa3dc...e0d5
5m ago
Out
4,962 ETH
🔵
0x7d85...9f79
1d ago
Stake
948 ETH
🟢
0x0d98...b6b4
1h ago
In
2,983.68 BTC

💡 Smart Money

0x793a...51d0
Arbitrage Bot
+$0.8M
79%
0xa62d...eb12
Institutional Custody
+$1.3M
92%
0x603b...944a
Market Maker
-$3.2M
82%

🧮 Tools

All →
Podcast

The Null Report: Anatomy of an Empty Due Diligence Pipeline

Raytoshi

At 09:14 on a Tuesday, a nine-dimension due diligence report landed in my review queue. The subject was a modular execution layer that had closed a $100 million round eleven weeks earlier. Nine categories. Forty-one rows. Every row was populated. Every population returned the same three words: insufficient information.

The technical surface listed no trust model. The token section carried no supply schedule, no vesting cliff, no emission source. The team section carried no names. The governance section carried no voter turnout, no holder concentration, no proposal history. The regulatory section had four Howey prongs and four blanks. The risk matrix had six categories and zero severities. At the bottom, in a field labeled information point list, there was nothing — not a malformed string, not a truncated array, not a placeholder. An empty list.

The analyst who routed it to me had appended one line: "Can we fill this in?"

That question is the subject of this article. Not the $100 million. Not the modular execution layer. The question. The instinct to fill a blank is the most expensive habit in this industry, and in a bull market it is the habit that gets funded.

Crypto due diligence stopped being a craft and became a pipeline somewhere between 2023 and 2025. The mechanics are straightforward. Text is ingested. Facts are extracted into atomic units. The units are routed into a fixed analytical schema — technical, tokenomic, market, ecosystem, regulatory, team, risk, narrative, transmission. The schema is populated. The output is rendered as a report with tables and severity ratings and a disclaimer.

The architecture is sound in the same way that a skeleton is sound. What matters is what hangs on it.

There are two stages in any such pipeline, and only one of them produces information. Stage one reads a source and emits discrete, independently citable facts — a vesting cliff date, an audit firm name, a contract address, a governance quorum threshold, a funding round valuation. Stage two maps those facts onto the analytical schema and reasons about them. Stage two can be automated aggressively, because mapping facts to a schema is a mechanical operation. Stage one cannot be automated nearly as aggressively, because extraction requires deciding whether a sentence is a claim, an aspiration, or an advertisement — and that decision is where the entire value of the exercise lives.

When stage one returns an empty list, stage two has exactly one correct output. It is the output I received. Nine dimensions of nothing, honestly labeled.

That output is not a failure. It is the only artifact in the modern research stack that cannot lie. Everything upstream of it — the pitch deck, the raise announcement, the conference panel, the research note published by the same desk that took the allocation — can lie. The null report cannot. It has no surface area for a fabricated claim.

The industry does not treat it that way. The industry treats the null report as a work item. Blank cells are an embarrassment. Blank cells are a deliverable that failed QA. So the blanks get filled, and the filling is where the fraud is manufactured — not by the project, necessarily, but by the analyst who could not tolerate an empty field.

I have watched this cycle four times. In 2017 it was whitepapers: forty pages of Byzantine fault tolerance diagrams stapled to a token sale that had already closed. In 2020 it was yield: annualized numbers computed against liquidity depth that existed only on a Tuesday afternoon. In 2021 it was provenance: a decentralized art registry whose content could disappear if a pinning invoice went unpaid. In 2022 it was arithmetic: a stablecoin whose peg required infinite growth, modeled at length by people who had never once opened the seigniorage loop in a spreadsheet.

Each cycle produced a different table. Each table was populated. In every case, the population was the product. The numbers were decoration.

What changed in the current cycle is the cost of being wrong, and the direction it moves. In a drawdown, a fabricated number gets tested within weeks, because the funding environment stops forgiving it. In a bull market the test is deferred. Capital is abundant, entry prices rise regardless of fundamentals, and the interval between claim and verification stretches from one quarter to three. The bull market does not create bad analysis. It creates bad analysis with a longer shelf life, which is a strictly worse instrument, because it accumulates citations before it accumulates consequences. A number that survives nine months of an uptrend has been referenced in decks, threads, and term sheets by the time the first person checks it, and by then it has the social weight of consensus.

There is also a demand-side effect that no research desk will admit to. Four thousand token launches a month generate a demand for verdicts that exceeds the supply of verifiable facts by an order of magnitude. The gap has to be closed by something. It is closed by structure — headings, tables, confidence intervals, severity scores. Structure is cheap to produce, scales linearly with headcount, and reads as rigor to anyone who has never tried to extract a fact from it.

If a system receives no input facts, then any non-null output is invented. This is not a philosophical position. It is a property of information flow. A pipeline that maps facts to conclusions cannot produce a conclusion when the fact set is empty, unless it draws on something outside the fact set — priors, cached templates, model weights, or the analyst's desire to keep their job.

All four of those extras are hallucination sources. Model weights are the most dangerous of the four, because they are the least visible. A large language model asked to complete a tokenomics section will complete it. It will produce a supply schedule with the smooth confidence of a document that has one. It will produce a team section with plausible role titles. It will not flag that it invented them, because from the model's perspective there is no difference between a remembered structure and a retrieved fact. Both are tokens with high conditional probability. The distinction between retrieval and generation is a distinction the model does not represent, and therefore cannot report.

Complexity is the camouflage for incompetence. The nine-dimension schema looks rigorous. It has the shape of rigor — categories, subcategories, probability-and-impact matrices, confidence intervals. But schema coverage is not evidence coverage. A template with nine empty dimensions is not ninety percent complete. It is zero percent complete with nine places to hide.

The correct engineering response is null propagation: if an input is null, the output is null, and null is displayed as null. This is standard practice in every mature data discipline. Nobody in accounting invents a revenue figure because the ledger is missing a page. Nobody in pharma ships a trial result because the enrollment data did not arrive. The disciplines that permit invention are the disciplines that have not yet been held accountable for one.

Strip the schema of its formatting and each dimension is a question about disclosure. The question is not how good the project is. The question is whether the operator publishes the artifact that would let an outsider answer that. Absence of the artifact is itself a finding, and in most cases it is the finding.

Technical. The dimension asks for a trust model. Who can pause the bridge. Who controls the upgrade proxy. How many signatures are required to change the state transition function. Whether the sequencer is a single address. Whether the code is verified on-chain or merely linked in a Git repository that may or may not correspond to the deployed bytecode. A project with no published trust model has not declined to answer the question. It has declined to let the question be asked in public. In my 2024 review of restaking slashing conditions, the entire analytical payload came from reading the differentiation matrix in the deployed contract and comparing it against the specification document. The two disagreed. That disagreement was the report.

Token economic. The dimension asks for the supply schedule and the emission source. Not the total supply — the schedule. Who receives units, on what date, at what price. What fraction of current yield is paid out of protocol revenue versus paid out of newly minted units delivered to the same wallets that vote on emissions. Yields are just risk wearing a tuxedo, and the tuxedo is sewn from the emission schedule. A token section with no vesting table is not an incomplete section. It is an answer, and the answer is that the vesting table would be the most damaging document in the deck.

Market. The dimension asks two things: what event is this, and how much of it is already in the price. Both require knowing what the event is. Without that, the category has no referent. This is where most pipelines quietly go wrong. They have a market impact field, and when the event is unidentified, they write "neutral" instead of "undefined." Those are not synonyms. Neutral is a prediction. Undefined is an admission.

Ecosystem. The dimension asks where the project sits between its dependencies and its dependents. What does it need to exist, and what needs it to exist. A protocol with no identified upstream dependency and no identified downstream integrator is not early. It is isolated. Those two states look identical in a bull market, because price appreciation substitutes for integration and the substitution holds for exactly as long as the uptrend does.

Regulatory. Four prongs: money invested, common enterprise, expectation of profit, reliance on the efforts of others. Each prong is a factual question with a documentary answer — the sale terms, the entity structure, the marketing language, the degree of operational decentralization at the moment of sale. A blank prong is not ambiguity. It is a missing subpoena target.

Team and governance. Names, prior deployments, and the on-chain record of how decisions actually get made. Voter turnout, top-holder concentration, whether proposals pass because of delegated foundation wallets or because of independent holders. In 2017 I spent six weeks inside the Tezos self-amendment proofs. The Coq was clean. The governance transition was not, and the gap between the two was the entire story. The proof is in the logic, not the promise — and the logic lived in the transition function, not in the consensus layer that the marketing described.

Risk. The dimension asks what an adversary does with the system under adverse conditions. Not the base case. What happens when the sequencer goes down for four hours during a liquidation cascade, when two validators are offline and the proposer set is thin, when the oracle publishes a stale price for eleven minutes. Assume malice, verify everything, trust nothing. A risk matrix with no severities does not mean no risks were found. It means no risks were looked for, because looking would require the technical section that does not exist.

Narrative. What is the story, when did it start, and what would have to be delivered for the story to survive the next quarter. Narrative has a half-life, and the half-life is set by the gap between what is claimed and what ships.

Transmission. Who else in the stack gets hurt if this fails. This is the only dimension that can be partially answered from public data even when the project publishes nothing, because counterparty exposure is visible on-chain. It is also the dimension that matters most to anyone who does not hold the token.

Here is the reconstruction I performed on that Tuesday, from nine empty dimensions and nothing else.

A project that has raised nine figures and cannot produce a trust model, a vesting schedule, a team identity, a governance record, or a regulatory posture is not a project with a documentation gap. It is a project with a disclosure policy, and the policy is to disclose nothing that can be checked.

The raise is the tell, not the gap. Capital at that scale buys lawyers, auditors, and communications staff. It does not buy silence by accident. Silence at that scale is purchased deliberately, usually on the advice of counsel, usually because at least one of the nine dimensions contains a fact that would complicate the next raise.

So the empty report has content. Its content is this: the operator's disclosure surface is empty by choice, and the choice was made after the money arrived. That is a citable finding. It gets logged as a finding. It does not get logged as an incomplete analysis.

There is an asymmetry worth naming. The null report is correct and gets treated as a failure. The filled-in report is fabricated and gets treated as a deliverable. Any pipeline that rewards fabrication and punishes nulls will converge on fabrication with the same reliability as water finding a drain.

Before I describe the filling, I owe an answer to the obvious question: why does the desk fill the blank at all. Not from malice. From queue pressure. A research desk is staffed against a coverage target — some number of protocols per analyst per quarter — and the target was set by whoever owns the budget, who set it against a bull market's expectation of deal flow. The null report counts as zero. The filled report counts as one. The performance review does not distinguish between them, because the review measures outputs, and a null report is not an output. It is an absence, and absences do not appear in a coverage count.

The Null Report: Anatomy of an Empty Due Diligence Pipeline

So the incentive gradient is monotonic and points in one direction. Every hour spent refusing to fill a blank is an hour not spent on the next protocol, which pushes the analyst below target, which is a measurable failure, while the fabrication it prevents is an unmeasurable success. The desk is not rewarded for the disasters it prevents. It is rewarded for the cells it populates. This is the same structure that produced the 2020 vault strategies I audited, where the optimization loop maximized a number that nobody had checked against liquidity depth, and the loop worked flawlessly right up until the moment a withdrawal exceeded the modeled constant.

Let me describe precisely what filling in the blank looks like, because the mechanism is duller than the outcome.

The analyst sees an empty tokenomics table with four rows: team, early investors, community, treasury. The analyst has no allocation data. But the table has four rows, and empty rows are visually anomalous in a document that will be circulated to an investment committee. So the analyst fills the rows with the sector median. Team 18 percent. Investors 22 percent. Community 45 percent. Treasury 15 percent. The sum is 100. The sum being 100 feels like correctness.

Three weeks later, the same four numbers appear in a comparison slide in a different deck. Six weeks later they appear in a newsletter. The number has now been cited three times, which in this industry is indistinguishable from being true.

Nobody in that chain lied. Each actor filled a blank with a plausible value and moved on. The fabrication was distributed across a relay of people who each believed the blank was theirs to complete. The proof is in the logic, not in the roundness of the numbers.

This is why I do not accept sector medians as inputs. A median is a fact about a population. It is not a fact about a subject. Substituting one for the other is not approximation. It is the conversion of an unknown into a known, and the reason it feels harmless is that it happens at the row level, one cell at a time, where the stakes look like formatting.

Static analysis reveals what marketing hides, and static analysis is available on day zero, before any of the nine dimensions can be populated with curated data. What follows is my actual opening sequence on any project that reaches my queue. It is ordered by how hard the check is to fake.

Start with the deployed bytecode. Verify it matches the repository. If the verified source and the linked source disagree, stop. You have a finding, and no other dimension matters until it is resolved.

Read the admin surface. Every proxy has an implementation slot and an admin slot. Enumerate the addresses. Check whether the admin is an externally owned account, a multisig, or the same address that received the raise. Count the signers if the multisig is verified. Check whether the threshold is a genuine majority. A three-of-five threshold controlled by three addresses that first transacted in the same calendar week is a single signer with extra steps.

Read the state transition. If the project uses any form of committee, sequencer, or proposer set, check whether membership is permissioned, whether rotation is deterministic, and whether a single actor can stall finality by going offline. Latency assumptions are where restaking designs break, and the break is usually documented in the specification as theoretical. In 2024 I traced one such vector through the slashing differentiation matrix and found a double-slash condition reachable under a specific latency profile. The team acknowledged it. They rated it low probability. They did not change the matrix.

Read the token contract, if one exists. Read the transfer function. Check for mint authority, pause authority, and blacklist authority. Read the vesting contracts rather than the vesting table. The table is a claim. The contract is a schedule. Ownership is a ledger entry, not a feeling — and it is also not a slide.

Read revenue. Find the address that receives protocol fees. Query it. Compare the inflow against the emission heading to the same recipient set. If emissions exceed fees, the yield is a transfer from new holders to old ones, and the architecture of the transfer describes itself if you plot the two series on one axis.

Build the counterparty graph. Pull the addresses this protocol's contracts call and the addresses that call it. Rank by value at risk. That graph populates the transmission dimension before the project has published a single paragraph about itself.

None of these steps requires the project's cooperation. All of them produce citable facts. Together they populate the technical, tokenomic, governance, and transmission dimensions sufficiently to move an analysis out of the null state, without a single input from a communications team.

Note what is not on that list. The whitepaper, the pitch deck, the raise announcement, the conference panel, the KOL thread. Those are the surfaces that produce high emotional salience and near-zero extraction yield. They exist to populate the narrative dimension, and the narrative dimension is precisely the one that cannot be populated with facts.

There is a deeper problem, and it survives even when stage one works perfectly.

A pipeline that maps facts to a fixed nine-dimension schema will produce nine-dimension reports regardless of where the interesting fact is. If the exploitable fact is that the oracle's staleness tolerance is eleven minutes and the liquidation engine assumes six, that fact does not belong to a dimension. It belongs to the seam between the technical dimension and the risk dimension, and seams are where pipelines lose information.

In my Terra work, the finding was not in any dimension. It was in the interaction between the seigniorage mechanism and the exit liquidity assumptions of the largest holder. Neither the monetary section nor the market section contained the result. The result was a simulation that crossed both, run against historical depth, and the output was that the system required unbounded marginal demand to maintain a constant peg. That is a statement about arithmetic, not about the team, the vesting schedule, or the roadmap.

If a category can be filled without any of the other eight contributing, then the categories are not a system. They are a filing cabinet. Filing cabinets are useful for retrieval. They are not useful for discovery. Discovery happens when two facts that live in different drawers turn out to share a variable.

So the null report is the second failure mode, but there is a worse one waiting: a fully populated nine-dimension report with no cross-dimensional finding whatever. That report looks excellent. It has no seams. It has no findings either.

Now the part where the bulls are right, and where I have had to revise my own position.

The null report is not a scandal. It is a correctly functioning control. Of everything that crossed my queue that quarter, it was the one artifact with a zero percent probability of containing a false claim. The fund that shelved it did the right thing. The analyst who asked whether we could fill it in asked the wrong question, but they asked it before filling it, which is meaningfully better than the version of that analyst who fills it and asks nothing.

There is a second, less comfortable point. The nine-dimension null template and the forty-page human-authored sector report are the same document with different typography. Both have the same headings. Both have the same table structures. One has blanks and one has adjectives. The adjectives were supplied by the author's priors, which were supplied by the same sector medians that the pipeline would have hallucinated, which were supplied by other reports built on the same priors. The pipeline did not introduce the circularity. It just stopped hiding it. An empty table is a more honest artifact than a table of consensus estimates wearing a citation.

Which leads to the conclusion I did not expect to reach. The market is correct to ignore null reports. Not because the null reports are worthless — they are the most honest documents produced — but because there is nothing to trade on. There is no mispricing to exploit. The information that a project discloses nothing is embedded in the price the moment the raise closes, because the raise itself required the disclosure of nothing. Price discovery at the null end of the disclosure spectrum is efficient.

The inefficiency lives in the middle of the spectrum, where a project discloses four of nine dimensions and the narrative implies nine. That is where the next loss is. Not in the empty report. In the partially filled one, where the four disclosed dimensions are genuinely good and the five missing dimensions are assumed to be equivalent, and where the assumption holds for two quarters before the vesting cliff arrives.

The question to ask any research desk in 2026 is not how many dimensions it covers. Coverage is a property of the template. The question is: show me the information point list.

If the list is empty, the correct answer is the null report, and the null report should be published as a finding rather than filed as an error. If the list is non-empty, its length is the only honest measure of how much work was done. Everything downstream of that list is mapping, and mapping can be automated, outsourced, or rendered by a model without changing the answer.

I will be watching two things over the next four quarters. First, whether any major allocator begins publishing null reports as a category, which would be the first real accountability mechanism this industry has built — more consequential than any disclosure regime, because it is enforced by embarrassment rather than statute. Second, whether the projects currently producing empty disclosure surfaces at nine-figure valuations are still producing them after their unlock events.

My prior is that the first will happen quietly and be treated as a process note. My prior on the second is that the surfaces fill in about eleven days before a cliff, and the newly disclosed trust model will have been in place since the raise.