[RFC] Generate USDC revenue through on-chain BAL covered call lending

TL;DR
We propose utilizing idle treasury-owned BAL to engage in covered call lending using MYSO: this would allow Balancer to generate significant stablecoin revenue, diversify part of its treasury and earn cash upfront without having to wait until loan expiry. In contrast to simply selling tokens, there’s no market impact. All loan execution happens through MYSO smart contracts and is trustless and fully transparent with full on-chain traceability.

About MYSO
MYSO is a decentralized lending protocol that allows users to borrow and lend with any ERC20 token (see https://www.myso.finance and https://app.myso.finance/).
The protocol currently holds a TVL of ~$1.7m (https://defillama.com/protocol/myso/) and is currently live on Ethereum, Arbitrum, Mantle, Evmos, and Neon EVM.
The protocol originated from the ETH Global Hackathon in 2021, where it was awarded as one of the winners (see The 2021 Year in Review. Here’s to an incredible new year! | by ETHGlobal | Medium).
It is also backed by several reputable crypto OGs, such as HashKey, Wintermute, and Nexo (see MYSO closes $2.4M Seed Round. MYSO Finance closes their Seed Round… | by Aetienne | MysoFinance | Medium).
MYSO has received several grants and has partnered with many top projects and DAOs in the space, including Mantle, Lybra, Pendle, and others.
The MYSO v2 protocol has undergone three independent security audits with leading security experts from Trail of Bits, Statemind, and Omniscia.

Abstract
Balancer has frequently engaged in treasury diversification efforts as well as deployment of BAL to various on-chain yield-generating strategies. The Balancer DAO still has a large sum of BAL tokens idle in the treasury and recent posts within the governance forums have mentioned the need to continue to actively deploy these funds to diversify/earn yield.

To support this endeavor, we propose using BAL to engage in covered call lending, allowing the treasury to generate USDC income. In contrast to conventional lending, the USDC is earned upfront, eliminating the need to wait until the loan matures. All loan execution happens through MYSO smart contracts and is trustless and fully transparent with full on-chain traceability.

The covered call lending parameters, such as loan duration and upside cap, can be customized according to individual treasury preferences to optimally serve the Balancer community. Unlike traditional CeFi-style covered calls which are oftentimes presented by market makers, this proposal allows Balancer to get access to a similar financial payoff but without any counterparty risk. This is because the borrower is required to post USDC collateral upfront, ensuring that Balancer never faces a situation where the upside cap price is not paid or the loaned BAL tokens are not returned.

The upfront USDC income from lending BAL can be immediately utilized for community needs. And unlike a simple token sale, covered call lending enables the treasury to diversify its holdings into stable assets without any immediate market impact.

Proposal Features

  • Idle BAL tokens can be used to generate upfront USDC revenue
  • Covered call parameters (e.g., duration, upside cap, size etc.) can all be fully customized to optimally cater for Balancer’s treasury preferences
  • Tokens don’t need to be sold, thus there’s no immediate market impact
  • Yield is generated through a covered call structure, where cash is paid upfront for lending BAL and implicitly writing a call option on the loaned tokens (see *Call option - Wikipedia) *
  • Loan execution happens transparently on-chain using 3x audited MYSO smart contracts, without counterparty default risk

Benefits

  • Immediate revenue and liquidity for operational and developmental activities
  • Diversification of the treasury into stables (e.g., multiple covered calls can be executed consecutively over a longer time period)
  • Unlike conventional covered calls or market maker loan arrangements, there is no counterparty risk

Example Scenario
Balancer treasury lends $250k worth of BAL for 60 days at a 110% upside cap. In return, the Balancer treasury gets ~$12,500 USDC upfront.

(i) If the BAL price remains below 110% after 60 days, the originally loaned BAL is returned.

(ii) If it exceeds 110%, Balancer treasury receives $275k USDC and also retains the upfront USDC.

The diagram below shows indicative upfront premiums that the Balancer treasury could earn across various loan duration (Days to Expiry) and upside cap (Relative Strike Level) combinations. Generally, the longer the loan duration and the lower the upside cap the higher the upfront premium Balancer can earn. Balancer can customize the covered call terms to their liking and choose from a number of different duration/upside cap combinations. Additional indicative prices can be provided upon request.

The premium for the example scenario above (110% upside cap, 60 day duration) is indicated in red (5.01% upfront)

How does a Covered Call work?
Below is a diagram illustrating the payoff of a covered call for BAL tokens and how it compares to simply holding. A simple holding strategy results in a linear payoff (green line).

For instance, if BAL increases by +10%, the gain is +10%, and if it decreases by -10%, the loss is -10%. On the other side, the covered call payoff line (blue line) also follows a linear shape but only up to the upside cap, beyond which the gain is capped.

Note how the covered call payoff line is shifted upwards by the USDC upfront premium received for lending BAL, regardless of how the price of BAL moves. This means that in all cases where the BAL price remains below the upside cap, the outcome of the covered call will always be better. Only when the price exceeds the upside cap would holding lead to a better outcome. From an overall risk perspective, this implies that the downside risk with a covered call is lower than holding BAL.

For example, even in the unlikely case where BAL were to drop by -100%, the covered call would have returned a better result because the upfront USDC cash would have been received in any case. Hence, the downside risk of doing a covered call is actually lower than simply holding BAL.

Where Does the Yield Come From?
When Balancer lends through a covered call, it essentially lends treasury tokens and writes a call option. The borrower, on the other hand, buys the call option and has the right - but not the obligation - to return BAL tokens. To initiate the loan, the borrower first needs to send USDC to (1) pay for the upfront premium to the Balancer treasury and (2) provide collateral for cases where the borrower doesn’t repay.

As in the example scenario above, if Balancer lends $250k worth of BAL for a 5.01% premium for 60 days with a 110% upside cap, the borrower needs to send ~$12.5k USDC for the upfront premium and $275k USDC as collateral, totaling ~$287.5k USDC.

At the loan’s inception, the Balancer treasury would receive $12.5k USDC immediately and keep it no matter what, and at expiry, two scenarios can happen:

(i) BAL price doesn’t increase by more than 10% after 60 days, in which case it’s rational for the borrower to return the borrowed BAL tokens and retrieve the $275k USDC collateral

(ii) If the BAL price increases by more than 10% after 60 days, it’s rational for the borrower not to return BAL tokens, resulting in an unlock of the pledged $275k USDC, which becomes claimable by the Balancer treasury.

It’s uncertain whether or not the BAL price will exceed the upside cap. One can use option pricing theory to determine a fair value for the embedded upside potential using the Black Scholes model (see Black–Scholes model - Wikipedia).
The USDC upfront premium that Balancer would receive (in this example $12.5k) compensates for selling this embedded upside potential or call.

How can the Balancer treasury lend BAL via Covered Call?
The Balancer treasury can use the MYSO DApp [https://app.myso.finance/] to carry out a covered call transaction. The first step is to create a “lender vault” (see screenshot)

Once a lender vault has been created, the treasury can then fund the vault by adding BAL tokens as assets to lend. Once the vault has been funded, one can then create a covered call loan offer according to the target terms.

On the ‘Create Covered Call’ page, you can add your desired upside cap, loan tenor, and upfront premium.

Once the loan offer has been created, it will become visible on the borrow page. Through MYSO’s OTC network, loan terms can be discussed and matched with institutional borrowers beforehand, so that when the offer is created, the Balancer treasury can be certain that the borrower will take the loan offer within a few hours. In case the borrower doesn’t execute the loan for any reason, Balancer can withdraw the funds at any time. Additionally, the loan offer can be created with a deadline, meaning that it automatically invalidates after a certain time. Lastly, the loan offer can also be parameterized to be executed only by a certain counterparty if desired.

How secure is it to do covered calls?
MYSO has undergone three independent rigorous audits with leading security experts from Statemind, Omniscia, and Trail of Bits. All audit reports are publicly available and can be seen here:

Statemind: [public-audits/Myso Finance/2023-08-15_Myso_v2.pdf at main · statemindio/public-audits · GitHub]
Omniscia: [Omniscia Myso Finance Audit]
Trail of Bits: [publications/reviews/2023-04-mysoloans-securityreview.pdf at master · trailofbits/publications · GitHub]

Moreover, as mentioned earlier in the proposal, one of the benefits of using MYSO for covered calls is the absence of counterparty risk. MYSO provides access to covered calls in a trustless manner, eliminating the need to trust the borrower.

Conclusion
This proposal has outlined how Balancer can generate USDC cash revenues by using idle BAL treasury for covered call lending. This approach not only diversifies the treasury but also avoids market impacts that could arise from outright selling BAL.

The flexibility in structuring loan terms allows Balancer to tailor the initiative according to its unique risk-reward preferences, ensuring alignment with its broader financial and operational objectives.

We look forward to hearing your comments and feedback and would love to assist in pushing this proposal ahead!

6 Likes

I wanted to add some notes around this type of strategy since this is something that was in place once not too long ago through Ribbon’s Covered Call vault starting back in July of 2022. Under that strategy we earned just short of $300k USDC of premium, roughly over a one year period.

That strategy ran every 30 days and targeted strikes typically 25% higher of the BAL price at the time. We had deposited 200k of BAL and exited the strategy with around 196k of BAL. There was one month where the price of BAL rose above the strike which resulted in us losing some of the BAL we had deposited.

Overall this strategy works best in a sideways or down market (where you want to continue to hold the underlying) as you are earning premium for allowing others to take risk via a call option (a lot of this is described above). I would love the team to propose some particulars around the strategy they want to implement, amount of BAL, strikes, length, etc. taking into account their research on BAL’s performance and volatility.

Under the Ribbon strategy our premium went down over time as volatility left the market broadly when we entered the bear market. Volatility has returned which is good for premiums, but the risk is that the market runs up and the premium doesn’t offset the gains we could have had holding the BAL. I suppose it depends on where you think the market is going from here.

5 Likes

Hey zekraken,

Thanks for the extra insights into the past initiatives and for raising some valuable points.

So in the full proposal which is in prod, we’ll definitely go into specific relative strikes, tenors, notional BAL amounts, and will also present some indicative premiums as well as the probability of being cash settled.
I think one thing to consider is we plan to put forward multiple strike levels, so that even on strong moves the chance of getting exercised on all of them would be lower (though still possible).

To touch upon your concerns as well - one thing to consider is that this proposal would be one part of a broader treasury strategy, so even if the upside is reached and cash-settled, it doesn’t mean necessarily you “lost” relative to holding. Maybe the treasury may want to, for instance, sell some on a rally and instead of selling OTC through TWAPs, choose on settling transparently on-chain at a predefined price, which may still fit well into a broader treasury strategy with defined, customizable terms.

Overall it is important for us to be transparent in the proposal and present the payoff in a way where all voters know what exactly what they are voting for (or against)!

3 Likes