Currently UST is earning in Anchor around 20% APY. There are many pools on Astroport that have UST as one of the two trading pairs. Since utilization in the pool is rarely going to hit 100%, I was wondering why not have a mechanism to take a fraction of that (perhaps 50% or even more) and stick it in Anchor to earn 20%. At every transaction check the fractional reserve of UST in the pool and if it drops below a certain amount then adjust the % of allocation to Anchor?
This could boost considerably the amount of APR earned on any pool with UST. If for example we assume 50% of UST to be held in Anchor, we are looking at 1/4 of the pool earning 20%, which means a 5% APR boost. In essence, not an insignificant amount.
Any thoughts in regards would be appreciated.
This is a very interesting idea indeed.
One thing we should consider is external risk introduced by the Anchor protocol (e.g smart contract issues).
This would also work better for XYK pools, in stableswap I’d rather see aUST used directly and a slightly different pool implementation to account for interest accrual in one of the tokens.
Good idea indeed,
Maybe another solution would be to buy astro and boost astroport staking reward using this extra UST anchor yield.
More staking reward, higher astro price, more LP rewards, More LP pairs willing to fight for a spot in the astro LP reward program.
Since astro is building a competitive environnement to win those LP astro reward spot, it would make sense to make them as attractive as we can.
The idea is where you will boost by 5% the LP reward by distributing the UST directly you will probably boost a lot more astro staking and astro price and have a way higher benefit overall. Creating a virtuous circle.
Who I am to say no to higher yield?
That said I think to be fair to anchor protocol you should also symmetrically deposit bLuna from the luna-bLuna pool in anchor borrow (without borrowing) so as to reduce the depletion of the yield reserve.
interesting idea, thing is by depositing bluna we could also get the luna yeild staking part. We could indeed choose to give it to anchor or use it for astroport too.
I think the goal of the Anchor protocol is to distribute a base rate deposit yield. So depositing UST and collecting yield is well within the scope. I mean this is not a degenbox levered strategy (which I’m a bit less in favor of).
That said - what you mentioned is also a pretty good idea. Use any asset that can be used as collateral on Anchor and use as collateral a fraction of it in Anchor to UST and deposit them to earn the 20% yield. This would be way more sophisticated though, than a simple fractional reserve in UST. Because you need a mechanism to make sure you don’t get liquidated if bLuna (or stLuna) drops considerably.
Although in anchor V2, all bassets will be getting their staking reward directly autoconpounding their yeild, so it will not work.
You can still use them as Collateral. So instead of using bLuna you can use stLuna as collateral, borrow with a conservative 50% LTV or so UST and deposit in Anchor. That said after paying the borrow rate, you are probably averaging out between 5% and 10% APY (depending on your LTV). So probably not worth it, especially with liquidation risk embedded.
Question is why not just pair everything with aUST then
Funnily enough, TFLOKI has implemented the very same concept. I.e. they:
- Leave only 200k UST in the pool
- Keep the remainder of UST in Anchor Earn
- Calculate swap conversion ratios as if entirety of UST was available
- Adjust the amount deposited to Anchor Earn regularly
I believe it would be better to have the amount of UST in the staying in the pool defined as x%, no less than y UST. E.g. 10%, no less than 300k UST (or whatever the max swap size was historically).
That’s great. I consider it validation on the concept.
I agree with you on floor concept of the least of x% of the UST position in the pool or $y UST.
I think this great idea! In line with the goal of Astroport to be composable to maximize yields.
Makes sense to me that it would start with a very small percentage (still extra yield!) so as to allow the depth of the liquidity pool to be realized if/when it is needed by the market. The key is to not undermine the core utility of the LP
I think earning Anchor rates in LPs makes sense. If Astroport doesn`t do it, someone else will.
The best implementation in my opinion is what curve does with interest-bearing tokens, where they put 100% of the tokens in lending/yield aggregator platforms (i.e.: Curve.fi). To make UX simpler, they allow for users to swap the underlying base assets instead of the wrapped versions (e.g.: Astroport could have a LUNA<>aUST pool, but users could swap LUNA<>UST directly)
What happens to the yield generated from bLuna currently in luna-bLuna pool on Astro? I assume that already accrues to Anchor, but I could be wrong.
Would be awesome to see a community contributor build a xyk pool type that supports lending on Anchor. Can set up a bounty if people here think it’s a good idea.
I think this is a great idea. I just started learning Rust & Smart Contracts in Terra - If I had a few technical questions as I review Astroport’s code, who should I reach out to? Would it be the discord channel?
Hello Dohko, yes you can use the #dev-chat channel on discord.
Hi Roberto, Sounds good. I just requested in the #introductions channel if I could get access to it.
Possibly writing this from a naive perspective.
I’ve been staking UST & ANC-UST in Anchor for a while. Then Astroport arrives & I now I create an LP pair on Astroport & stake LP on Anchor.
Personally I’m not sure why Anchor exists seperately from Astroport if the Terra ecosystem liquidity is supposed to be centred there.
However, bottom line is, I’m wondering what has been decided re Anchor, Anchor UST staking & ANC staking? Currently I’ve got an Astroport created LP still staked on Anchor.
I was reading that in March 2022 (next month), that Anchor financing runs out, so I’m half expecting some (further) changes to be introduced very shortly.
Great proposal @dokho and awesome to see the Astroport community coming alive!
In general, I think finding some way to ensure the UST on Astroport can earn the Anchor yield is a great idea. I’ve given this a fair bit of thought and think the alternative you present here is one of two possible implementations.
The other alternative is to simply migrate pools to aUST rather than UST. While this presents some complexity in terms of UX on swapping, we can combat this by implementing a virtual aUST <> UST pool. Users would not be able to add liquidity to this virtual pool and all it would do is deposit / withdraw UST from Anchor. In my view, this achieves the best of both worlds as liquidity on Astroport can sit in aUST but users can still trade and interact with it via UST with zero slippage or fees.
For example, let’s imagine an aUST <> ANC pool. A user who wants to buy ANC can do so with UST, with Astroport simply routing the UST through the UST <> aUST pool and depositing onto Anchor before trading it for ANC. Similarly, if a user wants to sell ANC to UST, Astroport would first sell ANC for aUST, then route through the aUST <> UST pool which would withdraw it to UST. This would effectively allow Astroport to treat aUST and UST as the same asset, enabling users to denominate in whatever they want while ensuring the liquidity sitting in pools is productive.
Let me know what you think!