Curriculum·G101 Querying On-Chain Data·about 30 min
What a query cannot tell you
By the end of this lesson you can
- →State the boundary of on-chain querying: it shows assets and flows, not liabilities, intent, or off-chain facts
- →Explain why post-FTX proof of reserves showed assets on-chain and still could not prove solvency
- →Compute why reserves without liabilities is only half a balance sheet, and how a snapshot can be dressed
- →Pair an on-chain query with the off-chain information it needs before drawing a conclusion
Graduate · enrolled learners
This lesson opens with Proof of reserves after FTX, late 2022.
- What happened
- After FTX collapsed, exchanges rushed to publish proof of reserves: lists of wallets and signatures showing they controlled on-chain assets at customer scale. It was meant to reassure, and read carelessly it did. But analysts and cryptographers, including Ethereum's Vitalik Buterin, set out the missing half: a proof of solvency needs a proof of assets and a proof of liabilities, the total of customer deposits, which the chain does not hold and which has to come from the exchange's own records, for example as a Merkle tree of customer balances. Wallets alone show assets and say nothing about liabilities, so an exchange can prove it holds a billion dollars while owing customers two billion, and the on-chain query cannot see the difference. Worse, a reserve snapshot can be dressed: Kraken's own disclosure says a proof of reserves cannot prove funds were not borrowed to pass the review, and Buterin warned that exchanges could shuttle the same collateral between each other, so that the wallet looks full at the instant measured. Every reserve number was a true on-chain fact and none of them, alone, proved solvency, because solvency is assets minus liabilities and the chain shows only the first term.
- The decision point
- Proof of reserves is the clean statement of this course's boundary. The query was honest: those wallets really held those assets at that block. The conclusion people drew, therefore the exchange is solvent, did not follow, because the thing that decides solvency, what the exchange owes, lives off-chain and no query can retrieve it. This is the fourth and final skill of learning to query: knowing exactly what the answer does and does not cover. The chain shows what an entity holds and what has moved; it does not show what it owes, why it acted, or what it agreed off-chain, and a snapshot can be arranged for the moment it is taken. An analyst who stops at the on-chain half and reports solvency has overstated the evidence. The discipline is to state the query's answer precisely and name the off-chain information still required before any conclusion rests on it.
What you will be able to answer
- →Why can't proof of reserves prove solvency?
- →How can a reserve snapshot be dressed?
- →What does an on-chain query fundamentally not show?
- →How do you report a query's result honestly?
Orientation and Year One are open: anyone can read them without an account. From Year Two onward the lessons are for enrolled learners, because progress through the later years only means anything if it is tracked against a record.
It is free. We do not sell the list and there is nothing to buy at the end of it.
Sources and review
- https://vitalik.eth.limo/general/2022/11/19/proof_of_solvency.html
- https://www.kraken.com/proof-of-reserves
- https://www.coindesk.com/learn/proof-of-reserves-could-it-have-prevented-the-ftx-meltdown
Confidence high·Volatility medium·Reviewed 2026-09-15·Owner unassigned
Contested
Proof-of-reserves methods vary. Buterin's post and Kraken's procedure pair a proof of assets (signatures over on-chain addresses) with a proof of liabilities (a Merkle sum tree of customer balances taken from the exchange's records) to approach a solvency proof, which addresses part of the critique; the liabilities side still rests on records the chain does not hold, and Buterin notes fiat holdings can only be attested by banks and auditors. The lesson's point is that on-chain reserves alone do not prove solvency, which holds regardless of method.
The snapshot-dressing concern is documented by both sources: Kraken says the procedure cannot prove that funds had not been borrowed for purposes of passing the review, and Buterin calls collateral dual-use, exchanges shuttling collateral back and forth to do proof of reserves, something exchanges could easily do. It is a critique of point-in-time attestations, not an accusation against a specific exchange here.
