[Proposal] Aera for Compound Service Provider Payments

This post is written in collaboration with OpenZeppelin and builds on some of the discussion in this post.

Overview
We propose a standard payment process to be followed by all service vendors of the Compound DAO. This new process utilizes on-chain protocols, Aera Vault and LlamaPay, to setup long-term payment streams in USDC that reduces both price-risk for vendors and governance overhead for DAO voters. This has the added benefit of improving the financial position of the DAO treasury allocated to future service costs by supplying liquidity to cUSDCv3 that earns additional yield.

Background: Problems with Vendor payments in Compound
Over the last few years, vendors have noted challenges taking payments in COMP tokens. In particular:

  • Vendors expenses are denominated in USD, and they need to sell out of their COMP holding to acquire stablecoins.
  • COMP price fluctuations plus Sablier style vesting cause vendors to take a lot of price risk (Gauntlet, OZ) on their payment stream leading them to sell at inopportune times or lose value (in $ terms) on their payment stream. Further, coming up with a pricing mechanism here is tricky, with different tactics employed to set a price that hedges this risk.
  • Vendors are exposed to slippage and execution constraints that add overhead to servicing the DAO, when instead they want to focus on delivering their service to the DAO. A recent research report we did for Arbitrum showed that Grantees and third parties do not liquidate their ARB grants optimally, affecting the price of the token.
  • Vendors don’t want to hurt the COMP token price inadvertently by market operations
  • Compound treasury is mostly denominated in COMP tokens minus the reserves, which means that vendors are often not faced with a choice when it comes to receiving payment from Compound for their offerings
  • Some vendors (such as OZ), need to renew their contract with Compound on a quarterly basis as a result of these challenges in order to hedge their price risk as indicated here. This creates logistical overhead and uncertainty in long-term engagements with the DAO

High level idea
In this post we propose using an Aera vault as a mechanism for vendors to receive payments in stablecoins while also providing liquidity for key Compound markets for unvested payment streams. Specifically we propose

  1. Creating an Aera vault owned by Compound Governance that deposits a lump sum of COMP based on current annual expense needs plus an additional buffer to hedge for price fluctuations
  2. The Aera vault will diversify out of COMP and into USDC using onchain vehicles like uniV3, Bebop, and milkman
  3. (Optional) USDC will be deposited into the Compound III ETH-USDC comet as cUSDCv3 to generate yield on the holdings while providing liquidity to the market
  4. Payment streams will be set up per vendor that uses the Aera vault as a source and the Vendor’s multisig as a sink transferring USDC to meet Compound vendor payment obligations.
  5. On a yearly cadence the Aera vault will be topped up with COMP via Compound governance.

As a result of doing this Vendors will need to undergo a realignment on their payment terms with the DAO, and in order to start this we propose Gauntlet and OZ as initial candidates for this payment model.

Mutual benefit to the DAO and Vendors
We see this as a win-win to the DAO and vendors in the following ways:

  1. Execution out of COMP can be done in a structured way to minimize the price impact on COMP. Vendors and DAO tokenholders don’t want to hurt the positioning of COMP in the market, Aera can minimize price impact via structured execution. Vendors are already doing this execution themselves in ad hoc ways, and the effect of this execution on COMP token price is hard to measure/opaque. We have conducted this analysis on Grantees in Arbitrum and seen that even small liquidations of ARB grants can move the market in significant ways.
  2. USDC generated from the execution will be redeployed into Compound III USDC comet adding liquidity to the market and also generating yield for the vault making adding some growth and sustainability to the holdings that can be used for future expenses
  3. Vendors get stability on their payment streams and have less operational overhead in order to sign up for engagements with the DAO. DAO tokenholders equally are spared from the logistical overhead in voting, of which voter turnout and quorum has been a recent challenge.
  4. Vendors still are at the behest of a vesting strategy employed by LlamaPay, and since the Compound DAO is the owner of the vault, the DAO has direct recourse on Vendor operations (essentially Compound Vendors are under the same constraints they are now)

Detailed proposal

The flow is as follows:

  1. Compound governance deposits COMP into an Aera vault
  2. The Guardian starts swapping COMP for USDC till there is a sufficient buffer of stablecoin reserves (for now 1 quarter of vendor payments for Gauntlet and OZ)
  3. The Guardian deposits USDC into cUSDCv3
  4. Once buffer is achieved, issue another compound governance vote to cancel existing payment streams, and set up new payment streams using the Aera vault as a source and the vendor multisigs as a sink
  5. The Guardian now incrementally tops up the payment stream with USDC via the cUSDCv3 holdings (unwinding the position)
  6. On renewal of a vendor contract, a Vendor will need to Deposit more COMP into the Aera vault and
    set up new payment streams via Governance
    • Note this renewal flow may change slightly to decouple the COMP depositing from the new payment stream set up in order to build up sufficient buffers of USDC so the payment stream can start in a timely manner

Aera vault specification
An Aera vault will be set up with the following approved assets and exchanges to facilitate this proposal:

  • Assets: USDC, WETH, ETH, cUSDCv3, LlamaPay
  • Exchanges: UniV3, Milkman, Bebop, Curve, Balancer, Sushiswap
  • Owner: Compound Governance timelock
  • Guardian: Gauntlet
  • Chain: ETH Mainnet

Proposal details
This proposal will:

  1. Transfer ownership, hooks contract, and asset registry of this Aera vault to the Compound Timelock (in the same way as the pilot)
  2. Deposit $7.2M of COMP into the vault
    a) This number is based on current Gauntlet and OZ annualized payments plus a buffer of 20% for price fluctuations
    b) Exact amount of tokens will be decided closer to proposal going live

Once the proposal passes, the Vault will begin swapping COMP into USDC via the exchanges listed above. The Vault will initially need to build up a buffer of USDC which we expect to take 15-20 days, though of course this is highly dependent on liquidity conditions at the time of execution.

Payment stream details
Should this proposal pass, vendors like Gauntlet and OZ will be able to swap their payment streams from the Compound treasury to the Aera vault controlled by Compound governance. However this will not be an instantaneous switch, as per above we will need time to generate sufficient USDC holdings to pay out contributors.

As part of this proposal we will be swapping payment streams from Sablier to LlamaPay. This is due to technical restrictions around Sablier. Currently Sablier only supports closed-ended streams, this means that the entire vendor payment amount for the period must be escrowed in the vault at the point of initialization (i.e. $4M USDC for OZ and $2M USDC for Gauntlet). On the other hand LlamaPay has open-ended streams, this allows for the payment stream to be ‘topped-up’ incrementally and doesn’t require the entire capital amount to be escrowed up front. This is massively beneficial from a capital efficiency standpoint as it will allow the Guardian more flexibility with execution out of COMP. Further it is beneficial for the DAO as there is less idle USDC sitting in the payment stream for vendors and more cUSDCv3 in the vault that is only transferred in a just-in-time basis (with a buffer). This means the vault is earning more yield, and providing liquidity to a key Compound market. Actual transmission of funds and assets and payments to vendors would occur through LlamaPay.

Risks
Given that all payment streams would now be in USDC and we are planning this payment over a year, there are 2 primary risks we are concerned with

  1. COMP price fluctuations causing the value of the COMP in the Aera vault to fall below the USDC denominated payment streams during the period where the vault is selling out of COMP into USDC
    a) In this case we would need to request more COMP from governance to continue to pay contributors.
  2. COMP execution dynamics shift heavily. Currently we are confident in being able to execute out of the COMP with minimal price impact, however this is completely at the behest of offchain and onchain liquidity conditions. Given that currently over $30M-$50M of volume is traded in a given day, this is not currently a major concern, but we will monitor as these conditions evolve

Execution estimates
We will primarily be using Milkman by CoWSwap and Bebop as the primary execution venues as we have observed good execution quality for large sell orders. We plan on selling $100k-$200k of COMP per day. We have historically observed 30BP-200BP of slippage on orders of this size. Specifically, at time of issuing the order the Guardian looks at mid-market prices across multiple centralized exchanges to determine a fair market price, and adds a little buffer on that price to ensure an order of this size can be filled (in order not to get frontrun, we will not give the exact methodology here).

Given this amount of notional we estimate 10-20 days to generate $1M in USDC.

With Aera, there are constraints at the smart contract level to prevent >3% daily loss as a result of guardian actions. This means that the worst case loss at the smart contract level is 3%, however this is unlikely and just an additional protection.

Timeline
Initially we will just start by funding the Aera vault and then swapping COMP into USDC to create a buffer that claimants can draw against. After we have accumulated 1 quarters worth of payments for OZ and Gauntlet (currently valued at $1.5M), we will work with those parties to cancel their existing payment stream and set up a new one from the Aera vault. This will need to be done via governance. Specifically we will cancel the existing payment streams and as part of the same proposal start a set of new payment streams that use the Aera Vault as a Source, the vendor multisigs as a sink with a specified duration and amount.

Based on the execution estimates above, we project the following estimated timeline:

Item Estimated Timeline
Initial Execution 10-20 days
Cancel existing payment streams for Gauntlet and OZ via Governance (forum + vote) and Initiate yearly llamapay streams and start paying out in USDC 15-20 days (Governance timeline)
Set up renewal payment streams Once per year, done via governance

Aera App
Aera was built to be transparent and non-custodial. Similar to our other vault with Compound reserves, we will be providing a dashboard where the current state of the vault can be seen, including the ongoing Sablier payments and the execution details of COMP→USDC. While not all these features will be there at launch, the vault value and transaction details will be with the others following soon after.

What will not be changing
Vendors will still need to reach agreement with the DAO directly on any engagement they propose and the payment terms of that engagement. However, now the payment can be denominated in stablecoins and the proposal via governance will now allocate a certain amount of COMP into an aera vault and specify the payment stream terms.

COMP tokenholders still have recourse over the Vendor payment streams as they control the vault and deposit/withdraw/edit payment streams in the vault.

Why Aera
Aera has been in a pilot with Compound V2 reserves for the past few months and has successfully sold out of ZRX onchain with very low slippage (<50BPs) and no price impact. Further Aera has had an Audit conducted by OZ for the incremental Llamapay component.

Aera in more detail
Aera is a 2-sided protocol: Depositors like DAOs who are Owners of the vault and Guardians who optimize the vault according to the Owners objective function.


An Owner initially deposits into the vault, selects the objective function (i.e. a Risk managed portfolio via Volatility targeting, a Yield strategy to generate ETH yield via leverage, Asset diversification using onchain exchanges etc.), the set of assets that the vault is allowed to trade, DeFi protocols it’s allowed to interact with. Additionally the Owner can set more constraints on the vault via a customizable hooks module. Some example hooks could be: the vault is not allowed to lose more than 3% of its portfolio value in notional terms in a given day, or the vault must always contain 10,000 of a given token at all times.

Once the Owner deposits into the vault the Guardian begins to optimize it against the objective function prescribed by the DAO.

As above Guardians can implement whatever offchain logic and additional modeling they want to achieve the DAOs goal, in the case of the DAO choosing a Risk strategy via volatility targeting, the guardian may build ETLs and models to fetch asset price data and compute volatility. They could extend this to fetch implied volatility from deribit or other centralized venues if this is helpful for achieving the DAOs objective.

In this proposal the Objective function will be execution quality and this can be measured by trade execution price. We have started to call this Protocol Owned Execution (PoE), and see this as a major benefit to the DAO as they are able to better control sales of their token in ways that won’t adversely effect their token price or force sellers of the token to experience bad execution when they are looking to sell.

From this initialization point, the Guardian submits rebalance operations against the vault on a regular cadence (i.e. daily, weekly) in a continuous optimization process.

The Guardian is limited in what it can do at a smart contract level. The Guardian is not able to withdraw assets from the vault or do anything that will break the invariants set up in the vault via the hooks module. All operations must happen onchain and leverage other DeFi protocols making Aera strongly transparent. Critically, the constraints of the Vault prescribed in the smart contract logic, means that Guardians need to strongly automate their strategies. This limits the discretion that the Guardian has and gives the Treasury Owner stronger guarantees and confidence around achieving the objective, while minimizing the surface area for mistakes and other risks. Automation drives consistency and removes logistical overhead for the DAO.

Due to this blend of onchain constraints and offchain logic, Owners using Aera get a system that is non-custodial, transparent, and efficient at achieving their goal. In summary, Aera is a robust and composable protocol that can support a variety of objectives for DAOs:

  • Treasury Diversification
  • Risk Managed Portfolio Management (via volatility targeting)
  • Runway management
  • Yield generation

Next steps
We would like to gather feedback from the community and other service providers to gauge interest in this proposal.

3 Likes

OpenZeppelin has long been working with Aera and Gauntlet regarding this proposal in response to many DAO delegates advocating for a more efficient payment process. We see this proposal as an obvious win-win-win for voters, vendors and the protocol.

With OpenZeppelin’s next payment proposal coming up at the end of Q3, we plan to adopt and use this vendor payment structure so that we can move back to a yearly renewal model while reducing our financial risk. We urge the community to give their feedback and support this initiative.

I am worried about selling such a large amount of COMP tokens every 3 months which could negatively affect the token price.

1 Like

Hi Dmitriy, thanks for the comment.

We have observed both on and offchain liquidity for COMP and see a lot of offchain trading volume and depth for COMP. As mentioned in the post there is about $30-50M of COMP traded daily, and the total notional that would be swapped over the course of a quarter would be ~$7.2M.

This is significantly smaller than even the 1-day trading volume of COMP, and Aera’s execution strategy spreads out the trade to minimize slippage (anywhere from $100-500k at a time). Since Aera uses hybrid exchanges like CoW Swap and Bebop, we are able to tap into this offchain liquidity via solvers. We don’t expect any meaningful impact on price as a result.

1 Like

First proposal depositing COMP into the vault is live. Voting will commence in 1 day. Subsequent proposals to migrate payment streams for vendors would happen after a sufficient buffer of USDC is generated by the vault

2 Likes

Think this is a good development. Only comment is, I think some portion of service provider payment should still be COMP denominated (maybe 20-30%?) to give service providers meaningful incentive alignment with token holders. This can be dealt with separately from the Aera vault as part of service provider payment agreements.

1 Like