How to use
- Set the protocol TVL and average LTV (debt-to-collateral ratio)
- Set the liquidation threshold — at which LTV forced selling begins
- Specify the initial collateral price drop
- The calculator simulates the chain: price drop -> liquidations -> sell pressure -> further drop
- The chart shows cascade cycles, total price decline, and volume of liquidated positions
Calculator
Formulas
- Effective_LTV — actual LTV after price drop (computed)
- Avg_LTV — average position LTV before the drop (fraction, 0 to 1)
- Price_ratio — current collateral price relative to initial price, P_t / P_0 (fraction, 1 = unchanged, 0.7 = 30% drop)
Example: with Avg_LTV = 0.75 and a 30% price drop (Price_ratio = 0.7), Effective_LTV = 0.75 / 0.7 ≈ 1.07, which exceeds a typical 0.85 liquidation threshold and triggers liquidation. Plugging in an absolute dollar price (e.g., ETH = $3000) would produce a nonsense result — the input must be the ratio, not the price.
- Liquidation_Threshold — LTV level at which forced collateral selling begins (fraction, 0 to 1)
- When effective LTV exceeds the threshold, the position is liquidated
- Liquidated — volume of liquidated positions per cycle, $M (computed)
- Remaining — remaining TVL after previous cycles ($M)
- Threshold — liquidation threshold (fraction, 0 to 1)
Note: the 0.5 coefficient reflects a per-round close factor consistent with Aave and MakerDAO Liquidations 2.0, where a single liquidation call may close up to 50% of an unhealthy position. Combined with the excess-LTV ratio, the formula liquidates roughly half of the “over-threshold fraction” of remaining TVL each round. For severe overshoots (eLTV far above the threshold) the inner expression clips to Remaining, modelling a full wipe-out in one round. The cascade loop is capped at 20 iterations as a safety bound; in practice it converges in 2–5 real rounds.
- Price_impact — price decline fraction due to sell pressure (computed)
- Liquidated — volume of liquidated positions per cycle ($M)
- TVL — initial protocol TVL ($M), used here as a rough proxy for available market depth
- Depth_factor — user-configurable multiplier linking protocol TVL to usable sell-side depth (default = 2; lower for thin markets, higher for deep pairs)
Caveat: liquidation sell pressure hits DEX liquidity (Uniswap, Curve pools for the collateral asset), not the lending protocol’s own TVL. Using protocol TVL as a proxy for market depth is a rule-of-thumb suitable for first-pass scenario analysis only. For calibrated estimates, replace TVL × Depth_factor with the actual on-chain depth of the collateral pair (e.g., Kyle’s-lambda-style impact derived from DEX order-book or pool reserves), as done in Gauntlet and Chaos Labs methodologies.