Skip to content
Reading depth

Each view includes the earlier layers; the complete engineer or auditor page is shown by default.

A health factor is a protocol-defined ratio or score that summarizes how much liquidation-adjusted collateral supports a borrower's debt.

Split balance category cue

A health factor summarizes how much liquidation-adjusted collateral supports a borrower’s debt under one protocol’s rules.

A position can contain several collateral and debt assets with different prices and thresholds. A health factor compresses that state into an operational signal for risk-increasing actions and liquidation. Compression is convenient, but it can hide which asset or assumption drives the result.

A collateral-coverage or maintenance-margin ratio is a useful analogy. Unlike a periodic broker call, a DeFi score can change with each oracle or interest update and can permit immediate permissionless liquidation. There is no universal formula, threshold, weighting, or “safe” health factor across protocols.

liquidationAdjustedCollateralValueUsd
= Σ(collateralValueUsd_i × liquidationThreshold_i)
healthFactor
= liquidationAdjustedCollateralValueUsd / totalDebtValueUsd

Both numerator and denominator use USD here, so the result is unitless. In the Aave V3 model documented below, a value below 1 is liquidatable. Another protocol can define different inputs, factors, or boundaries. Zero debt should be represented as debt-free, not evaluated through division by zero.

  1. Inventory every eligible collateral amount, debt amount, price, decimal scale, and protocol mode.
  2. Convert each collateral position to the common reference unit and apply its liquidation threshold.
  3. Convert each debt position to the same reference unit, including accrued interest.
  4. Sum liquidation-adjusted collateral and total debt without mixing units or stale observations.
  5. Divide adjusted collateral by debt, or return an explicit debt-free state when debt is zero.
  6. Compare the result with the protocol’s liquidation boundary and preserve the components needed to explain the score.

A high ratio does not prove exit liquidity, oracle quality, contract safety, or future price stability. It measures only what its formula includes.

Information flow carries prices, balances, thresholds, special modes, and debt indices into the score. Control flow identifies governance and oracle authority. Capital flow begins only when the borrower adjusts the position or liquidation executes. Claim flow is the borrower debt and the pool’s conditional right to seize collateral; calculating the score alone creates no new claim. Return flow does not originate in the ratio, although borrower interest can increase debt and thereby reduce the score. Risk flow begins with an adverse price, interest, parameter, or data change and reaches the borrower through seized collateral; reserves, backstops, or suppliers bear any residual bad debt under explicit rules.

Reconstruct every component independently. Test zero debt, zero prices, mixed decimals, multiple collateral and debt assets, weighted thresholds, isolation or correlation modes, stale or negative data, accrued interest, rounding at 1, same-block changes, and consistency with the actual liquidation check. The UI and settlement contract must not use divergent formulas or state.

Aave’s health-factor and liquidation documentation states its weighted-threshold formula and boundary. It was reviewed 2026-08-09 as an Aave-specific example, not as a universal lending definition or guarantee that a position above 1 cannot lose value.

  • “Every protocol liquidates below one.” The formula and threshold are protocol-defined.
  • “A health factor is a probability of default.” It is an operational coverage ratio or score.
  • “Above the boundary means safe.” Price gaps, stale oracles, liquidity, code, and governance remain.

Next follow the state transition in lending liquidation.

Machine-readable model

Key equations

Canonical expressions come from the structured concept record. KaTeX renders the notation, while the plain-text expression and variable table keep its meaning and units inspectable without JavaScript. Read the narrative above for the model's domain, assumptions, and rounding rules.

  1. Equation 1

    Plain-text equation: healthFactor = liquidationAdjustedCollateralValue / debtValue

Assurance contract

Security properties

These structured statements define desired behavior. Their stable IDs can bind tests, invariants, specifications, audit findings, or proof results without turning descriptive review advice into an assurance claim.

Desired · not evaluated: No test, audit, or proof result is implied until scoped evidence is linked to this property.

  1. Every input, weight, threshold, price, unit, and special mode in the score is explicit

  2. Zero debt is handled as debt-free rather than an unsafe division

  3. Liquidation eligibility is derived from the same reconciled state used for settlement

  4. Borrowing and collateral withdrawal cannot move a position past configured constraints unnoticed

Knowledge check

Quiz

Answer in your own words, then open the model answer.

What problem does Health factor exist to address?

Model answer

Health factors turn multiple collateral, debt, price, and threshold inputs into an operational signal for borrowing restrictions and liquidation eligibility.