[WOOF!] Correlated-Assets Price Oracle (CAPO)

Correlated-Assets Price Oracle (CAPO)

co-authors: @bryancolligan @Gauntlet @AlphaGrowth

Problem

Compound aims to remain a leading choice among crypto lending and borrowing protocols. A significant portion of TVL revolves around LST/LRT tokens. These assets have the potential to significantly enhance protocol liquidity and generate higher fees. However, Compound cannot compete effectively in the high-leverage space due to inherent risks and limitations.

A major concern lies in pricing these correlated assets accurately. Currently, Compound uses an exchange rate price feed for some collateral assets like weETH, fetching prices directly from the token contracts. This method poses risks as the exchange rate can be manipulated, either intentionally or unintentionally, leading to inaccurate valuations. In a worst-case scenario, an inflated exchange rate could enable borrowing against unprofitable liquidation positions, jeopardizing protocol security. This issue was highlighted in a Gauntlet forum discussion.

Solution

To address these risks, we propose implementing a Correlated-Assets Price Oracle (CAPO) for LST and LRT assets. CAPO introduces flexibility to set and enforce limits on the maximum permissible growth of these assets’ yields. By leveraging CAPO, Compound can ensure secure and accurate pricing for correlated assets.

How CAPO Works

Existing Price Feed Flow:

  • Compound Market → Price Feed Wrapper → Underlying Price Feeds (Exchange Rate/Market Rate).

New Price Feed Flow with CAPO:

  • Compound Market → Price Feed Wrapper → CAPO → Underlying Price Feeds (Exchange Rate/Market Rate).

CAPO enhances the price feed flow by introducing safeguards that cap the maximum exchange rate growth, based on predefined parameters:

  1. Snapshot Timestamp: The reference time for the initial exchange rate.
  2. Snapshot Ratio: The initial value of the asset’s exchange rate.
  3. Max Yearly Ratio Growth Percent: The maximum allowable yearly growth rate for the exchange rate.

CAPO Logic

  1. Fetch Asset Price: Retrieve the current exchange rate for the asset.
  2. Compare with Maximum Rate: Check if the exchange rate exceeds the preconfigured maximum rate, calculated dynamically based on the snapshot ratio and allowable growth.
  3. Return Adjusted Price:
    • If the exchange rate exceeds the cap, return the maximum preconfigured rate.
    • Otherwise, return the current exchange rate.

Example Flow

Day 1

  • Snapshot Timestamp: Day 1
  • weETH Ratio: 1.1
  • Max Yearly Ratio Growth Percent: 12%

Day 30

Calculate the maximum permissible rate:

  • Max Monthly Growth: 1% (12% / 12 months)
  • Maximum Preconfigured Rate: 1.1 + (1.1 * 1%) = 1.111

Compare with Current Exchange Rate:

  • If the exchange rate is greater than 1.111, return 1.111.
  • Otherwise, return the current exchange rate.

Parameter Updates

CAPO contracts will be governed by the Compound DAO. Updates to parameters such as the snapshot timestamp, ratio, or growth percent will require an on-chain governance proposal.

Scope

To implement CAPO, we propose the following deliverables:

  1. CAPO Contracts:
    • Develop CAPO implementations for various ETH and stable markets.
    • Supported assets include ezETH, wstETH, weETH, rsETH, osETH, rETH, rswETH, ETHx, sFRAX, wUSDM, and mETH.
    • Start with the Mainnet, but also cover all other networks LSTs/LRTs
  2. Price Feed Wrappers:
    • Integrate CAPO with price feed wrappers to replace existing feeds.
  3. On-Chain Proposal:
    • Submit a governance proposal to update the price feeds in the protocol.

Benefits of CAPO

  1. Mitigates Risks: Protects against misconfigured or manipulated exchange rates.
  2. Improves Flexibility: Enables governance to set dynamic and precise growth limits.
  3. Enhances Security: Ensures liquidations remain profitable, maintaining protocol integrity.
  4. Supports Growth: Safely integrates correlated assets to increase TVL and protocol fees.

By adopting CAPO, Compound can address current limitations while securely expanding support for LST and LRT assets, strengthening its position as a leading DeFi protocol.

6 Likes

@dmitriywoofsoftware Thank you for putting this together. This should help Compound be more competitive with Higher Collateral Factors with less risk after implementation.

5 Likes

Thanks a lot for sharing the solution @dmitriywoofsoftware ! Eager to collaborate and help in implementing higher collateral factors as a competitive edge for Compound.

2 Likes

CAPO: Development Update

Executive Summary

Following our comprehensive positive community engagement, we’re excited to announce that CAPO implementation is entering its final phase.

Overview

We strongly believe that the OEV discussion will be closed shortly with a chosen direction. OEV update will require updates to the price feed. To make OEV and CAPO integrations efficient, we suggest combining the integration and governance processes.

Scope
Full CAPO implementation across 4626-assets; LST and LRT assets will be supported in CAPO v2 scope.

What CAPO Delivers
CAPO addresses a critical gap in securecollateral utilization by implementing sophisticated rate growth controls that protect against exchange rate manipulation while preserving organic yield growth:

Core Protection Mechanisms:

  • Snapshot-Based Rate Capping: Implements PriceCapSnapshot structure with configurable snapshot ratios, timestamps, and maximum yearly growth percentages expressed in basis points
  • Dynamic Maximum Ratio Calculation: Real-time computation using snapshotRatio + (maxRatioGrowthPerSecond * elapsed_time) / GROWTH_RATIO_SCALE with linear growth approximation
  • ERC4626 Integration: Native support through IERC4626.convertToAssets() calls for accurate share-to-asset ratio retrieval
  • Manager-Controlled Governance: Timelock-compatible manager role enabling DAO control over snapshot updates and growth parameters
  • Chainlink Compatibility: Seamless integration maintaining AggregatorV3Interface standard with latestRoundData() implementation

Supported Assets: all 4626 assets

Implementation Benefits

Enhanced Protocol Security:

  • Eliminates exchange rate manipulation vectors that could compromise liquidation profitability
  • Protects against flash loan attacks targeting correlated asset pricing
  • Maintains protocol solvency during market volatility

Improved Market Competitiveness:

  • Enables higher leverage ratios for 4626-assets markets through reduced risk exposure
  • Supports protocol TVL growth by safely integrating high-demand correlated assets
  • Provides governance with precise tools for risk parameter optimization

Technical Robustness:

  • Professional Security Review: The first implementation underwent comprehensive security audit by OpenZeppelin with identified findings addressed and remediation completed. Re-audit requested for final validation of the current version.
  • Precision Engineering: Advanced decimal scaling mechanisms through rescaleFactor calculations ensuring accurate price computations across varying token decimal configurations
  • Overflow Protection: Built-in mathematical safeguards preventing overflow conditions with three-year growth validation limits
  • Growth Rate Controls: BASIS_POINTS (1e4) precision for yearly growth percentages with GROWTH_RATIO_SCALE (1e10) for per-second calculations
  • Parameter Validation: Comprehensive input validation including zero-address checks, ratio validation, and timestamp constraints

Example Protection Scenarios

Scenario 1: Legitimate Growth Tracking

  • Asset experiences 8% annual growth over 120 days (~2.63% growth)
  • CAPO correctly allows rate progression: 1.000 → 1.025

Scenario 2: Spike Prevention

  • Manipulated rate attempts 8% spike in 10 days (20% annual equivalent)
  • CAPO caps rate at legitimate growth level: 1.080 → 1.0055

Next Steps

  • Security Audit Completion: OpenZeppelin security audit report.
  • Final integration testing and parameter validation across supported networks
  • Governance proposal preparation for parameter initialization and price feed activation (Will be done during OEV on-boarding)
  • Providing risk recommendations by Gauntlet
  • On-chain infrastructure preparations in the most efficient way by WOOF!
  • Analytics tool & with notification for new price feeds monitoring

Community Engagement

We encourage community members to review the original CAPO proposal and prepare for the upcoming governance discussions regarding initial parameter settings. Your feedback continues to be invaluable as we strengthen Compound’s position.
For technical inquiries or implementation feedback, please engage through this community discussion.

2 Likes

Maximum permissible rate for LST and Stable tokens

Specification

Utilizing the proposed CAPO mechanism WOOF outlines, Gauntlet estimates the Maximum permissible rate using a 7-day moving average approach. Please find the CAPO equation with recommended values below.

r_{\text{upper}} = r + \hat{\sigma}_r

where r is the 7-day (MINIMUM_SNAPSHOT_DELAY) rolling average APY returns in the past year, and \hat{\sigma}_r is the standard deviation of daily returns over the last year. The recommended r_{\text{upper}} values derived from this method are presented in the table below:

Symbol r \hat{\sigma}_r r_{\text{upper}}
ezETH 3.92% 3.15% 7.07%
wstETH 3.61% 0.43% 4.04%
weETH 2.95% 0.28% 3.23%
rsETH 3.57% 1.97% 5.54%
osETH 2.84% 0.26% 3.10%
rETH 2.66% 0.24% 2.90%
rswETH 3.27% 1.63% 4.90%
ETHx 2.88% 0.52% 3.40%
sFRAX 4.51% 0.44% 4.95%
wUSDM 4.53% 0.41% 4.94%
mETH 3.09% 0.82% 3.91%

Gauntlet recommends setting each token’s Max Permissible Rate to the r_{\text{upper}} values in the table above.

APY Charts

Please find example APY trends for several assets (ezETH, weETH, and rsETH) below:

ezETH

weETH

rsETH

2 Likes

Update price feeds to CAPO in cWETHv3 on Mainnet

PR - CAPO for cWETHv3 on Mainnet by MishaShWoof · Pull Request #1033 · compound-finance/comet · GitHub
PR(woof) - CAPO for cWETHv3 on Mainnet by MishaShWoof · Pull Request #221 · woof-software/comet · GitHub
Proposal - Tally | Compound | Update price feeds in cWETHv3 on Mainnet with CAPO implementation.

Recommendations

The recommendations provided by Gauntlet

Symbol r sigma_r r_upper
ezETH 3.92% 3.15% 7.07%
wstETH 3.61% 0.43% 4.04%
weETH 2.95% 0.28% 3.23%
rsETH 3.57% 1.97% 5.54%
osETH 2.84% 0.26% 3.10%
rETH 2.66% 0.24% 2.90%
rswETH 3.27% 1.63% 4.90%
ETHx 2.88% 0.52% 3.40%
sFRAX 4.51% 0.44% 4.95%
wUSDM 4.53% 0.41% 4.94%
mETH 3.09% 0.82% 3.91%

Actions

Action name Link Status
1 Run Slither Link Success
2 Run Forge Tests Link Success
3 Run Tests With Gas Profiler Link Success
4 Run Semgremp Link Success
5 Run Scenarios (mainnet-weth) Link Success
6 Run Unit Tests Link Success
7 Run ESLint Link Success
8 Run Contact Linter Link Success
9 Run Prepare Link Success
10 Run Enact impersonate Link Success
11 Tenderly Simulation Link Success
12 Run Enact (by delegator) Link Success

Artifacts

Name Value
1 Migration name 1759414573_upgrade_to_capo_price_feeds
2 Branch name woof-software/capo-and-oev-for-mainnet-weth
3 Prepare id 18196503896
4 Network mainnet
5 Deployment weth

Price feeds

Name Address Route
1 wstETH 0x5372Bcf3486D59C23F5fC85745B41F180EFFf881 wstETH / stETH

(we consider stETH / ETH as 1:1)|
|2|rsETH|0x250BD3Da70b1844dbe7491C521B9490abd57B709|rsETH/ ETH|
|3|weETH|0x3cB8348cd79C98e3D370527425d56EFF3b5728Fd|weETH / eETH

(we consider eETH / ETH as 1:1)|
|4|osETH|0xb2988bDAdc45c43e3fE1A728F715E94bee4DB406|osETH / ETH|
|5|rswETH|0x880D36763Bb470cd395B7d6c76b50446FA70ACe5|rswETH / ETH|
|6|ETHx|0x5998a5C516bD5E479E0B6aa6F243d372730B68d2|ETHx / ETH|
|7|ezETH|0xcc392d2c3b37520e01712320bE331D41F7661013|ezETH / ETH|

Description

Update price feeds in cWETHv3 on Mainnet with CAPO implementation.

Proposal summary

This proposal updates existing price feeds for wstETH, rsETH, weETH, osETH, rswETH, ETHx and ezETH on the WETH market on Mainnet.

CAPO summary

CAPO is a price oracle adapter designed to support assets that grow gradually relative to a base asset - such as liquid staking tokens that accumulate yield over time. It provides a mechanism to track this expected growth while protecting downstream protocol from sudden or manipulated price spikes. wstETH, rsETH, weETH, osETH, rswETH, ETHx and ezETH price feeds are updated to their CAPO implementations.

Further detailed information can be found on the corresponding proposal pull request and forum discussion for CAPO.

CAPO audit

CAPO has been audited by OpenZeppelin, as well as the LST / LRT implementation here.

Proposal actions

The first action updates wstETH price feed.
The second action updates rsETH price feed.
The third action updates weETH price feed.
The fourth action updates osETH price feed.
The fifth action updates rswETH price feed.
The sixth action updates ETHx price feed.
The seventh action updates ezETH price feed.
The eighth action deploys and upgrades Comet to a new version.

Update price feeds to CAPO in cWstETHv3 on Mainnet

PR - CAPO for cWstETHv3 on Mainnet by MishaShWoof · Pull Request #1034 · compound-finance/comet · GitHub
PR(woof) - CAPO for cWstETHv3 on Mainnet by MishaShWoof · Pull Request #222 · woof-software/comet · GitHub
Proposal - Tally | Compound | Update price feeds in cWstETHv3 on Mainnet with CAPO implementation.

Recommendations

The recommendations provided by Gauntlet

Symbol r sigma_r r_upper
ezETH 3.92% 3.15% 7.07%
wstETH 3.61% 0.43% 4.04%
weETH 2.95% 0.28% 3.23%
rsETH 3.57% 1.97% 5.54%
osETH 2.84% 0.26% 3.10%
rETH 2.66% 0.24% 2.90%
rswETH 3.27% 1.63% 4.90%
ETHx 2.88% 0.52% 3.40%
sFRAX 4.51% 0.44% 4.95%
wUSDM 4.53% 0.41% 4.94%
mETH 3.09% 0.82% 3.91%

Actions

Action name Link Status
1 Run Slither Link Success
2 Run Forge Tests Link Success
3 Run Tests With Gas Profiler Link Success
4 Run Semgremp Link Success
5 Run Scenarios (mainnet-weth) Link Success
6 Run Unit Tests Link Success
7 Run ESLint Link Success
8 Run Contact Linter Link Success
9 Run Prepare Link Success
10 Run Enact impersonate Link Success
11 Tenderly Simulation Link Success
12 Run Enact (by delegator) Link Success

Artifacts

Name Value
1 Migration name 1759500069_upgrade_to_capo_price_feeds
2 Branch name woof-software/capo-and-oev-for-mainnet-wsteth
3 Prepare id 18291526398
4 Network mainnet
5 Deployment wsteth

Price feeds

Name Address Route
1 ETH 0xC35137f62b825AeEaF30B69B6b32e3953D8d624a ETH / wstETH
2 rsETH 0x0Af91E13383FD771f21B40b79421B2d59E8214C2 rsETH/ ETH (native) → ETH / wstETH
3 ezETH 0x00C03ABc59b978ECDa0A118Ca8B0061EA6121101 ezETH / ETH (native) → ETH / wstETH

Description

Update price feeds in cWstETHv3 on Mainnet with CAPO implementation.

Proposal summary

This proposal updates existing price feeds for rsETH and ezETH on the wstETH market on Mainnet.

CAPO summary

CAPO is a price oracle adapter designed to support assets that grow gradually relative to a base asset - such as liquid staking tokens that accumulate yield over time. It provides a mechanism to track this expected growth while protecting downstream protocol from sudden or manipulated price spikes. rsETH and ezETH price feeds are updated to their CAPO implementations.

Further detailed information can be found on the corresponding proposal pull request and forum discussion for CAPO.

CAPO audit

CAPO has been audited by OpenZeppelin, as well as the LST / LRT implementation here.

Proposal actions

The first action updates rsETH price feed.

The second action updates ezETH price feed.

The third action deploys and upgrades Comet to a new version.

Update price feeds to CAPO in cUSDSv3 on Mainnet

PR - CAPO for cUSDSv3 on Mainnet by MishaShWoof · Pull Request #1032 · compound-finance/comet · GitHub
PR(woof) - CAPO for cUSDSv3 on Mainnet by MishaShWoof · Pull Request #220 · woof-software/comet · GitHub
Proposal - Tally | Compound | Update price feeds in cUSDSv3 on Mainnet with CAPO and Chainlink SVR implementation.

Recommendations

The recommendations provided by Gauntlet

Symbol r sigma_r r_upper
ezETH 3.92% 3.15% 7.07%
wstETH 3.61% 0.43% 4.04%
weETH 2.95% 0.28% 3.23%
rsETH 3.57% 1.97% 5.54%
osETH 2.84% 0.26% 3.10%
rETH 2.66% 0.24% 2.90%
rswETH 3.27% 1.63% 4.90%
ETHx 2.88% 0.52% 3.40%
sFRAX 4.51% 0.44% 4.95%
wUSDM 4.53% 0.41% 4.94%
mETH 3.09% 0.82% 3.91%

Actions

Action name Link Status
1 Run Slither Link Success
2 Run Forge Tests Link Success
3 Run Tests With Gas Profiler Link Success
4 Run Semgremp Link Success
5 Run Scenarios (mainnet-usds) Link Success
6 Run Unit Tests Link Success
7 Run ESLint Link Success
8 Run Contact Linter Link Success
9 Run Enact impersonate Link Success
10 Tenderly Simulation Link Success
11 Run Enact (by delegator) Link Success

Artifacts

Name Value
1 Migration name 1759495746_upgrade_to_capo_price_feeds
2 Branch name woof-software/capo-and-oev-for-mainnet-usds
3 Prepare id -
4 Network mainnet
5 Deployment usds

Price feeds

Name Address Route OEV CAPO
1 wstETH 0xA2699232B341881B1Ed85d91592b7c259E029aCf wstETH / stETH (direct) → ETH / USD (OEV, we consider stETH / ETH as 1:1) + +
2 WETH 0xc0053f3FBcCD593758258334Dfce24C2A9A673aD ETH / USD (OEV) + -
3 weETH 0x4F12633d511dC3049DE1ea923b7047fBeD0070D2 weETH / eETH (direct) → ETH / USD (OEV, we consider eETH / ETH as 1:1) + +

Description

Update price feeds in cUSDSv3 on Mainnet with CAPO and Chainlink SVR implementation.

Proposal summary

This proposal updates existing price feeds for wstETH, WETH and weETH on the USDS market on Mainnet.

SVR summary

RFP process and community vote passed and decided to implement Chainlink’s SVR solution for Mainnet markets, this proposal updates wstETH, WETH and weETH price feeds to support SVR implementations.

CAPO summary

CAPO is a price oracle adapter designed to support assets that grow gradually relative to a base asset - such as liquid staking tokens that accumulate yield over time. It provides a mechanism to track this expected growth while protecting downstream protocol from sudden or manipulated price spikes. wstETH and weETH price feeds are updated to their CAPO implementations.

Further detailed information can be found on the corresponding proposal pull request, forum discussion for CAPO and forum discussion for SVR.

CAPO audit

CAPO has been audited by OpenZeppelin, as well as the LST / LRT implementation here.

SVR fee recipient

SVR generates revenue from liquidators and Compound DAO will receive that revenue as part of the protocol fee. The fee recipient for SVR is set to Compound DAO multisig: 0xd9496F2A3fd2a97d8A4531D92742F3C8F53183cB.

Proposal actions

The first action updates wstETH price feed.

The second action updates WETH price feed.

The third action updates weETH price feed.

The fourth action deploys and upgrades Comet to a new version.

Update price feeds to CAPO in cUSDCv3 on Arbitrum

PR - CAPO for cUSDCv3 on Arbitrum by MishaShWoof · Pull Request #1035 · compound-finance/comet · GitHub
PR(woof) - CAPO for cUSDCv3 on Arbitrum by MishaShWoof · Pull Request #223 · woof-software/comet · GitHub
Proposal - Tally | Compound | Update price feeds in cUSDCv3 on Arbitrum with CAPO implementation.

Recommendations

The recommendations provided by Gauntlet

Symbol r sigma_r r_upper
ezETH 3.92% 3.15% 7.07%
wstETH 3.61% 0.43% 4.04%
weETH 2.95% 0.28% 3.23%
rsETH 3.57% 1.97% 5.54%
osETH 2.84% 0.26% 3.10%
rETH 2.66% 0.24% 2.90%
rswETH 3.27% 1.63% 4.90%
ETHx 2.88% 0.52% 3.40%
sFRAX 4.51% 0.44% 4.95%
wUSDM 4.53% 0.41% 4.94%
mETH 3.09% 0.82% 3.91%

Actions

Action name Link Status
1 Run Slither Link Success
2 Run Forge Tests Link Success
3 Run Tests With Gas Profiler Link Success
4 Run Semgremp Link Success
5 Run Scenarios (arbitrum-usdc) Link Success
6 Run Unit Tests Link Success
7 Run ESLint Link Success
8 Run Contact Linter Link Success
9 Run Prepare Link Success
10 Run Enact impersonate Link Success
11 Tenderly Simulation (mainnet) Link Success
12 Tenderly Simulation (arbitrum) Link Success
13 Run Enact (by delegator) Link Success

Artifacts

Name Value
1 Migration name 1735299664_upgrade_to_capo_price_feeds
2 Branch name woof-software/capo-and-oev-for-arbitrum-usdc
3 Prepare id 18523670706
4 Network arbitrum
5 Deployment usdc

Price feeds

Name Address Route
1 wstETH 0x92014e7f331dFaB2848A5872AA8b2E7b6f3cE8B4 wstETH / stETH) → ETH / USD (we consider stETH / ETH as 1:1)
2 ezETH 0x5Eba6Ec97843163C92Ab48a7aC0CCc8423c652b1 ezETH/ ETH-> ETH/ USD

Description

Update price feeds in cUSDCv3 on Arbitrum with CAPO implementation.

Proposal summary

This proposal updates existing price feeds for wstETH and ezETH on the USDC market on Arbitrum.

CAPO summary

CAPO is a price oracle adapter designed to support assets that grow gradually relative to a base asset - such as liquid staking tokens that accumulate yield over time. It provides a mechanism to track this expected growth while protecting downstream protocol from sudden or manipulated price spikes. wstETH and ezETH price feeds are updated to their CAPO implementations.

Further detailed information can be found on the corresponding proposal pull request and forum discussion for CAPO.

CAPO audit

CAPO has been audited by OpenZeppelin, as well as the LST / LRT implementation here.

Proposal actions

The first action updates wstETH and ezETH price feeds to the CAPO implementation, This sends the encoded ‘updateAssetPriceFeed’ and ‘deployAndUpgradeTo’ calls across the bridge to the governance receiver on Arbitrum.

Update price feeds to CAPO in cUSDCv3 and cWETHv3 on Linea

PR - CAPO for cUSDCv3 and cWETHv3 on Linea by MishaShWoof · Pull Request #1061 · compound-finance/comet · GitHub
PR(woof) - CAPO for cUSDCv3 and cWETHv3 on Linea by MishaShWoof · Pull Request #260 · woof-software/comet · GitHub
Proposal - Tally | Compound | Update price feeds in cUSDCv3 and cWETHv3 on Linea with CAPO implementation.

Recommendations

The recommendations provided by Gauntlet

Symbol r sigma_r r_upper
ezETH 3.92% 3.15% 7.07%
wstETH 3.61% 0.43% 4.04%
weETH 2.95% 0.28% 3.23%
rsETH 3.57% 1.97% 5.54%
osETH 2.84% 0.26% 3.10%
rETH 2.66% 0.24% 2.90%
rswETH 3.27% 1.63% 4.90%
ETHx 2.88% 0.52% 3.40%
sFRAX 4.51% 0.44% 4.95%
wUSDM 4.53% 0.41% 4.94%
mETH 3.09% 0.82% 3.91%

Actions

Action name Link Status
1 Run Slither Link Success
2 Run Forge Tests Link Success
3 Run Tests With Gas Profiler Link Success
4 Run Semgremp Link Success
5 Run Scenarios (linea-usdc) Link Success
6 Run Scenarios (linea-weth) Link Success
7 Run Unit Tests Link Success
8 Run ESLint Link Success
9 Run Contact Linter Link Success
10 Run Prepare Link Success
11 Run Enact impersonate Link Success
12 Tenderly Simulation (mainnet) Link Success
13 Tenderly Simulation (linea) Link Success
14 Run Enact (by delegator) Link WIP

Artifacts

Name Value
1 Migration name 1761833037_upgrade_to_capo_price_feeds
2 Branch name woof-software/capo-for-linea
3 Prepare id 19371222738
4 Network linea
5 Deployment usdc

Price feeds

Name Address Route
1 wstETH 0x0746928E47f858944D189996829Ca711f64461a7 wstETH / stETH → ETH / USD (we consider stETH / ETH as 1:1)
2 wstETH 0xF1cEe2A82Cc42246c8C38253f118AbB6cAAd715B wstETH / stETH (we consider stETH / ETH as 1:1)
3 ezETH 0x13933885C9A392Ce73f396707EC61f30a8b05e37 ezETH / ETH
4 wrsETH 0x8D50B433C0Dcf3636c29695122464Df5deb37eDc wrsETH / ETH
5 weETH 0xfd5282968119c348C1E47fBCaDD13069d9857Bf2 weETH / eETH (we consider eETH / ETH as 1:1)

Description

Update price feeds in cUSDCv3 and cWETHv3 on Linea with CAPO implementation.

Proposal summary

This proposal updates existing price feeds for wstETH on the USDC and WETH markets and ezETH, wrsETH, and weETH on the WETH market on Linea.

CAPO summary

CAPO is a price oracle adapter designed to support assets that grow gradually relative to a base asset - such as liquid staking tokens that accumulate yield over time. It provides a mechanism to track this expected growth while protecting downstream protocol from sudden or manipulated price spikes. wstETH, ezETH, wrsETH, and weETH price feeds are updated to their CAPO implementations.

Further detailed information can be found on the corresponding proposal pull request and forum discussion for CAPO.

CAPO audit

CAPO has been audited by OpenZeppelin, as well as the LST / LRT implementation here.

Proposal actions

The first action updates wstETH, ezETH, wrsETH, and weETH price feeds to the CAPO implementation. This sends the encoded ‘updateAssetPriceFeed’ and ‘deployAndUpgradeTo’ calls across the bridge to the governance receiver on Linea.

Update price feeds to CAPO in cUSDСv3, cUSDTv3 and cWETHv3 on Optimism

PR - CAPO for cUSDCv3, cUSDTv3 and cWETHv3 on Optimism by MishaShWoof · Pull Request #1062 · compound-finance/comet · GitHub
PR(woof) - CAPO for cUSDCv3, cUSDTv3 and cWETHv3 on Optimism by MishaShWoof · Pull Request #262 · woof-software/comet · GitHub
Proposal - Tally | Compound | Update price feeds in cUSDCv3, cUSDTv3 and cWETHv3 on Optimism with CAPO implementation.

Recommendations

The recommendations provided by Gauntlet

Symbol r sigma_r r_upper
ezETH 3.92% 3.15% 7.07%
wstETH 3.61% 0.43% 4.04%
weETH 2.95% 0.28% 3.23%
rsETH 3.57% 1.97% 5.54%
osETH 2.84% 0.26% 3.10%
rETH 2.66% 0.24% 2.90%
rswETH 3.27% 1.63% 4.90%
ETHx 2.88% 0.52% 3.40%
sFRAX 4.51% 0.44% 4.95%
wUSDM 4.53% 0.41% 4.94%
mETH 3.09% 0.82% 3.91%

Actions

Action name Link Status
1 Run Slither Link Success
2 Run Forge Tests Link Success
3 Run Tests With Gas Profiler Link Success
4 Run Semgremp Link Success
5 Run Scenarios (optimism-usdc) Link Success
6 Run Scenarios (optimism-usdt) Link Success
7 Run Scenarios (optimism-weth) Link Success
8 Run Unit Tests Link Success
9 Run ESLint Link Success
10 Run Contact Linter Link Success
11 Run Prepare Link Success
12 Run Enact impersonate Link Success
13 Tenderly Simulation (mainnet) Link Success
14 Tenderly Simulation (optimism) Link Success
15 Run Enact (by delegate) Link Success

Artifacts

Name Value
1 Migration name 1761567671_upgrade_to_capo_price_feeds
2 Branch name woof-software/capo-for-optimism
3 Prepare id 19465470129
4 Network optimism
5 Deployment usdc

Price feeds

Name Address Route
1 wstETH 0x5D173813B4505701e79E654b36A95E6c1FAD4448 wstETH / stETH → ETH / USD (we consider stETH / ETH as 1:1)
2 wstETH 0x92014e7f331dFaB2848A5872AA8b2E7b6f3cE8B4 wstETH / stETH (we consider stETH / ETH as 1:1)
3 ezETH 0x3fb418B74Ec30bC3e940221F58A04e16afC6378B ezETH / ETH
4 wrsETH 0x5Eba6Ec97843163C92Ab48a7aC0CCc8423c652b1 wrsETH / ETH
5 weETH 0xe6eb5B9b85cFF2C84Df3De6e7855bC9E76f034d5 weETH / eETH (we consider eETH / ETH as 1:1)
6 rETH 0x3e6D1ccA8Eee6d02f1f578B613374EB53E6823B4 rETH / ETH

Description

Update price feeds in cUSDCv3, cUSDTv3 and cWETHv3 on Optimism with CAPO implementation.

Proposal summary

This proposal updates existing price feeds for wstETH on the USDC, USDT and WETH markets and ezETH, wrsETH, weETH, and rETH on the WETH market on Optimism.

CAPO summary

CAPO is a price oracle adapter designed to support assets that grow gradually relative to a base asset - such as liquid staking tokens that accumulate yield over time. It provides a mechanism to track this expected growth while protecting downstream protocol from sudden or manipulated price spikes. wstETH, ezETH, wrsETH, weETH, and rETH price feeds are updated to their CAPO implementations.

Further detailed information can be found on the corresponding proposal pull request and forum discussion for CAPO.

CAPO audit

CAPO has been audited by [OpenZeppelin](CAPO Price Feed Audit, as well as the LST / LRT implementation here.

Proposal actions

The first action updates wstETH, ezETH, wrsETH, weETH, and rETH price feeds to the CAPO implementation. This sends the encoded ‘updateAssetPriceFeed’ and ‘deployAndUpgradeTo’ calls across the bridge to the governance receiver on Optimism.

Update price feeds to CAPO in cAEROv3 on Base

PR - CAPO for cAEROv3 on Base by MishaShWoof · Pull Request #1064 · compound-finance/comet · GitHub
PR(woof) - CAPO for cAEROv3 on Base by MishaShWoof · Pull Request #267 · woof-software/comet · GitHub
Proposal - Tally | Compound | Update wstETH price feed in cAEROv3 on Base with CAPO implementation.

Recommendations

The recommendations provided by Gauntlet

Symbol r sigma_r r_upper
ezETH 3.92% 3.15% 7.07%
wstETH 3.61% 0.43% 4.04%
weETH 2.95% 0.28% 3.23%
rsETH 3.57% 1.97% 5.54%
osETH 2.84% 0.26% 3.10%
rETH 2.66% 0.24% 2.90%
rswETH 3.27% 1.63% 4.90%
ETHx 2.88% 0.52% 3.40%
sFRAX 4.51% 0.44% 4.95%
wUSDM 4.53% 0.41% 4.94%
mETH 3.09% 0.82% 3.91%

Actions

Action name Link Status
1 Run Slither Link Success
2 Run Forge Tests Link Success
3 Run Tests With Gas Profiler Link Success
4 Run Semgremp Link Success
5 Run Scenarios (base-aero) Link Success
6 Run Unit Tests Link Success
7 Run ESLint Link Success
8 Run Contact Linter Link Success
9 Run Prepare Link Success
10 Run Enact impersonate Link Success
11 Tenderly Simulation (mainnet) Link Success
12 Tenderly Simulation (base) Link Success
13 Run Enact (by delegate) Link Success

Artifacts

Name Value
1 Migration name 1761125221_upgrade_to_capo_price_feeds
2 Branch name woof-software/capo-for-base-aero
3 Prepare id 18722952014
4 Network base
5 Deployment aero

Price feeds

Name Address Route
1 wstETH 0x731564585278f228FB8F93a0BF62729E24367662 wstETH / stETH (we consider stETH / ETH as 1:1)

Description

Update wstETH price feed in cAEROv3 on Base with CAPO implementation.

Proposal summary

This proposal updates existing price feeds for wstETH on the AERO market on Base.

CAPO summary

CAPO is a price oracle adapter designed to support assets that grow gradually relative to a base asset - such as liquid staking tokens that accumulate yield over time. It provides a mechanism to track this expected growth while protecting downstream protocol from sudden or manipulated price spikes. wstETH price feed is updated to their CAPO implementations.

Further detailed information can be found on the corresponding proposal pull request and forum discussion for CAPO.

CAPO audit

CAPO has been audited by [OpenZeppelin](CAPO Price Feed Audit, as well as the LST / LRT implementation here.

Proposal actions

The first action updates wstETH price feed to the CAPO implementation. This sends the encoded ‘updateAssetPriceFeed’ and ‘deployAndUpgradeTo’ calls across the bridge to the governance receiver on Base.

Update price feeds to CAPO in cWETHv3 on Mainnet

PR - CAPO for cWETHv3 on Mainnet by MishaShWoof · Pull Request #1063 · compound-finance/comet · GitHub
PR(woof) - CAPO for cWETHv3 on Mainnet by MishaShWoof · Pull Request #263 · woof-software/comet · GitHub
Proposal - https://www.tally.xyz/gov/compound/proposal/509

Recommendations

The recommendations provided by Gauntlet

Symbol r sigma_r r_upper
ezETH 3.92% 3.15% 7.07%
wstETH 3.61% 0.43% 4.04%
weETH 2.95% 0.28% 3.23%
rsETH 3.57% 1.97% 5.54%
osETH 2.84% 0.26% 3.10%
rETH 2.66% 0.24% 2.90%
rswETH 3.27% 1.63% 4.90%
ETHx 2.88% 0.52% 3.40%
sFRAX 4.51% 0.44% 4.95%
wUSDM 4.53% 0.41% 4.94%
mETH 3.09% 0.82% 3.91%

Actions

Action name Link Status
1 Run Slither Link Success
2 Run Forge Tests Link Success
3 Run Tests With Gas Profiler Link Success
4 Run Semgremp Link Success
5 Run Scenarios (mainnet-weth) Link Success
6 Run Unit Tests Link Success
7 Run ESLint Link Success
8 Run Contact Linter Link Success
9 Run Prepare Link Success
10 Run Enact impersonate Link Success
11 Tenderly Simulation Link Success
12 Run Enact (by delegate) Link Success

Artifacts

Name Value
1 Migration name 1759414573_upgrade_to_capo_price_feeds
2 Branch name woof-software/capo-for-mainnet-weth
3 Prepare id 19498999997
4 Network mainnet
5 Deployment weth

Price feeds

Name Address Route
1 wstETH 0x91359Ce8989CB610A4127777828E667F23b94ee9 wstETH / stETH

(we consider stETH / ETH as 1:1)|
|2|rsETH|0x5AbcFC8A649Ac15Ff7d41c0Dd0d53aF3bBb7F876|rsETH/ ETH|
|3|weETH|0x5641Af9AB0794aFcc5c9B036f6E01144bA42E747|weETH / eETH

(we consider eETH / ETH as 1:1)|
|4|osETH|0xdf08cd1B9d40a106B49B74F70c1CCa60596edeDc|osETH / ETH|
|5|rswETH|0x0cA9231A11c242206139A6DD8Bf532F885516F96|rswETH / ETH|
|6|ETHx|0x9f4001c75295049Dc5D566acfB27054D1fa1af35|ETHx / ETH|
|7|ezETH|0xF5600F17F7d3D87d0e0Fdafe01Dbe513919C6bf8|ezETH / ETH|
|8|rETH|0x9feAc5a70435ef209F4013D46945AC1d4cba9397|rETH / ETH|

Description

Update price feeds in cWETHv3 on Mainnet with CAPO implementation.

Proposal summary

This proposal updates existing price feeds for wstETH, rsETH, weETH, osETH, rswETH, ETHx, ezETH and rETH on the WETH market on Mainnet.

CAPO summary

CAPO is a price oracle adapter designed to support assets that grow gradually relative to a base asset - such as liquid staking tokens that accumulate yield over time. It provides a mechanism to track this expected growth while protecting downstream protocol from sudden or manipulated price spikes. wstETH, rsETH, weETH, osETH, rswETH, ETHx, ezETH and rETH price feeds are updated to their CAPO implementations.

Further detailed information can be found on the corresponding proposal pull request and forum discussion for CAPO.

CAPO audit

CAPO has been audited by OpenZeppelin, as well as the LST / LRT implementation here.

Proposal actions

The first action updates wstETH price feed.

The second action updates rsETH price feed.

The third action updates weETH price feed.

The fourth action updates osETH price feed.

The fifth action updates rswETH price feed.

The sixth action updates ETHx price feed.

The seventh action updates ezETH price feed.

The eighth action updates rETH price feed.

The ninth action deploys and upgrades Comet to a new version.