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:
| Signal | Source |
|---|---|
| Oracle band | Oracle risk |
| Market governance | Governance |
| Untrusted or depegged collateral | Asset risk |
| Provider market warnings | oracle-unusable, price-derivation, sustained low liquidity, bad debt |
| Bad debt and structural flags | Bad 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:
| Condition | Score | Flag |
|---|---|---|
| Under $1,000 withdrawable against more than $100,000 TVL | 5 | stuck-no-liquidity, forces red |
| Liquidity below 2% of TVL | 4 | very-thin-liquidity |
| Liquidity below 10% of TVL | 3 | thin-liquidity |
| Otherwise | 1 | — |
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
lostAssetsaccumulator so thattotalAssets()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 for Score 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.