Skip to content

AI analysis

Crypto TVL vs net deposits: what changed?

Reconcile a $44,000 TVL increase with $64,000 of price-adjusted asset additions and $60,000 of event-valued net deposits, then audit repeated receipt claims.

A magnifying lens enlarges ivory stones in a ceramic bowl, with one lime stone outside against black.
Illustration for ai analysis; examples in this article are educational.

Crypto total value locked (TVL) is the dollar value of assets included in a protocol at a particular time. Net deposits measure additions minus withdrawals over an interval. TVL can rise from higher asset prices without new deposits, while positive deposits can coincide with falling TVL. Reconcile token quantities, valuation prices and counting rules before calling a TVL change an inflow.

A claim that “TVL grew 15%” leaves an important question unanswered: what changed? More tokens may have arrived, existing tokens may have appreciated, or the dashboard may have started including another contract. Those explanations describe different events. A useful growth analysis builds a bridge between two asset inventories instead of treating the headline difference as money deposited.

For a simple hypothetical price-only move, an unchanged 100 ETH inventory rises from $200,000 to $220,000 when ETH moves from $2,000 to $2,200. TVL grows 10%; net deposits are zero.

Separate the stock from the flow

TVL is a stock measured at a snapshot. For every included asset, multiply its quantity by its matching dollar price, then sum the values. Net external deposits are a flow: deposits crossing the chosen boundary minus withdrawals during a stated interval. Their dollar value also needs a pricing convention.

DefiLlama's documented USD Inflows metric uses each asset's balance change between consecutive days, multiplied by an asset price, then adds those values. This removes direct price changes from the unchanged inventory. The documentation does not specify every price timestamp, so a reproduction must establish that detail separately. DefiLlama data definitions.

Keep three measures distinct:

MeasureQuestion it answersEvidence needed
TVL changeHow much did the included inventory's marked value change?Two inventories and their snapshot prices
Price-adjusted balance changeHow much did token quantities change at a chosen set of prices?Matched asset identities, quantities and valuation convention
Event-valued net depositsWhat was added minus withdrawn, valued when each event occurred?Classified deposit and withdrawal events with event-time prices

The last two can differ even with perfect data. A deposit made before a price rise is worth more at the ending snapshot than it was when deposited.

Reconcile a $44,000 increase in TVL

This example is entirely hypothetical. A fictional protocol holds ETH and token B. Stipulate that B stays at $1; this is an example assumption, not a promise about stablecoin pegs. There are no swaps, rewards, interest, fees, contract migrations or changes in the included asset set.

Record the two snapshots:

AssetOpening quantityOpening priceEnding quantityEnding price
ETH100$2,000120$1,800
B100,000$1128,000$1

Opening TVL is 100 × $2,000 + 100,000 × $1 = $300,000. Ending TVL is 120 × $1,800 + 128,000 × $1 = $344,000. The increase is $44,000, or 14.67% rounded. That does not establish $44,000 of deposits.

Build an exact two-part bridge. First reprice the opening inventory at ending prices. Then value the quantity differences at those same ending prices:

  • Opening-inventory price effect: 100 × ($1,800 − $2,000) = −$20,000. B contributes zero.
  • Quantity effect at ending prices: 20 × $1,800 + 28,000 × $1 = $64,000.
  • Reconciliation: $300,000 − $20,000 + $64,000 = $344,000.

The protocol gained assets while ETH depreciated. Its $44,000 TVL increase understates the $64,000 ending-price value of the added quantities.

This split is an accounting convention. It assigns the interaction between changing prices and changing quantities to the quantity effect by valuing additions at ending prices. An opening-price convention produces different components but must still reconcile to the same total. Label the convention when comparing reports.

The same discipline applies to crypto market cap versus FDV: a multiplied dollar total can change because either input changed. Here the quantity is protocol inventory, rather than a token's circulating or broader supply count.

Reconcile the deposit events separately

Now reveal the fictional protocol's transaction history. ETH first falls to $1,600. All four events below occur while ETH is $1,600 and B is $1. ETH then recovers to the $1,800 ending price.

EventETH movementB movementEvent-time dollar value
Deposit+300+$48,000
Withdrawal−100−$16,000
Deposit0+40,000+$40,000
Withdrawal0−12,000−$12,000
Net+20+28,000+$60,000

Gross deposits total $88,000 and gross withdrawals total $28,000. Event-valued net deposits equal $60,000. Quantities reconcile to 120 ETH and 128,000 B, as required by the ending snapshot.

The ending-price quantity measure was $64,000 because the net 20 ETH is valued at $1,800 instead of its $1,600 event price. The $4,000 difference is 20 × ($1,800 − $1,600). Neither total is an arithmetic error; they answer different valuation questions.

The operational timeline also reconciles. Before any flows, the ETH decline reduces TVL from $300,000 to $260,000. Net deposits bring it to $320,000. The subsequent $200 recovery across all 120 ETH adds $24,000, producing $344,000. A real ledger needs individual event timestamps and prices rather than this deliberately simplified shared event price.

For a separate sensitivity, replace the ending ETH price with $1,400 while retaining the same flows and ending quantities. Ending TVL becomes $296,000, a $4,000 decline despite positive net deposits. Price movement can reverse the headline's direction.

Netting also hides activity. A hypothetical period with $1 million deposited and $1 million withdrawn has zero net deposits, just as a period with no flows does. The operational turnover and participant behavior can be very different. A net figure alone cannot establish how many users arrived or whether existing users stayed.

Classify quantity changes before calling them deposits

The clean example excluded several mechanisms that matter in real protocols. A higher token balance can come from earnings or a changing claim, and a lower balance can come from protocol operations rather than a user withdrawal.

Aave V3 provides one documented example: an aToken holder's reported balance includes principal and accrued yield, and the balance increases as yield accrues. If an analyst tracks that receipt balance elsewhere, its increase must be separated from new contributions. This describes the receipt token's mechanics, not how every TVL provider values Aave. Aave V3 tokenization documentation.

Lido illustrates the opposite representation. A wstETH balance stays unchanged across oracle reports while its value in stETH changes. Measuring wrapper units and measuring their underlying claim therefore produce different quantity histories. Preserve the conversion rate and unit definition beside the snapshots. Lido wstETH contract documentation.

Other cases need an explicit classification:

  • A pool swap changes the reserve mix. The incoming swap leg is not automatically a liquidity-provider deposit. For LP inventory changes, use the position accounting explained in impermanent loss versus holding.
  • Moving assets from an old contract to a replacement can look like a withdrawal and deposit at contract level. At a consolidated protocol boundary, the transfer may be internal.
  • Newly indexed contracts can increase reported inventory without a deposit during the measurement window. Retain the adapter or methodology version and compare a consistent asset set.
  • A missing price is missing evidence. Replacing it with zero can create a false outflow when coverage disappears and a false inflow when it returns.

When these adjustments cannot be supported, describe the result as a price-adjusted balance change and leave external net deposits unresolved.

Remove repeated claims before aggregating protocols

Suppose, in a separate hypothetical example, a user deposits 100 ETH worth $200,000 into protocol A and receives 100 receipt units, each representing one ETH. The user deposits those receipts into protocol B. Assume full backing, unchanged prices and no other assets or flows.

A naive addition reports $200,000 in A plus $200,000 in B: $400,000. The look-through underlying asset total remains $200,000. No extra 100 ETH entered the combined system when the receipt moved to B. Two contracts now participate in the claim chain, which can matter for dependency risk, but adding both values measures repeated exposure to the same backing.

DefiLlama documents double-counting treatment for receipt or LP tokens reused across protocols, with dashboard toggles affecting aggregate inclusion. Check those settings before adding figures from protocol pages into a chain total. DefiLlama aggregation definitions.

Scope matters beyond receipts. DefiLlama's inclusion guidance separates categories such as staking, Pool2 and borrows rather than treating every displayed figure as the same TVL measure. A comparison must preserve its chosen filters across both dates. DefiLlama TVL inclusion guidance.

Use staking ratio and liquid supply when the question concerns tokens committed to staking. A staking statistic and a DeFi TVL total have different boundaries, even when both are expressed in dollars.

Use a reconciliation worksheet before publishing a claim

Save enough evidence to explain the change again after the live dashboard updates.

Worksheet fieldValidation step
Measurement boundaryName protocol, chain, contracts and included categories
Snapshot pairRetain timestamps or block numbers and the source version
Asset inventoryMatch contract identifiers, decimals, wrapper units and underlying conversions
Valuation inputsRecord quote currency, price source and price timestamps
Deposit ledgerSeparate gross deposits, gross withdrawals and internal transfers
Non-deposit movementsIdentify accrued earnings, swaps, liquidations, migrations and coverage changes
Recursive claimsTrace receipt backing and state the aggregation rule
ReconciliationExplain the entire TVL difference; label any residual as unresolved

First recompute both snapshots. Then calculate the declared price and quantity bridge. Where transaction data exists, reconcile quantities to classified events and explain the difference between event-valued flows and snapshot-valued changes. Investigate residuals before assigning them to “organic growth.”

Finally, match the conclusion to its evidence. TVL is not protocol income: DefiLlama defines fees and revenue separately, with revenue excluding the portion allocated to suppliers of capital or resources. DefiLlama fee and revenue methodology. Deposit growth also does not by itself establish more independent users, durable demand or security. Concentrated capital can move between addresses and protocols without creating new outside funding for the combined system.

Nor does an asset total establish the completeness of liabilities or solvency. That is a separate accounting question addressed in proof of reserves versus solvency.

Keep three numbers beside the final claim: the TVL change, the price-adjusted quantity change and, when verified, event-valued net deposits. State the boundary and valuation convention in the same sentence. If the event ledger is missing, publish the narrower balance-change conclusion that the evidence supports.

Keep the context with the example.

Each worked example is illustrative, with its sources and assumptions in the article. Read our editorial standards for authorship, verification and corrections.