Verification checklist

  • Read cash and total borrows at one block and compute utilization on the spot; do not trust a dashboard cache.
  • Write intended size S; if S is greater than half of available liquidity, do not call the displayed APY executable.
  • Replay S as a new supply, recompute utilization, and drop it through the public rate model; if the new rate is below 70 percent of the screenshot, report a range.
  • Split incentive APY from base interest; the cash screen applies only to the latter.

1. APY is a marginal rate, not a capacity guarantee

Most lending protocols write borrow rates as a piecewise function of utilization U = totalBorrows / (cash + totalBorrows). Compound’s interest-rate note puts slope, kink and jump into contract parameters. Less cash raises U, and supply APY rises with it. A high number on the panel is often the leftover after cash has already been borrowed thin — not a deep, copyable yield.

Writing “supply APY = 14.2%” as a research conclusion smuggles in two untested claims: that enough cash remains for a new deposit or borrow to clear at that rate, and that U will not fall the moment new money arrives. Neither is promised by the curve. This note covers base interest only — cash, borrows and utilization readable on-chain. Token incentives belong in the site’s APY-composition check and must not be folded into one total APY here.

2. Read cash, borrows and utilization at the same block

Start from the protocol’s reserve view, not a screenshot. On an Aave-style pool, call Pool getReserveData (or the equivalent) at one block for total debt and available liquidity. On a Compound-style market, read getCash and totalBorrows. Cross-check cash with the underlying ERC-20 balanceOf(pool) so the panel cannot count non-borrowable balances as TVL.

Compute U yourself. Do not reuse a cached “Utilization 98%”; the cache may be a minute old, and near the kink one percentage point of U moves the rate hard. If on-chain U and the panel differ by more than two points, keep the chain and write the block number. TVL is not cash. DefiLlama’s TVL notes usually include amounts already borrowed. The quantity that constrains a new clip is cash that can still be borrowed or diluted. Pairing TVL with APY is a units error: a stock used to endorse a marginal price.

3. Intended size must not exceed half of available liquidity

Any APY that enters a report must travel with an intended size S. The teaching screen is falsifiable: if S is greater than 0.5 × availableLiquidity, do not write the displayed APY as executable at that size. Half is not a physical constant. It leaves shock for remaining borrowers and later depositors. Beyond half, new money is already rewriting U, so the marginal rate no longer applies.

Hypothetical example: a high APY that fails the size screen
FieldOn-chain or teaching valueCall
Pool TVL120 million dollars (includes borrowed)Cannot endorse APY alone
Borrows / cash117.6 million / 2.4 millionU = 98%
Displayed supply APY14.2% (base interest)Marginal rate, not capacity
Intended size S10 million dollarsFails: greater than 0.5 × 2.4 million = 1.2 million
Executable write-upCite 14.2% only for clips far below 1.2 millionTen million becomes a post-shock range

The numbers are classroom values, not a live quote. A researcher who wants to write “we can deploy 10 million and earn 14.2%” fails the screen. The correct sentence is: 14.2% is meaningful for an increment far below 1.2 million dollars; 10 million first thickens cash, U falls, and APY walks back down the curve. The borrow side is the same. A strategy that needs to borrow 10 million against 2.4 million cash is not executable at this block. Near the kink, liquidations and rate jumps can thin cash further within a few blocks, so the record must carry a block number and a timestamp.

4. New money lowers utilization and the subsequent rate

A new supply adds cash and lowers U; a new borrow removes cash and raises U. Rate curves often steepen around an optimal utilization, commonly 80–90 percent. Extrapolating 14.2% to “another 10 million still earns 14.2%” assumes U is unchanged after the deposit. That is accounting nonsense.

The check is a reverse trial: treat S as new supply, set U' = borrows / (cash + S + borrows), and drop U' through the public rate model. If APY' / APY is below 0.7, the screenshot rate is size-fragile and the write-up should be a range, not a point. Use documented slopes, not a dashboard spline that cannot be replayed. A failed trial does not mean the protocol is broken. It means the screenshot does not represent the size the researcher intends to use. The error is the same as treating DEX TVL as quote depth: a stock asked to endorse a marginal price.

5. Split incentive APY and keep a replayable record

Panels often add base supply interest to an annualized token reward and print one total APY. The incentive leg depends on emission, token price and whether the reward is sold on receipt; it moves far more than the utilization curve. The cash screen applies only to base interest. Incentive APY must sit on its own line with a price timestamp. If incentives are more than half of the displayed total, do not call the total a stable lending yield even when cash is ample.

A minimum record includes chain ID, block number and hash, reserve or cToken address, raw getCash or availableLiquidity, totalBorrows, computed U, panel APY, incentive split and price time, intended size S, whether 0.5 × cash passed, and post-trial U' and APY'. Store calldata or the query string so two refreshes are not spliced into one row. Read the site’s APY-composition note first, then apply this cash screen to the base leg. Reverse that order and an unexecutable size lands in the conclusion.

6. APY is a price; available liquidity is capacity

The weak sentence is “this pool yields 14% and TVL is large, so we can deploy”. A useful one is “U; cash C; coverage of size S versus C/2; APY' after the trial”. APY answers the price of the next unit. Available liquidity answers how much capacity that price still has. Missing either, a high yield is an unverified screenshot.

This is a research framework with hypothetical calculations, not a quality opinion on any lending protocol, and not investment advice.