Skip to main content

Vault risk

A vault rating composes the ratings this system already produces for everything the vault touches. A vault is not evaluated on its own terms — it is evaluated on who runs it, what it holds, whether you can get out, and whether the assets it claims are really there.

Rated per provider:chainId:vaultAddress, covering MetaMorpho and Morpho Vault V2, Euler Earn, Silo, Fluid, Gearbox, LST wrappers, savings tokens and similar.


Dimensions

1. Curator (weight 0.3)

The reputation of whoever allocates the vault. Resolved by address where the provider exposes it, otherwise by name, using the scores from Curation and the reputation allowlist.

An unknown curator scores 3 (yellow) — uncertainty, not confirmed risk. It can never on its own drive a vault red.

2. Markets (weight 0.4)

What the vault holds, inherited from the per-market ratings. Each allocation position takes the worst of every market-level signal:

SignalSource
Oracle bandOracle risk
Market governanceGovernance
Untrusted or depegged collateralAsset risk
Provider market warningsoracle-unusable, price-derivation, sustained low liquidity, bad debt
Bad debt and structural flagsBad debt

A position with no signal against it scores 2 — the absence of an oracle problem or a compromised asset means the market is fine regardless of how volatile its collateral is. Volatility is priced by LLTV, not by this rating.

The vault takes the allocation-weighted mean, with one override: a position that is both risky (score 4 or more) and material (at least 5% weight) drags the vault to that position's score. Without it a weighted mean dilutes a real problem away — 10% in a red market against 90% neutral averages to 2.3, which rounds to green.

The vault's own denomination asset is folded in as a floor. A vault denominated in a broken stablecoin is not made safe by holding sound markets.

Vaults with no allocation data fall back to the snapshot's exposure list, then to the underlying asset.

3. Liquidity (weight 0.3)

Withdrawability, scored only for synchronous (standard ERC-4626) vaults:

ConditionScoreFlag
Under $1,000 withdrawable against more than $100,000 TVL5stuck-no-liquidity, forces red
Liquidity below 2% of TVL4very-thin-liquidity
Liquidity below 10% of TVL3thin-liquidity
Otherwise1

Async vaults — LST unbonding, cooldown savings, epoch-based redemption — are illiquid by design and are not scored on this dimension at all. Unreported liquidity is treated as unknown, never as zero.

4. NAV integrity (escalation only)

Is the reported net asset value real? Two ways it is not:

  • Lost assets. MetaMorpho V1.1 and Euler Earn absorb a loss into a lostAssets accumulator so that totalAssets() and the share price stay flat. A vault that lost everything keeps advertising its old TVL at a healthy share price, and no other dimension notices. Measured as assets the vault claims but cannot account for in any market.

    Share of TVL unaccounted forScore
    at least 10%3
    at least 20%4
    at least 50%5

    Applied only above $10,000 of TVL.

  • Bad debt, from the per-vault rating and from the live allocation, worse of the two.

Integrity is an escalation, never part of the weighted mean. A clean integrity reading is the norm and must not dilute the other dimensions — a vault whose NAV is not backed cannot average its way back to green.

5. Governance (reported, escalates level)

The vault's own timelock and the governance of the markets it holds — see Governance. It can raise the level but stays out of the weighted mean: it is a separate way to lose the money, not a component of how risky the holdings are.


Composition

score = weighted mean of (curator 0.3, markets 0.4, liquidity 0.3), applicable dimensions only
level = worst of (curator, markets, liquidity, governance)

then the escalations, in order:

  • A stuck synchronous vault is red, score at least 4.
  • An inherited material risky market is red, score at least 4.
  • Integrity raises both level and score, never lowers them.
  • A stale snapshot — older than the freshness window — lifts green to yellow and floors the score at 3. Staleness only ever raises the floor, so it can never mask a red that a still-valid signal produced.
  • A vault at level red never reports a score below 4, so a consumer reading the number alone cannot see a red vault as low risk.

Dimensions that do not apply (async liquidity, unknown governance) are dropped from the mean rather than counted as zero or as five.


Why staleness is its own rule

A vault row is scored on numbers that were true when the snapshot was taken. One vault sat at a three-month-old TVL, APR and liquidity reading for a hundred days while it lost everything — every dimension read healthy because every input was frozen. Age is therefore treated as a first-class signal, not a data-quality footnote.