Single-pool oracle (no medianization)
A oracle & external dependencies factor in the v1.7.0 rubric. Measured per protocol on a s cadence.
Methodology how we score#
What this measures
This factor checks whether the oracle reads price from a single DEX venue without aggregating (medianising) across multiple independent pools or venues. A protocol is flagged if price is derived exclusively from one pool, regardless of whether that pool uses spot or TWAP. Source inspection is the primary assessment method.
Why it matters
Single-pool oracles create a concentrated attack surface: an adversary need only manipulate one venue to corrupt the protocol's price feed. Medianisation across multiple independent pools raises the cost of attack proportionally — the attacker must move prices on all venues simultaneously to shift the median. The T-01 evidence base links single-pool oracles (no medianisation) to approximately 10 exploited protocols. The Cheese Bank hack ($3.3M) exploited a WETH balance ratio directly from a single Uniswap LP. Inverse Finance, Elephant Money, and Polter Finance all used single-source feeds that were individually movable within a single block or across a small number of blocks.
Green / Yellow / Red
Green is scored when price is aggregated or medianised across three or more independent venues, or when an aggregated off-chain feed (Chainlink, Pyth) is used as the sole source. Yellow is scored when price is derived from two venues without medianisation, or from one venue with a circuit breaker. Red is scored when a single pool is the sole price source with no medianisation and no circuit breaker.
Common gray cases
Gray is applied when the protocol uses a custom aggregator whose source diversification cannot be confirmed through available source inspection.
Notable historical examples
- Inverse Finance ($15.6M, 2022): INV/WETH single-pool TWAP oracle.
- Elephant Money ($22.2M, 2022): Single PancakeSwap pool for ELEPHANT price.
- Polter Finance ($8.7M, 2024): Single SpookySwap pool for BOO collateral.
- Deus DAO ($6.5M, 2023): sAMM used as single spot oracle source.
Measurement what to look for#
Determine whether the oracle reads from a single DEX venue with no medianization across multiple pools or venues.
Data & output #
Data source
Source inspection of price computation logic on Etherscan-verified source
Output format
Green / Yellow / Red
Evidence artifact
Source excerpt of price read logic + pool address(es)
Confidence signal
green = price medianized across ≥2 independent venues; yellow = single pool but cross-validated with Chainlink; red = single DEX pool with no cross-validation; gray = source unverified
Scored protocols 0 carry this factor#
No protocols have been scored for this factor yet.
Linked hacks 8 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 · Single-pool oracle (no medianization) [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 · Single-pool oracle (no medianization) [via cross-hack: Factor 16: Single-Source VWAP / Thin-Liquidity Oracle Without Flash Swap Filtering]→
relatedDeus DAO / DEI stablecoin: Mis-ordered Parameters in burnFrom — Public Approval Override2023-05-06 · $7M · Mis-ordered Parameters in burnFrom — Public Approval Override · Single-pool oracle (no medianization) [via cross-hack: Factor 16: Single-Source VWAP / Thin-Liquidity Oracle Without Flash Swap Filtering]→
relatedElephant Money: Flash loan + spot price manipulation during stablecoin minting2022-04-12 · $22M · Flash loan + spot price manipulation during stablecoin minting · Single-pool oracle (no medianization) [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 · Single-pool oracle (no medianization) [via cross-hack: Factor 16: Single-Source VWAP / Thin-Liquidity Oracle Without Flash Swap Filtering]→
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 · Single-pool oracle (no medianization) [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() · Single-pool oracle (no medianization) [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 · Single-pool oracle (no medianization) [via cross-hack: Factor 16: Single-Source VWAP / Thin-Liquidity Oracle Without Flash Swap Filtering]→
rubric_version v1.7.0factor RD-F-056category 3carried 0critical no