SmugCalls · research

A dead lending market doubles every month. The API reports it as $6.7 billion.

Morpho's public API says $27,786,508,296 is borrowed across its markets. Throw away every market whose borrow rate is above 1,000% a year and $4,752,869,523 is left — which matches DefiLlama's on-chain figure of $4,818,788,694 to within 1.4%. The missing $23bn is not money. It is compound interest accruing on loans that will never be repaid, in markets that have been dead for a year.

Smug
$27.79bnborrowed, according to the API
$4.75bnleft after removing markets at the rate ceiling
$4.82bnDefiLlama, computed from chain balances

Two methods that share no code agree to 1.4%. That is the whole argument. Everything below is just showing where the other 83% comes from.

What a market looks like when it dies

A Morpho market is a pair: one collateral asset, one loan asset, one liquidation threshold. When the collateral collapses, borrowers stop repaying — there is nothing to reclaim. Lenders withdraw whatever liquidity is left, and utilisation climbs until it hits exactly 100%. At 100% the interest rate model does what it is designed to do: it raises the borrow rate to punish the imbalance and attract new deposits. Nobody deposits, because everyone can see what happened. So the rate stays at its maximum, and the accounting balance compounds against it, forever.

Here is one. K/USDC on Arbitrum, created 7 May 2025, borrow rate 297,995.8% APY, utilisation 100.00%:

2025-07-05  $        2,114,661
2025-09-05  $        4,733,925
2025-12-07  $       27,582,080
2026-03-10  $      177,539,101
2026-06-11  $    1,147,212,367
2026-09-01  $    6,762,590,894

It roughly doubles every month. Left alone it will read about twenty trillion dollars a year from now, and that will be just as meaningless as $6.7bn is today. The Morpho Blue contract on Arbitrum holds $900,323 of USDC in total.

Fifty-five markets sit at that ceiling. Together they account for $23,033,638,773 of reported borrowing.

It is not only a dashboard number

The compounding is written into the vault contracts too. Adpend USDC on Ethereum (0x5555…5555) is an ERC-4626 vault. Called directly on chain, totalAssets() returns 214,731,602 USDC against totalSupply() of 453,037 shares. That is 474 USDC per share, where a healthy USDC vault sits near 1.00. Its neighbours read 479, 149 and 145.

Of $1,972,522,586 in reported vault TVL, $337,774,049 — 17.1% — is this kind of paper, spread across nine vaults.

The fair part, which matters

Morpho is not hiding any of this. Every one of the fifty-five markets is returned with listed: false, and every single one carries at least one warning in the same response — not_whitelisted on all of them, plus bad_debt_unrealized, oracle_unusable or sustained_low_liquidity on most. Markets at the ceiling carrying no warning at all: zero. All nine affected vaults are unlisted too, so they do not appear in the curated interface.

The flags are in the payload. Anyone who sums the payload without reading them gets a number 5.8× too large, and that is the consumer's mistake, not the protocol's.

Which leaves the part that is actually interesting.

The ceiling is the story

Defaulted markets are not rare. We pulled every lending pool DefiLlama tracks — 2,458 of them, seventeen protocols — and found 24 markets outside Morpho sitting at 99.9%+ utilisation with real money in them. They are harmless. Euler's AUSD market on Avalanche holds $7.96m at 0.2%. Save's KHAI market on Solana holds $1.98m at 14%. They sit still.

What separates them is not how often they fail. It is how much a single failure costs, and that is set by one number: the highest rate the interest model will charge.

Venus
×20
ceiling 1,867.9% APY
Moonwell
×7.0
ceiling 595.8% APY
Euler v2
×4.0
ceiling 300.0% APY
Kamino
×1.4
ceiling 35.8% APY
Morpho, as DefiLlama reports it
×1.4
ceiling 35.6% APY
Morpho, as Morpho reports it
×2,980
ceiling 297,995.8% APY

Highest borrow rate observed per protocol, and what it does to a stuck balance over one year. Log scale. The same two sources disagree by 8,370× about the same protocol, because DefiLlama filters these markets out and Morpho's API does not.

The same accident that turns $1m into $4m at Euler turns it into $2.98bn at Morpho. Not because Morpho has more defaults — because its rate model has no meaningful ceiling.

Nothing to steal

An inflated ERC-4626 share price is normally an exploit primitive: post the share as collateral somewhere that prices it by convertToAssets(), borrow real money against paper. We checked. Across all 7,613 Morpho markets, the number that accept any of these nine vaults' shares as collateral is zero. Buying a share cheaply is not possible either — deposits mint at the inflated price, so you would pay $474 for it.

So this is not a hole. It is a measurement hazard, and it is worth exactly one habit: before you add up somebody's API, look at what the rows are doing.


Check it yourself

# the phantom, in one query
curl -s https://blue-api.morpho.org/graphql -H 'content-type: application/json' \
  -d '{"query":"{markets(first:100,where:{borrowAssetsUsd_gte:100000})
      {items{state{borrowAssetsUsd borrowApy utilization}}}}"}'

# then sum borrowAssetsUsd twice: once for everything,
# once only for rows with borrowApy < 10. The gap is the phantom.

# and the reality check, no API involved:
cast balance --erc20 0xaf88d065e77c8cc2239327c5edb3a432268e5831 \
  0x6c247b1F6182318877311737BaC0844bAa518F5e --rpc-url https://arb1.arbitrum.io/rpc

Method notes

Smug
We publish the misses too

This is the same habit we apply to our own record: every call we made, including the six in ten that never doubled, hashed and timestamped on Bitcoin so it cannot be edited afterwards. Schema and licence at /data.html. Take it, republish it, argue with it — no permission needed.