Rough Idea: Yield-Max pyBTC strategy

The short of it:

  • BTC can yield some returns if treated correctly
  • no oracles = no exploits
  • DILL DAO involvement = increased incentives to vote and 2.5x your yield
  • Recent success of e.g. BADGER shows that BTC wealth is looking for a place to farm
  • the sLP Stable/ETH pairs will likely be discontinued
  • yearn does not have a decent BTC strategy
  • switching between curve pools via e.g. Furucombo with x-of-y from governance

Here’s my idea.

  • It obviously disregards a lot of components that usually are shwon in yearn vault structures, but I didnt want to go overboard.
  • It’s basically any number of Jars that are “hidden” and only accessible via a single WBTC-accepting frontend, much like the yearn single-coin stable vaults.
  • pyBTC = pickle yearn BTC, just to be clear on what you already guessed.

The user sends WBTC to the pyBTC vault, which “zaps” into any of the underlying Curve BTC pools by allocating the WBTC to the curve pool with the highest APY.

When withdrawing, the pyBTC strategy determines curve the pool with the lowest APY and withdraws WBTC from there to pay out the user, thus maximizing yield for the remainder of the users.

Every 14 days, the community can vote to re-allocate chunks from one curve pool to another.
This is done mainly to avoid trx-fee cost overhead for automated rebalancing and secure against exploits if APYs / pegs go wild. It also serves to conserve engineering power and minimize audit costs.
Given enough traffic, the strategy should auto-balance between the different curve pools via deposits and withdrawals with medium lag.

A minimum / maximum percentage of allocation could be instated to always have at least two or three and at most five active curve pools under management. The APY-component also considers issuance of third-party incentive tokens such as BOR or PNT:

I’d like to propose the research of such a structure to deploy it as a yearn v2 vault taking advantage of their veCRV lockup and granting DILL lockup bonus.

New Components:

  • pyBTC Minter / Vault Frontend. This has to calculate the value of one pyBTC LP share and mint/redeem accordingly.

Old, reusable Components:

  • The Curve Jars can be slightly adjusted copies of the renBTC Jar.
  • The Curve Jars take advantage of the yearn veCRV lockup.
  • K3PER / Harvester inegration: The Harvester needs to be adjusted to not only farm CRV but also some of the other incentive tokens. Should be doable.
Let’s build an innovative BTC Vault!
  • Yes, brined BTC are the most delicious!
  • No, I don’t like BTC.

0 voters

But first: COMMENT!


I support this concept. I guess the main consideration is the cost associated with the switch. So i guess the math to do is what is net profit difference for the switch. That should be part of the math…

So net expected gains from the switch - gas fees. If sufficient the person paying the gas could even be reimbursed from the gains.

There’s two components to this:

  • the quasi auto-rebalancing by depositing to the highest APY pool and withdrawing from the lowest APY pool (keep in mind this is only for user deposits and withdrawals)

  • the DAO-vote rebalancing once every two weeks that should be “okay” cost wise (swap to WBTC, withdraw WBTC, deposit WBTC and swap into pool). I do not expect this to take place a whole lot except when we have the chance to go from 2% to 10% with 10M, then it’s a no brainer.

1 Like

Love this idea but the issue with deposit to best, withdraw from teh worst, is having enough balance in each. Could get complicated depending on the amount being requested for withdrawal - would the contract have to withdraw from multiple pools at once?

simple mitigation tactics:

  1. withdraw from lowest_APY_pool that has balance >= requested_withdrawal
  2. withdraw any amount <= requested_withdrawal from lowest_APY_pool, repeat until requested_withdrawal amount met

#2 might be a bit more gas intensive, but also helps to “clean house”.

1 Like

edited the OP to reflect some input from the community

1 Like

This won’t work if you just base yourself on the APY of a farm.
Since withdrawing our TVL from a farm might give that farm a higher APY than all other farms. And entering the highest APY farm might drop that APY to be the least profitable APY. I propose to do the math in excel or on-chain site first before even considering this.
Since it basically is developing multiple BTC strategies and let the DAO be strategist and select the active strategy. A DAO can only decide wisely with correct input calculations. So i think we need to calculate that before we start allocating dev resources to this. Currently the btc strategies earn significantly less profit for the community than the other ones. So the business case need to be made with hard numbers to support this.


Heed the title: “Rough Idea”.

That’s the thing - developing these calculations is beyond me at the moment. I don’t possess the engineering skills and (more importantly) I’m a normie with kids and a job, so I simply do not have the time.

Exiting from the renBTC Jar to WBTC via the Pickle Zapper just cost me $33 which is not “cheap” but also not prohibitive.

TVL vs APY calculations, at least approximations, are rather “back of the envelope” and should be straightforward (I mean we do calculate APY for existing Jars and Farms, non?).

1 Like