Aera <> Compound Extension
01Summary
Compound DAO proposes to extend its partnership with Aera treasury management to generate yield on excess reserves. The proposal deploys 2,000 ETH, 15M DAI, and 10M USDC into Aera's vault for yield generation through Compound V3 lending markets, expected to generate $1M+ in annual treasury revenue and add ~$30M in TVL.
- Type
- treasury allocation
- Funding
- $$1000000+
Key changes
- Add DAI as an asset to the Aera vault with 86400 second asset delay(high)
- Update vault objective function from targeted volatility to yield generation to protect stablecoin reserves from volatile assets(high)
- Accept ownership of new hooks module at 0x8A216F2C84a3fE5a51Bf57B685864A065D14C53a to enable cWETHv3 supply/withdraw and DAI approve functions(high)
- Remove current cUSDCv3 C3PO from asset registry (to be re-added in subsequent proposal due to solc verification bug)(medium)
- Wrap 2,000 ETH into WETH for vault deployment(high)
- Withdraw 15M DAI and 10M USDC from Compound V2 reserves via _reduceReserves(high)
- Approve and deposit WETH, DAI, and USDC into Aera vault for yield generation(high)
Notable concerns
- Proposal is part 1 of 2 due to Compound's 10-action governance limit; part 2 will enable actual yield generation in Compound V3
- cUSDCv3 C3PO temporarily removed due to solc/via-ir flag verification bug on Etherscan despite contract being successfully used for over 1 year
- Subsequent proposal required to complete yield generation setup
Generated by Kvorum
02Description
Aera <> Compound Extension
Simple Summary
For over a year, the Compound DAO has used Aera for treasury management. This proposal builds upon prior work to further operationalize the DAO's treasury.
There is currently an excess of USDC and DAI reserves in Compound V2, which could be deployed in lending markets to generate yield for the treasury. Additionally, a portion of the ETH in the Compound Treasury can be utilized to generate yield.
This continuation of the existing programs will enable the DAO to drive a new yield source. The expected impact of this proposal is $30M~ in additional Compound V3 TVL and $1M+ in additional treasury revenue via yield generation.
Deployment details:
- Compound Treasury (2,000 ETH)
- Compound V2 Reserve Assets (15M DAI and 10M USDC)
- The vault’s objective function will be updated from targeted volatility to yield generation. This ensures the stablecoin reserves do not get allocated to volatile assets.
- The vault will continue to allocate into Compound V3 lending markets to generate yield on the underlying assets (this will be enabled in a subsequent proposal due to Compound's 10 action limit in governance proposals).
For more details, please refer to the Forum Post.
Specification
This proposal is 1 of 2 proposals, the second of which will be put onchain after this one passes. The proposals are split up in order to operate within Compound's 10 action limit on proposals:
- Add
DAIas an asset to the vault - Accept ownership of a new hooks module at address
0x8A216F2C84a3fE5a51Bf57B685864A065D14C53a. We need to deploy a new hooks module and have the Governor Bravo timelock accept ownership of it to work around a limitation in Governor Bravo that only 10 actions can be called in a single proposal. Without this workaround, adding the following function sighashes would put this proposal over that limit. This new hooks module already has all the existing hooks, plus the following new sighashes: cWETHv3supply&withdraw, and DAIapprove(needed to trade it for USDC) - Remove current cUSDCv3 C3PO from the asset registry. In a subsequent proposal we will be adding this back in. We are removing it due to a bug in solc and via-ir flag being able to verify the existing contract onchain (which has been successfully used for over 1 year, but cannot be verified on etherscan due to this bug).
- Wrap a portion of the ETH currently in the timelock into WETH
- _reduceReserves on both DAI and USDC V2 reserves
- Approve WETH, DAI, and USDC to be deposited into the Aera vault
- Deposit the assets into the Aera vault
03Mismatch analysis
I compared each bullet in the Specification section against the ten decoded actions. Asset registry changes (add DAI, remove cUSDCv3 C3PO) map cleanly to actions 0 and 1. The hooks module acceptance matches action 2's setHooks call to the exact address quoted in the description. The ETH wrapping (2,000 ETH) matches the WETH deposit in action 3 with matching value. The DAI and USDC _reduceReserves calls (15M DAI, 10M USDC) match actions 5 and 7 with correctly converted decimals (18 for DAI, 6 for USDC). The three approve calls (actions 4, 6, 8) are legitimately summarized in the description as a single bullet ('Approve WETH, DAI, and USDC...'), which is acceptable summarization. The final deposit action (9) matches the described vault deposit with all three assets and matching amounts. The one point of concern is the description's claim about updating the vault's objective function from targeted volatility to yield generation — there's no explicit calldata action that directly encodes this change; it may be implicit in the hooks module swap, but this isn't verifiable from the decoded arguments alone. This is a plausible but unconfirmed mapping, so I flagged it as a low-severity omission rather than a material discrepancy. Overall, the calldata faithfully implements what the description claims, with only this minor unclear item, so I rate this a minor discrepancy with high confidence given the strong action-by-action correspondence for the rest of the proposal.
Discrepancies
- lowomitted in description
The description states the vault's objective function will be updated from targeted volatility to yield generation, but no decoded on-chain action corresponds to an objective-function or strategy parameter change; the only related on-chain change is the hooks module swap (action 2), which enables new function calls but does not itself constitute an explicit objective-function update visible in this calldata.
“The vault’s objective function will be updated from targeted volatility to yield generation.”
Generated by Kvorum
04Actions
- Target
- 0xc725…9d33
- Value
- 0 wei
- Function
- addAsset((address,uint256,bool,address))
- Arguments
{ "0": [ "0x6B175474E89094C44Da98b954EedeAC495271d0F", "86400", false, "0x773616E4d11A78F511299002da57A0a94577F1f4" ] }- Calldata
- Target
- 0xc725…9d33
- Value
- 0 wei
- Function
- removeAsset(address)
- Arguments
{ "0": "0xEFB8350BA865a21e1FD8c9502Da7072D6930ef02" }- Calldata
- Target
- 0x3d6e…1d6b
- Value
- 0 wei
- Function
- setHooks(address)
- Arguments
{ "0": "0x8A216F2C84a3fE5a51Bf57B685864A065D14C53a" }- Calldata
- Target
- 0xc02a…6cc2
- Value
- 2000000000000000000000 wei
- Function
- fallback()
- Arguments
{}- Calldata
- Target
- 0xc02a…6cc2
- Value
- 0 wei
- Function
- approve(address,uint256)
- Arguments
{ "0": "0x3D6eEf6A92b15361697698695334E98C5db91D6b", "1": "2000000000000000000000" }- Calldata
- Target
- 0x5d3a…3643
- Value
- 0 wei
- Function
- _reduceReserves(uint256)
- Arguments
{ "0": "15000000000000000000000000" }- Calldata
- Target
- 0x6b17…1d0f
- Value
- 0 wei
- Function
- approve(address,uint256)
- Arguments
{ "0": "0x3D6eEf6A92b15361697698695334E98C5db91D6b", "1": "15000000000000000000000000" }- Calldata
- Target
- 0x39aa…7563
- Value
- 0 wei
- Function
- _reduceReserves(uint256)
- Arguments
{ "0": "10000000000000" }- Calldata
- Target
- 0xa0b8…eb48
- Value
- 0 wei
- Function
- approve(address,uint256)
- Arguments
{ "0": "0x3D6eEf6A92b15361697698695334E98C5db91D6b", "1": "10000000000000" }- Calldata
- Target
- 0x3d6e…1d6b
- Value
- 0 wei
- Function
- deposit((address,uint256)[])
- Arguments
{ "0": [ [ "0x6B175474E89094C44Da98b954EedeAC495271d0F", "15000000000000000000000000" ], [ "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", "10000000000000" ], [ "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", "2000000000000000000000" ] ] }- Calldata
05Tally
Summed from votes
06Voters
| Voter | Choice | % of total | Rationale | ||
|---|---|---|---|---|---|
| 8D0x8d07…a265 | For | 85K | 0.00% | — | 2y ago |
| 660x66cd…65f9 | For | 80K | 0.00% | — | 2y ago |
| 220x2210…d02e | For | 80K | 0.00% | — | 2y ago |
| 070x0703…961b | For | 80K | 0.00% | — | 2y ago |
| B90xb933…8dd1 | For | 80K | 0.00% | — | 2y ago |
| 130x13bd…8548 | For | 80K | 0.00% | — | 2y ago |
| 3F0x3fb1…4c8a | For | 80K | 0.00% | — | 2y ago |
| B40xb49f…7948 | For | 80K | 0.00% | — | 2y ago |
| B30xb356…c826 | For | 54.7K | 0.00% | — | 2y ago |
| 7A0x7ae1…e585 | For | 50K | 0.00% | — | 2y ago |
| ED0xed11…bb04 | For | 50K | 0.00% | — | 2y ago |
| 050x0579…ca09 | For | 50K | 0.00% | — | 2y ago |
| 4F0x4f89…fd3c | For | 50K | 0.00% | — | 2y ago |
| DC0xdc1f…e432 | For | 50K | 0.00% | — | 2y ago |
| TEtennisbowling.eth0xc3aa…f546 | For | 35K | 0.00% | — | 2y ago |
| 720x72c5…7708 | For | 1.2K | 0.00% | — | 2y ago |
| 5C0x5c04…dc62 | For | 671.8 | 0.00% | — | 2y ago |
| BE0xbe1d…c953 | For | 231 | 0.00% | — | 2y ago |
| E20xe2a6…325d | For | 100 | 0.00% | — | 2y ago |
| 050x0579…4048 | For | 11.2 | 0.00% | — | 2y ago |
| E40xe459…e666 | For | 5.2 | 0.00% | — | 2y ago |
| 210x21b3…fa75 | For | 2 | 0.00% | — | 2y ago |
| B70xb792…89d7 | For | 2 | 0.00% | — | 2y ago |
| 170x1729…b879 | For | 1 | 0.00% | — | 2y ago |
| 250x2543…c807 | For | 0.1 | 0.00% | — | 2y ago |
| 100x1084…3695 | For | 0.1 | 0.00% | — | 2y ago |
| D80xd8de…ae41 | For | 0.1 | 0.00% | — | 2y ago |
| 330x3313…6436 | For | 0 | 0.00% | — | 2y ago |
| 780x7853…719e | For | 0 | 0.00% | — | 2y ago |
| ED0xed04…6b50 | For | 0 | 0.00% | — | 2y ago |
07Forum
- Aera for Compound - Extension ↗discourse · high confidence
Arguments for
- The proposal lets the DAO put idle, non-yielding USDC/DAI reserves and treasury ETH to productive use, generating an estimated $1M+ in annual yield and $30M+ in additional V3 TVL.— Aera, PGov, pennblockchain, AranaDigital
- Aera's non-custodial vault design keeps assets fully controlled by the Compound Governor Timelock, allowing withdrawal at any time, so the DAO retains custody and reserves are not truly depleted.— Aera, cylon, AranaDigital
- Prior Aera programs (Reserves Vault and Vendor Payment Vault) have a track record of success—reallocating long-tail assets, generating ~4% yield, and reducing COMP sell pressure—supporting extending the partnership.— Aera, EventHorizonDAO, cylon, pennblockchain
- Gauntlet's risk simulations show Compound V2's Value at Risk is currently $0 and reserve ratios remain healthy even post-withdrawal, indicating minimal risk to protocol solvency.— Aera, AranaDigital
- The service is free during the pilot phase with no fees to Aera or Guardians, making the upside essentially risk-free from a cost perspective.— PGov, AranaDigital, pennblockchain
- The proposal does not conflict with or foreclose a potential future Compound Staking Program, since sufficient assets remain outside Aera and Aera assets remain flexible.— Aera
- Diversifying and actively managing treasury assets improves protocol robustness during weak price action and helps offset COMP sell pressure from vendor payments.— EventHorizonDAO
Arguments against
None surfaced.
Unresolved concerns
- Reserves are being pulled from the V2 reserve fund, so the DAO must ensure reserves never fall below a safe threshold covering liabilities and should proactively top up if risk metrics deteriorate.— AranaDigital
- Request for other delegates to voice any additional risks they see before the on-chain vote, which does not appear to have been followed up on in the thread.— AranaDigital
- A bug in the solc compiler/via-ir flag prevented verification of an oracle contract on Etherscan, forcing cancellation and redeployment of the original proposal.— Aera
Notable participants
- AeraProposer who outlined the plan, answered questions, managed proposal revisions/cancellations due to a compiler bug, and reported on-chain execution progress.
- PGovEarly supporter who highlighted the yield and TVL benefits and suggested future fee-sharing possibilities.
- EventHorizonDAODelegate offering broad support citing treasury robustness and COMP sell-pressure mitigation.
- AranaDigitalSupportive delegate who raised the main risk-management concern about reserve fund depletion and requested ongoing monitoring.
- cylonOpenZeppelin representative expressing personal support based on security review experience with Aera's vault system.
- pennblockchainDelegate expressing support and framing the $1M yield target as a benchmark for evaluating Gauntlet's performance.
- jbass-ozShared OpenZeppelin's formal security review of the on-chain proposal, noting one low-severity issue.