★ Oracle source = spot DEX pool (no TWAP)
Balancer (v2 + v3)'s assessment for RD-F-053 — scored green on the v1.7.0 rubric. The evidence below is the curator's reasoning for this score.
Evidence summary #
[★ CRITICAL — GREEN] No spot DEX oracle in any Balancer internal pricing path. v2 AMM uses invariant math (pool balances + weights/amplification coefficient) with no external oracle call. v2 rate providers call getRate() on yield protocols (Aave, wstETH, ERC-4626) — not spot DEX pools. v2 WeightedPool TWAP oracle mode outputs TWAP data for external consumers but Balancer does not consume it internally for swap math. v3 AMM uses same invariant approach. v3 Geomean Oracle Hook computes from pool invariant math, not spot price. No liquidation path exists in Balancer (it is a DEX, not a lending protocol). The critical oracle-manipulation vector (reading spot DEX price without TWAP) is absent.
Detail #
Balancer IS a DEX but does NOT USE a DEX oracle. The price discovery is internal to the AMM. Rate providers return yield-bearing asset conversion rates (e.g., 1 wstETH = 1.15 ETH), not market prices. This is fundamentally different from a lending protocol that reads spot DEX prices to determine collateral values.
Sources #
- URLBalancer V3 Geomean Oracle analysisv3 Geomean Oracle — pool invariant math, not spot DEX price; for external consumersretrieved 2026-05-05
- Rate Providers | Balancer v2v2 rate provider docs — yield rate (not spot price) from Aave, wstETH, ERC-4626retrieved 2026-05-05
Methodology #
Determine whether the primary oracle for any asset/market reads spot price from a single DEX pool without a TWAP window or secondary source.
See the full factor methodology and distribution across all protocols →