Two revenue figures crossed my terminal this week. Both came from companies that build frontier AI models. Both were labeled "revenue." Neither was wrong. Neither was comparable. And a market full of investors is now pricing initial public offerings against numbers that describe two different universes.
One lab counted every dollar that flowed through its cloud partners' billing systems — the gross figure, before the infrastructure provider took its cut. The other counted only what survived after the cloud partner's margin was subtracted — the net figure. Strip the branding away and you are left with a single sentence that should terrify anyone allocating capital into this sector: the two headline numbers cannot be placed on the same axis without lying to yourself about what you are measuring.
This is not an accounting footnote. This is a structural failure I have watched repeat across three cycles, in a different industry, with a different asset class, and with the same human reflex at the center of it. The reflex is simple: when the honest number is inconvenient, redefine the number. Code does not lie, but it does leave traces. And the traces here point somewhere uncomfortable — not at AI, but at the entire pre-public valuation machine, and at the crypto industry's own hypocrisy in pretending it has solved this problem.
The mechanism nobody defines
Start with the plumbing, because the headline argument is downstream of plumbing.
An AI lab that distributes its models through a hyperscaler — say, through a managed model marketplace inside a major cloud — does not collect the customer's dollar directly. The cloud provider collects it, keeps a platform margin, and remits the remainder. That platform margin is typically quoted somewhere in the twenty to thirty percent range, though the exact figure is negotiated per contract and never disclosed. The lab now has a choice about how to describe what it "earned."
It can report gross: the total value of transactions that touched its models, regardless of who physically billed the end customer. Or it can report net: only the portion that settled into its own accounts after the cloud's take.
The gap between those two numbers is not small. On a billion dollars of gross transaction value, a twenty-five percent platform margin produces a two-hundred-and-fifty-million-dollar divergence between the gross and net descriptions of the same underlying economic activity. Two companies running identical businesses can publish revenue figures that differ by a quarter, and both can defend the figure in front of an auditor.
Now layer on a second axis: timing and recognition. Annual recurring revenue — ARR — is a forward-looking, contract-based metric. GAAP revenue is a backward-looking, delivery-based metric. A company can have a spectacular ARR number and a mediocre GAAP number in the same quarter, and both are true, and the difference is the entire basis of the valuation argument that follows.
Then layer on the third axis, which is the one that rarely gets named: non-cash consideration. When a hyperscaler invests in an AI lab, the deal frequently includes compute credits — cloud capacity granted as part of the investment. The lab receives hundreds of millions of dollars of usable infrastructure without a cash wire moving. Whether that value is counted as revenue, as a discount, as a contra-expense, or as nothing at all is a choice. And it is a choice made by the company that benefits most from the answer.

I have seen this exact pattern before, in a place that was supposed to be immune to it.
The 2020 fork that taught me to read revenue models like code
In the summer of 2020, I took five thousand dollars and deployed it across two DeFi protocols. I was not farming yield for the returns. I was farming the mechanism. I forked the source code of a lending protocol onto a local node because I wanted to understand how the interest rate model actually moved capital — not how the dashboard described it, but how the contracts computed it.
What I found was a lesson that applies directly to what is happening in AI finance right now. The interest rate a borrower saw on the interface and the interest rate the contract charged were related but not identical. The difference lived in the reserves, in the utilization curves, in the timing of accrual. Anyone reading the interface believed one story. Anyone reading the code read another. The protocol was not lying. It was simply allowing the observable metric to diverge from the economic reality, because the divergence was convenient for growth.
I wrote a series about it called "The Math of Madness," and the central thesis was this: yield is a symptom, not the cure. The yield number tells you that something is happening underneath. It does not tell you whether that something is sustainable. You have to open the machine to know that.
Revenue is now behaving exactly like yield did in 2020. It is a symptom dressed as a fact. The gross figure is the flashy APY on the dashboard. The net figure is what the contract actually credits to your account. And the investors pricing an IPO off the dashboard number are making the same mistake the yield farmers made in the last week before a pool collapsed.
What the comparability trap actually costs
Here is why the accounting detail matters more than the accounting profession wants you to believe.
Pre-IPO AI companies are, almost without exception, unprofitable. They are burning cash faster than they generate it, and the burn is enormous because training runs and inference costs scale with usage. When a company has no earnings, the valuation cannot rest on an earnings multiple, because there are no earnings. It rests on a revenue multiple — the price-to-sales ratio. The market takes the company's valuation and divides it by its revenue to get a number it can compare against peers.
Revenue is the denominator of that ratio. And the denominator is the number under dispute.
If one company reports gross and its competitor reports net, the gross company looks cheaper per dollar of revenue than it actually is. Its P/S multiple is artificially compressed, which makes its valuation look more reasonable than a like-for-like comparison would justify. The net company looks more expensive, because its denominator is smaller, even if its underlying economics are identical or better.
This is not a subtle distortion. It is the single most important number in the valuation conversation, and it is being defined differently by each party with a direct financial interest in the definition. In the red, we find the structural truth: the disagreement over revenue recognition is not a disagreement about facts. It is a disagreement about which fact should be allowed to govern the price.
The investors who understand this will reconstruct both companies on a single basis before they commit capital. The investors who do not will buy the gross number, discover the net number after the lockup expires, and absorb the repricing. The information asymmetry is not between insiders and outsiders in the traditional sense. Both sides have the same press release. The asymmetry is between people who know the denominator is a choice and people who assume it is a measurement.
The governance problem hiding inside the accounting problem
Strip the finance jargon away and what remains is a governance failure. Governance is the art of managing disagreement — and the AI industry has chosen not to manage this disagreement at all. It has chosen to let each participant define its own terms and hope the market does not notice the seams.
In 2024, I was hired to design a governance framework for a mid-sized DAO. The central problem was whale dominance: a small number of large holders could determine every vote, which made the "decentralized" label a legal fiction. I implemented a quadratic voting mechanism, tested it on a private testnet with five hundred simulated voters, and measured a forty percent increase in minority participation. The proposal was adopted.
The lesson I took from that work was not about voting math. It was about the precondition for any honest governance system: you cannot govern what you refuse to measure consistently. A DAO that lets each member define "participation" however they prefer has not decentralized decision-making. It has abolished it, while keeping the ritual.
That is precisely what the AI labs have done with revenue. They have kept the ritual of quarterly reporting while abolishing the shared standard that makes reporting meaningful. The number is published. The number is audited, in some cases. But the number is not commensurable with the number next to it, and a market that cannot commensurate its inputs cannot price its outputs.
The crypto industry should recognize this instantly, because we invented the problem.
The transparency theater we do not want to name
Here is where I have to turn the audit light on my own house, because the crypto industry's reaction to the AI revenue story has been a chorus of self-congratulation that does not survive contact with reality.
The reflexive crypto take is that this could never happen on-chain, because on-chain data is transparent and verifiable. Every transaction is public. Every balance is queryable. The blockchain does not have a gross-versus-net problem, because the ledger records what actually moved.
That take is wrong in the way that matters.
On-chain transparency solves the settlement layer and almost nothing above it. It tells you that a token moved from address A to address B. It does not tell you what that token represents, whether the transaction is revenue or a wash, whether the entity behind the address is a customer or an affiliated market maker, or whether the "total value locked" being reported counts the same collateral twice across two protocols.
I have spent the last year building a verifiable compute layer that connects decentralized oracles to AI agents, and I personally audited the zero-knowledge proof circuits to make sure no backdoor existed. The entire purpose of that work was to make AI outputs provable on-chain. And the hardest problem we faced was not cryptography. It was agreeing on what the proof was supposed to attest to. A ZK proof can verify that a computation was executed correctly. It cannot verify that the thing you chose to compute was the thing that mattered. The proof is honest about a question you selected, and the selection is where the manipulation lives.
This is the same structure as the AI revenue dispute, just expressed in a different language. The gross-versus-net choice is a selection. The ARR-versus-GAAP choice is a selection. The compute-credit treatment is a selection. Each one is a decision about which question to answer, and each one is made by the party that benefits from the answer. Verifying the answer does not fix a rigged question.
Trust is verified, never assumed. But verification is only as honest as the scope you agreed to verify.
Why the cloud dependency is the real root cause
If you want the technical root cause rather than the accounting symptom, follow the compute.
Anthropic-class labs distribute primarily through cloud marketplaces. That means their revenue physically flows through infrastructure they do not control, billed by partners who take a margin and set the terms of the customer relationship. The lab's "revenue" is therefore a function of a partner's billing system, a partner's margin, and a partner's disclosure choices.
The OpenAI-class labs run a consumer platform directly while also distributing through a cloud partner. They have one foot in direct billing and one foot in pass-through. That mixed structure means their revenue recognition is a blend of gross and net depending on which channel a given dollar came through — and the blend ratio is itself undisclosed.
So the two companies are not just using different accounting policies. They are running structurally different revenue architectures, and then reporting the outputs as if they were the same kind of number. The cloud dependency is upstream of the accounting difference. Fix the accounting and you still have the architectural divergence. The denominator problem is a symptom of the distribution problem.
This is the same causal chain I traced in 2022 when I spent three weeks reverse-engineering the incentive structure of a lending protocol that had collapsed. The de-pegging was not the disease. The disease was a risk concentration that the incentive design had hidden inside a yield number everyone found attractive. I published the breakdown as "The Illusion of Yield," and the argument was that centralization of risk destroys the core value proposition of a trustless system, no matter how decentralized the surface looks.
The AI revenue situation is the illusion of yield wearing a different costume. The attractive number — the big gross revenue figure — is the yield. The structural risk — the undisclosed pass-through dependency and the uncomparable denominator — is the concentration. And the investors buying the yield without reading the structure are positioned exactly where the Anchor depositors were in the spring of 2022.
The contrarian read: this is not an AI problem
Here is where I will contradict the consensus framing, because the consensus framing is comfortable and therefore suspect.
The popular interpretation of this story is that it reveals something uniquely broken about AI companies. That is flattering to everyone who is not an AI company, which is the first sign it should be distrusted.
The revenue recognition divergence is not an AI pathology. It is the default behavior of any capital-intensive industry approaching a liquidity event. SaaS went through the identical fight over billings versus revenue. E-commerce went through it over gross merchandise value versus net revenue. Ride-hailing went through it over bookings versus recognized revenue. The pattern is invariant: when a sector has no standardized metric and a public offering on the horizon, each participant selects the metric that maximizes its narrative, and the market discovers the inconsistency only after the capital has been raised.
AI is not special. AI is simply the latest and largest instance of a mechanism that predates it by decades.
The deeper contrarian point is about the crypto industry's proposed solution, which is to put everything on-chain and declare the problem solved. That proposal misunderstands the problem. The problem is not that the data is hidden. The problem is that the data is defined inconsistently. On-chain reporting does not fix inconsistent definitions. It simply makes the inconsistent definitions permanently visible, which is worse in one specific way: it creates the illusion of rigor while preserving the underlying ambiguity.
We already have a working demonstration of this in our own industry. On-chain metrics are public, and yet the sector spent years debating what "active users" meant, what "TVL" meant, what "real yield" meant. Every one of those debates was a gross-versus-net debate wearing a crypto costume. The transparency did not resolve the debate. It just gave everyone a shared dataset to disagree about.
If the AI labs adopted full on-chain reporting tomorrow, the gross-versus-net dispute would not disappear. It would simply migrate from a press release into a smart contract, where it would be harder to challenge because it would look like objective fact. Stability is a bug in a volatile system. A metric that never changes definition is not a good metric. It is a metric that has stopped responding to reality.
What the standard-setters will do, and why it will not be enough
The historical pattern suggests where this goes. The sector will get a standard, eventually, and the standard will arrive through one of three doors.
The first door is regulatory. If a company files for a public offering, the securities regulator requires disclosure of non-GAAP metrics and reconciliation to GAAP. That requirement does not eliminate aggressive metrics. It forces them into the open, which is a partial fix. The manipulation does not stop. It becomes auditable, which is different and better but not sufficient.
The second door is investor pressure. Once a large enough allocator gets burned by a denominator it did not understand, the demand for comparable reporting becomes a condition of participation. This is slow and uneven, and it punishes the first movers who were honest and rewarded the ones who were not.
The third door is industry self-regulation, the way the SaaS world eventually converged on a shared definition of ARR. This is the most likely outcome and the least satisfying, because self-regulation is written by the parties being regulated, and it tends to bless the metric that the largest players already use.
None of these doors produce a clean result. All of them produce a partially standardized mess that future analysts will reconstruct by hand, the way I reconstructed the interest rate model on a local node in 2020. The market will not be given a clean denominator. It will be given a denominator with footnotes, and the people who read the footnotes will have the edge over the people who read the headline.
We build frameworks, not just tokens. That line has always been about crypto, but it applies with full force here. The framework that matters in this moment is a reconciliation framework: a discipline of restating every reported number onto a single, self-consistent basis before allowing it into a valuation model. It is not glamorous work. It is the work that separates the allocators who survive a repricing from the ones who fund it.
The forensic checklist I actually use
When I see a revenue number from a company with a public offering on the horizon, I run it through a fixed set of questions. This is the same discipline I applied to smart contracts during the 2017 audit sprint, when I manually reviewed an exchange contract and found three reentrancy vulnerabilities that the authors had missed. The vulnerabilities were not in the code's logic. They were in the assumptions the code made about the order of operations. Revenue recognition has the same failure mode: the number is not wrong, the assumption underneath it is.
First, is the figure gross or net of channel costs? If it is gross, subtract the platform margin and see what remains. If the company will not tell you the margin, assume the higher end of the range, because the higher end is the one that makes the net figure smaller and the comparison more honest.
Second, is it ARR or recognized revenue? ARR is a contract-based forward number. Recognized revenue is a delivery-based backward number. They answer different questions, and comparing one company's ARR to another's recognized revenue is a category error that inflates the forward-looking company.
Third, how is non-cash consideration treated? If a hyperscaler's investment included compute credits, find out whether those credits entered the revenue line. If they did, you are looking at a figure that includes value the company never received in cash and may never monetize at face value.
Fourth, is the channel partner double-counting? If the cloud provider reports revenue from the same transactions that the AI lab reports as its own revenue, the same dollar is being counted twice across two sets of financial statements. This is the most dangerous version of the problem, because it inflates the apparent size of the entire sector, not just one company.
Fifth, what happens to the ranking under a forced GAAP restatement? If the two companies swap places when you apply a consistent standard, then the current ranking is a narrative artifact, not an economic fact. That is the single most important test, and it is the one the press release will never answer.
Logic flows where emotion follows the data. The emotion in this market is attached to the headline number. The logic is attached to the restated number. They are not the same number, and only one of them will still be true after the offering prices.
The information-quality problem in the reporting itself
The story reached me through a crypto-native outlet, and the reporting itself is part of the evidence. The headline promised a comparison of two companies' revenue recognition practices. The body delivered no figures, no definitions, no quantification of the divergence. It did not say whether the difference was gross versus net, ARR versus GAAP, or something else entirely. It did not name which company used the more aggressive standard. It used the neutral phrase "count revenue differently" and left the reader to imagine what that meant.
This is itself a data point about the state of disclosure in this sector. A financial story about revenue recognition that contains no revenue figures is not a financial story. It is a signal that the underlying information is opaque enough that even the reporters covering it cannot get the numbers, and have settled for describing the fog.
I do not fault the outlet for that. I fault the reader who treats a headline about an accounting divergence as if it were an accounting disclosure. The gap between what the title claims and what the body delivers is the same gap as the one between gross and net revenue: a promise of precision that the substance does not honor.
Audit the code, not the hype — but also audit the reporting, because the reporting is where the hype gets its first foothold.
What I would actually watch
The useful question is not which company is bigger. The useful question is which direction the disclosure standard moves, and how fast.
If the sector converges on a shared, restated basis within the next few quarters, the comparability trap closes and the IPO pricing becomes marginally more honest. If it does not, the trap stays open, and the first major AI offering will price against a denominator that a meaningful fraction of the buyers do not understand. That offering will be the event that forces the standard into existence, the way the first major DeFi exploit forced the industry to take audits seriously.
The pattern is always the same. The standard arrives after the damage, not before it. The people who built the reconciliation framework early are the ones who are positioned to profit from the repricing instead of absorbing it. The people who trusted the headline number are the ones who provide the exit liquidity for everyone else.
I have watched this movie three times now — in 2017 with contract assumptions, in 2020 with yield mechanics, in 2022 with incentive design. The set dressing changes. The plot does not.
Takeaway
The AI revenue dispute is not a scandal. It is a signal. It tells you that a sector on the verge of its largest liquidity events has not yet agreed on what its most important number means. That is not a reason to avoid the sector. It is a reason to refuse the sector's preferred denominator until you have rebuilt it yourself.
The blockchain industry will watch this unfold and tell itself a comforting story about how on-chain transparency would have prevented it. That story is false, and we should stop telling it. Transparency is not the same as commensurability. A fully public ledger of inconsistent definitions is still inconsistent. It is simply inconsistent in high definition.
The real work — the work that preserves individual autonomy against systems that would rather you accept their number than compute your own — is the unglamorous labor of reconciliation. Restate the gross to net. Restate the ARR to GAAP. Restate the credits to cash. Then look at what remains, and ask whether you would still pay the price.
The question worth carrying forward is not whether these two companies count revenue differently. It is whether you, holding your own capital, can count it the same way twice.