Oracle pool depth (USD)
A oracle & external dependencies factor in the v1.7.0 rubric. Measured per protocol on
a c cadence.
Methodology how we score #
**What this measures**
This factor records the liquidity depth of the DEX pool feeding the oracle — measured in USD at a reference block. This is a continuous, dynamically updated metric drawn from DEX subgraph queries and on-chain reads. It applies to any protocol using a DEX pool as a price source, whether spot or TWAP.
**Why it matters**
Pool depth is the economic cost of oracle manipulation. The Inverse Finance exploit is the canonical illustration: with approximately $1M in pool liquidity, an attacker moved the INV price 50x using only 500 ETH, enabling $15.6M in undercollateralised borrowing. Mango Markets suffered $115M in losses from a MNGO spot oracle with thin underlying liquidity. Polter Finance's BOO token oracle had insufficient pool depth to resist the manipulation that resulted in $8.7M in losses. The synthesis dataset (Cluster O) shows that flash-loan amplification makes even "medium-liquidity" pools vulnerable when the protocol TVL is large relative to oracle pool depth.
**Green / Yellow / Red**
Green is scored when the oracle pool depth exceeds a protocol-TVL-relative threshold that makes manipulation economically irrational (typically oracle pool depth > 5x the maximum single-asset borrow/drain possible). Yellow is scored when pool depth provides partial but not full manipulation resistance. Red is scored when oracle pool depth is demonstrably insufficient to resist a flash-loan-amplified price move.
**Common gray cases**
Gray is applied when pool depth data cannot be retrieved from available subgraphs or when the oracle source uses an aggregated off-chain feed whose underlying pool depth is not publicly queryable.
**Notable historical examples**
- **Mango Markets** ($115M, 2022): Thin MNGO oracle pool; 30x price pump with self-funded positions.
- **Harvest Finance** ($33.8M, 2020): Curve Y-pool spot price manipulated via flash swap on thin liquidity.
- **Inverse Finance** ($15.6M, 2022): ~$1M INV/WETH pool depth; 500 ETH moved price 50x.
- **Polter Finance** ($8.7M, 2024): BOO token SpookySwap pool depth insufficient to resist flash-loan drain.
Measurement what to look for #
Measure the liquidity depth of each DEX pool feeding a TWAP oracle, in USD at reference block; updated continuously.
Data & output #
Data source
Uniswap v3 subgraph (pool TVL query) or equivalent DEX subgraph; on-chain pool `slot0` + `liquidity` reads
Output format
Green / Yellow / Red
Evidence artifact
Pool address + TVL USD + block number + subgraph query timestamp
Confidence signal
green = pool depth ≥$10M; yellow = $1M–$9.9M; red = <$1M (manipulable); gray = protocol does not use DEX-TWAP oracle (N/A)
Scored protocols 80 carry this factor #
Linked hacks 9 historical incidents #
relatedMakina Finance — Permissionless share price oracle update (updateTotalAum) + flash loan Curve pool manipulation → share price inflation → LP drain2026-01-20 · $4M · Permissionless share price oracle update (updateTotalAum) + flash loan Curve pool manipulation → share price inflation → LP drain · Underlying oracle pool depth (USD) [via cross-hack: Factor 16: Single-Source VWAP / Thin-Liquidity Oracle Without Flash Swap Filtering]
→
relatedPolter Finance — Spot price oracle manipulation (SpookySwap V2/V3) → inflated BOO collateral → draining borrow2024-11-16 · $9M · Spot price oracle manipulation (SpookySwap V2/V3) → inflated BOO collateral → draining borrow · Underlying oracle pool depth (USD) [via cross-hack: Factor 16: Single-Source VWAP / Thin-Liquidity Oracle Without Flash Swap Filtering] || Underlying oracle pool depth [via cross-hack: Factor 25: Single-Source TWAP Oracle From Low-Liquidity Pool Used as Lending Collateral]
→
relatedDeus DAO / DEI stablecoin — Mis-ordered Parameters in burnFrom — Public Approval Override2023-05-06 · $7M · Mis-ordered Parameters in burnFrom — Public Approval Override · Underlying oracle pool depth (USD) [via cross-hack: Factor 16: Single-Source VWAP / Thin-Liquidity Oracle Without Flash Swap Filtering]
→
relatedMango Markets — Self-funded MNGO spot price pump using two accounts → inflated unrealized collateral → lending pool drain2022-10-11 · $115M · Self-funded MNGO spot price pump using two accounts → inflated unrealized collateral → lending pool drain · Underlying oracle pool depth [via cross-hack: Factor 25: Single-Source TWAP Oracle From Low-Liquidity Pool Used as Lending Collateral]
→
relatedElephant Money — Flash loan + spot price manipulation during stablecoin minting2022-04-12 · $22M · Flash loan + spot price manipulation during stablecoin minting · Underlying oracle pool depth (USD) [via cross-hack: Factor 16: Single-Source VWAP / Thin-Liquidity Oracle Without Flash Swap Filtering]
→
relatedInverse Finance — SushiSwap TWAP Oracle Manipulation — Thin Liquidity Governance Token2022-04-02 · $16M · SushiSwap TWAP Oracle Manipulation — Thin Liquidity Governance Token · Underlying oracle pool depth (USD) [via cross-hack: Factor 16: Single-Source VWAP / Thin-Liquidity Oracle Without Flash Swap Filtering] || Underlying oracle pool depth [via cross-hack: Factor 25: Single-Source TWAP Oracle From Low-Liquidity Pool Used as Lending Collateral]
→
relatedSpartan Protocol — Flash loan + inflated pool balance → LP burn liquidity share manipulation2021-05-01 · $31M · Flash loan + inflated pool balance → LP burn liquidity share manipulation · Underlying oracle pool depth (USD) [via cross-hack: Factor 16: Single-Source VWAP / Thin-Liquidity Oracle Without Flash Swap Filtering]
→
relatedCheese Bank — Flash loan + Uniswap LP spot oracle manipulation → inflated collateral value → drain via borrow()2020-11-06 · $3M · Flash loan + Uniswap LP spot oracle manipulation → inflated collateral value → drain via borrow() · Underlying oracle pool depth (USD) [via cross-hack: Factor 16: Single-Source VWAP / Thin-Liquidity Oracle Without Flash Swap Filtering]
→
relatedHarvest Finance — Flash loan + Curve Y-pool spot price manipulation → inflated fToken share valuation → vault drain2020-10-26 · $34M · Flash loan + Curve Y-pool spot price manipulation → inflated fToken share valuation → vault drain · Underlying oracle pool depth (USD) [via cross-hack: Factor 16: Single-Source VWAP / Thin-Liquidity Oracle Without Flash Swap Filtering]
→
rubric_version v1.7.0 factor RD-F-055 category 3 carried 80 critical no