Oracle providers used
Balancer (v2 + v3)'s assessment for RD-F-048 — scored green on the v1.7.0 rubric. The evidence below is the curator's reasoning for this score.
Evidence summary #
Balancer v2 and v3 core AMM pricing uses invariant math (pool balances + weights/amplification), not external price oracles. External oracle contact occurs only through rate providers: v2 uses Chainlink (ChainlinkRateProvider), wstETH stEthPerToken(), Aave getRate(), ERC-4626 convertToAssets() per pool configuration. v3 uses Aave ERC-4626 convertToAssets() for Boosted Pools and optional Chainlink adaptor in the Geomean Oracle Hook. Data cache records 19 Chainlink feeds across chains (rate-provider and downstream-consumer uses). All providers are established push oracles or on-chain yield-rate sources with documented SLAs.
Detail #
v2 WeightedPool TWAP oracle mode (getLatest / getTimeWeightedAverage) is an on-chain accumulator that Balancer exposes FOR external consumers — Balancer itself does not consume this data for swap math. v3 Geomean Oracle Hook computes prices from pool invariant, not external feeds. Core swap paths in both versions have zero external oracle calls.
Sources #
- GitHubbalancer/metastable-rate-providersBalancer metastable rate providers repo (ChainlinkRateProvider, wstETH)retrieved 2026-05-05
- Rate Providers | Balancer v3Balancer v3 rate provider docs — Chainlink, wstETH, Aave patternsretrieved 2026-05-05
- Balancer V3 Geomean Oracle - Beirao's HubBalancer V3 Geomean Oracle — internal pool-invariant TWAP, optional Chainlink adaptorretrieved 2026-05-05
- Rate Providers | Balancer v2Balancer v2 rate provider docs — Chainlink and yield-protocol integrationsretrieved 2026-05-05
Methodology #
List all oracle providers used (Chainlink, Pyth, Redstone, Uniswap-TWAP, in-house, etc.) per asset/market pair in the protocol.
See the full factor methodology and distribution across all protocols →