Dashboard · VantagePlanned

ETH Liquidation Levels on DeFi Lending Markets

At what ETH price would large amounts of DeFi lending collateral be liquidated?

How much ETH and BTC collateral on Aave, Spark, Compound and Morpho would become liquidatable at each price below the current one.

ShareEmail itvoltfincrypto.com/apps/eth-liquidation-levels
Blueprint

What the dashboard will show.

The dashboard as it will open in Vantage. Each figure is named here and arrives with its receipt; until its data is published, its place stays empty.

  • Collateral
  • Protocol
  • Chain

Levels

Collateral that becomes liquidatable at each price below the current one.

Price at the read block

USD

The oracle price of the selected asset at the read block, from AaveOracle and Chainlink.

Figurenative_prices_dailyAwaiting data

Liquidatable within a tenth

USD

Collateral that would become liquidatable if the selected asset fell by a tenth from its read-block price, other prices unchanged.

Figurelending_markets_dailyAwaiting data

Liquidatable within a fifth

USD

Collateral that would become liquidatable if the selected asset fell by a fifth from the same price.

Figurelending_markets_dailyAwaiting data

Positions within a tenth

count

Borrowing positions that would become liquidatable within a fall of a tenth.

Figurelending_markets_dailyAwaiting data

Liquidation map

USD

Collateral that becomes liquidatable at each price step below the current price, stacked by protocol.

Bar chartlending_markets_dailyAwaiting data

Cumulative collateral at risk

USD

Collateral liquidatable as the price falls, adding every step between the current price and each level.

Line chartlending_markets_dailyAwaiting data

Positions

Health factors and the largest positions behind the map.

Borrowing positions

count

Open borrowing positions with the selected asset as collateral at the read block.

Figurelending_markets_dailyAwaiting data

Debt against this collateral

USD

Debt owed by those positions, valued at the read block.

Figurelending_markets_dailyAwaiting data

Debt by health factor

USD

Debt grouped into health factor bands, from just above one to well collateralized.

Bar chartlending_markets_dailyAwaiting data

Largest positions

The largest positions by collateral: protocol, chain, collateral, debt, health factor and liquidation price.

Tablelending_markets_dailyAwaiting data

Collateral
ETH or BTC as the collateral asset
Protocol
Aave, Spark, Compound, Morpho or all
Chain
Every covered chain, or all chains
About

What it answers, and for whom.

Every borrowing position on a lending market has a price at which it can be liquidated, and because positions are public contract state, that price can be computed for every borrower at once. This dashboard computes it for positions backed by ETH or BTC on Aave, Spark, Compound and Morpho. It shows how much collateral would become liquidatable at each price step below the current one.

Read it as a map of where forced selling sits, not as a forecast. Borrowers can add collateral or repay at any time, so the map describes the moment of its read block. Positions whose collateral and debt move together, such as staked ETH borrowed against ETH, are kept apart, because a fall in ETH barely changes how close they are to liquidation.

Method

How it will be measured.

Every figure will be read at a block, kept with its source and its exact read, and open a receipt anyone can re-check.

How receipts work →
  1. Open positions are rebuilt from Supply, Withdraw, Borrow and Repay events on Aave v3 and SparkLend, and checked against Pool.getUserAccountData(user) at the read block.
  2. Compound v3 positions come from collateralBalanceOf and borrowBalanceOf per account with each asset's liquidateCollateralFactor; Morpho Blue positions from position(id, user) and the market's lltv.
  3. A position's liquidation price is the price of the selected asset at which its health factor reaches one, with every other price held at its oracle value at the same block.
  4. Prices come from AaveOracle getAssetPrice and Chainlink latestRoundData at the read block, and the collateral at each step is valued at that step's price.
  5. Positions with correlated collateral and debt, such as those in Aave's efficiency mode for ETH assets, are shown separately and left out of the main map.

The data it needs

Read from chain state and history

  • lending_markets_dailyTo buildLending marketsSupply, borrow, utilization and rates per lending market (Aave, Morpho, Spark, Compound, Euler and others) at day end.
  • liquidationsTo buildLiquidationsEvery liquidation on major lending markets and perp venues: collateral seized, debt repaid, liquidator, and the price at the time.
  • native_prices_dailyTo buildOracle prices by dayReference prices of major assets read from on-chain oracle feeds (Chainlink latestRoundData) at each day's last block, with each round's update time.
  • Aave v3 and SparkLend Supply, Withdraw, Borrow and Repay events to build open positions per user
  • Pool.getUserAccountData(user) health factor at a pinned block
  • PoolConfigurator CollateralConfigurationChanged (ltv, liquidationThreshold, liquidationBonus) per asset
  • Compound v3 Comet collateralBalanceOf and borrowBalanceOf per account with getAssetInfo liquidateCollateralFactor
  • Morpho Blue position(id, user) and market lltv
  • AaveOracle getAssetPrice and Chainlink latestRoundData at the same block
Questions

Questions people ask.

What is a liquidation level?

The price at which a borrowing position can be liquidated because its collateral no longer covers its debt with the margin the protocol requires. Adding up positions by that price shows where liquidations would cluster.

How is an Aave liquidation price calculated?

For a position with one collateral and one debt, it is the debt divided by the product of the collateral amount and the collateral's liquidation threshold. With several assets, it is the price of one asset at which the health factor falls to one, others held constant.

What is a health factor?

Aave's measure of a position's safety: collateral, weighted by each asset's liquidation threshold, divided by debt. Above one the position cannot be liquidated; at or below one it can.

Do these levels predict where the price will go?

No. They show where collateral would become liquidatable if prices reached those levels. Borrowers can add collateral or repay at any time, so the map changes as positions change.

Why are some ETH positions left out of the map?

Positions that borrow ETH against staked ETH, or similar pairs, gain or lose on both sides together when ETH moves, so a price fall barely changes their safety. They are shown on their own instead of in the main map.

Liquidation threshold
The share of a collateral's value that counts toward covering debt when deciding whether a position can be liquidated.
Health factor
Weighted collateral divided by debt; at or below one, a position can be liquidated.
Efficiency mode
An Aave setting that allows higher limits for correlated assets, such as ETH and staked ETH, borrowed against each other.
Collateral at risk
Collateral that would become liquidatable if the price fell to a given level.

Build ETH Liquidation Levels on DeFi Lending Markets on verified data.

Start free in Voltfin Studio: boards, tables and reports where every number opens its receipt. Tell us which data you need first and we will build it next.