Pros and cons of adding liquidity to LSU pools

So it looks like LSU pools are the new hot thing, but what are its advantages and drawbacks?
I can think of some but I’d like to hear your thoughts. I’m not an expert on this topic so feel free to correct me if I’m wrong

Pros:

  • Higher APY compared to staking due to LSU swapping fees
  • Increases TVL and thus Radix visibility
  • Can easily swap the LSULP token for LSU of a different validator than the original one

Cons:

  • When removing liquidity you might get another validator’s LSU if there are not enough LSU of your original validator (plus additional fees)
  • No airdrops
  • Bugs/exploits risk

An user also raised an interesting question: is there a risk of centralization if lots of us give up our LSU to a pool owned by others? Staking was implemented to help decentralization, does this change with LSU pools?
Can the pool owner act maliciously by, for example, unstaking all the LSUs from a performant node and adding XRD to a node that’s offline?

1 Like

Increases TVL and thus Radix visibility

Might want to be careful with that one. Solana reached a very high TVL during the bull run, but it was entirely artificial. The same single developer created a number of different DeFi services in which you could stake token A to receive token B in service 1 and then stake token B to receive token C and service 2 and then stake token C to receive token d in service 3, etc. It had the effect of making all the services look much more impressive than they were. When the gettin was good, people were happy to lock their tokens in each one to get a little bit more APY. But when the price crashed and everybody pulled out, the services collapsed and the TVL cratered. People look like fools for not even noticing the one single guy had started all these fake companies.

IMO doing stuff like this creates false impressions of value locked, similar how to how wash trading creates false impressions of volume (thus why it is illegal). I don’t think that it makes an ounce of sense to count the same money twice like you were suggesting here.

In a vacuum, sure, maybe? But I think most, if not all, LPs should be decentralized, making this impossible, yeah? Only someone with a significant share of the tokens could do this, and they could do it without involving the LP.

1 Like

Didn’t know about that whole Solana thing, very interesting and I agree.

IMO doing stuff like this creates false impressions of value locked, similar how to how wash trading creates false impressions of volume (thus why it is illegal). I don’t think that it makes an ounce of sense to count the same money twice like you were suggesting here.

Why do you say that the money would be counted twice? As far as I know, people are pushing for LSULP because DefiLlama so far is only counting value locked in pools and not in staking. I was under the impression that it was only counted once, only when locked in a liquidity pool. Am I wrong?

I think what makes this hard for my head to wrap around is not having math equations laid out in front of me so that I can understand what’s going on by plugging in some example values.

What’s confusing to me is how fees work such a situation.

Say:

There is 1000 XRD staked in the pool

validator 1 comprises 50% of the pool - 500 xrd - and has a 20% fee.
validator 2 comprises 20% of the pool - 200 xrd - and has a 10% fee.
validator 3 comprises 30% of the pool - 300 xrd - and has a 0% fee.

I stake 100 XRD with validator 2 then add it to the pool.

Now the pool has 1100 staked and I get back some amount of LP tokens.

How many do I get back? What do they represent and what fees get paid on them, and when, and what happens if the fees or uptime changes for a particular validator?

In a nutshell, I’m confused why someone would use this product instead of staking normally, mostly because I have no idea how it actually works on an exact level.

If that’s the case, then disregard what I wrote. I assumed that staked tokens counted as funds locked, since they take time to unstable. Is that not the case on other networks?

Lots of good questions here, I don’t have all the answers since this is strictly connected to how @CaviarNine implemented their own LSU pool, but I can try to answer some.

First of all, you stake LSU and get LSULP. You get less LSULP than the LSU you staked because they increase in value. Currently 1 LSULP ~ 1.0010 LSU ~ 1.0080 XRD.

When you want to remove liquidity and get back LSU, how many you get depends on many factors (read more here: Removing Liquidity - CaviarNine - The Future of DeFi), one of them is for example if the pool has the LSU you want to get back. If not, you may need to get another validator’s LSU, which means you might incour in fees.

Not all validators are included, those that don’t accept stake or have too high fees aren’t included in the pool. I guess that if a validator increases its fees too much, the CaviarNine guys can unstake and remove that validator from their list.

In a nutshell, I’m confused why someone would use this product instead of staking normally, mostly because I have no idea how it actually works on an exact level.

Because the APY is higher compared to traditional staking since you also earn rewards from the fees of the users that wanted to swap LSU (e.g for instant unstake or to move to another validator instantly).

Would be cool if we could have someone from CaviarNine clarifying all your (our!) doubts. I’ll let them know on TG.

I assumed that staked tokens counted as funds locked, since they take time to unstable. Is that not the case on other networks?

I think it usually is, yeah. I don’t know the exact reason why DefiLlama doesn’t count staked tokens yet, but I think it’s one of those listing problems that will be fixed sooner or later.

Hi all!

Thanks for the tremendous interest people have shown in CaviarNine Babylon products. The LSU Pool product is obviously a hot topic, especially after Mattia’s excellent post.

Firstly, please check out the docs : https://docs.caviarnine.com/products-floop/lsu-pool/lsu-pool-overview

Secondly, please join our TG where you can field any questions : https://t.me/caviarxrd

Thirdly, we’ll be adding a bunch of Q&As to the docs this weekend.

Fourthly, did we mention checking the docs? :smile:

To answer some of the points Kevin raised:

Executive Summary

  1. You add LSUs (with a value in XRD) to the Pool (valued in XRD)
  2. You receive minted LSULPs reflecting your % ownership of the Pool (from XRD amounts in 1)
  3. Economic activity happens in the Pool (swapping)
  4. LSUs in the Pool go up in value (in the usual way, based on Validator performance)
  5. You remove liquidity (send back your LSULPs)
  6. You receive LSUs of a given XRD value reflecting the Pool XRD value and your share of the Pool

More Detail

Adding liquidity

Adding liquidity is free.
When you add liquidity (ie send in some LSUs), you are sending in an equivalent XRD value at that instant (number of LSUs you send * price of LSU in XRD).
Also at that instant, the LSU Pool has an equivalent XRD value (sum of : LSUs in Pool * prices of LSUs).
So the Pool mints you LSULP tokens equivalent to your share of the new Pool value:

example:
if the Pool was worth 900 XRD (from various LSUs) and you added 100 XRD worth of LSUs, you now own 10% of the Pool (the Pool is now worth 1000 XRD)
If there were 900 LSULP tokens in circulation, then the Pool mints 100 and sends them to you (you now own 10% of circulating LSULP).

In the interim, the value of the Pool (and LSULP token) increases for several reasons:

  1. Increase in value of the LSUs themselves from validator yield
  2. Swap fees in the Pool when someone does an instant switch between validators
  3. Some secondary swapping fee income from arbers buying cheap LSULP after Instant Unstaking
    (see docs)

Removing liquidity

In this example you owned 10% of the Pool (and first let’s ignore new liquidity added)
So when you remove liquidity, you can take out 10% of the XRD value of the Pool.
So if the Pool value is now 1020 XRD, you get back 102 XRD worth of LSUs.
If there is enough LSU that you originally provided, you can take all 102 XRD in that LSU (for no fee).
If there is not enough LSU (from swapping or other LPs removing) you will take back some (or all) in other LSUs eg LSU2 or LSU3. There is a small charge for the piece which is swapped.
BUT you still get back 102 XRD of value at that instant.
You could immediately unstake those LSUs for 102 XRD with the dashboard (or directly on CaviarNine).
So you may get back a different LSU. But there’s no ‘loss’ there in XRD terms.

More on APY
Now, if there were NO swapping going on then the Pool would just yield the same as the underlying LSUs it holds.
If the Pool was full of low yielding LSUs (eg high fee validators or validators missing proposals) then the APY would be low versus holding an LSU from a top validator.
The APY can never be negative! LSUs can not go down in price (there is no slashing on Radix).

Curation
CaviarNine (and later the FLOOP DAO) can curate the Pool.
This means we can make certain LSUs ineligible for the Pool - those with high fees or missing proposals (see the check marks on the Validator tab).
We also accrue a reserve to enable us to switch out and unstake underperforming LSUs (eg we just did recently with RadCrew).

Smart contract stuff
There are potential risks with any smart contracts - staking, DEXs, lending protocols, NFTs, Radix native blueprints etc.
LSU Pool has been audited by Sec3 (see the docs)
CaviarNine founders are fully doxxed and not anonymous.

Probably written too much on some stuff and not enough on others. Please read the docs (we’ll be adding more this weekend) and join our Telegram!

Thanks!
CaviarNine team

1 Like

Excellent write up. I still have some additional questions such as:

  1. Is what I wrote in the OP regarding a risk of centralization of LSUs a valid doubt? Especially until the Floop DAO is implemented.
  2. What happens to all the airdrops that should’ve gone to the stakers? Do those increase the value of LSULP, are they burned or do you keep them? :nerd_face:

A huge thanks to the CaviarNine team for being here!

Glad to be here!

  1. I’m not sure how there’s centralisation here.
    Nobody owns or controls the pool (other than the admin badge holder having the ability to decide what is allowed in the pool) and the pool doesn’t do any staking/unstaking on validators. It’s just a place where people can park their LSUs for a while and earn some extra yield if they don’t mind possibly exchanging their LSU with another person’s.

  2. The Pool smart contract only accepts LSU tokens, nothing else (not even XRD). So if a validator sends their airdrop token to the pool it will be rejected. So that’s something to think about and/or discuss with those projects that are looking to do IVOs. Some IVOs have very high fees as a quid pro quo for airdrops and they are precluded anyway so there’s not a drag on yield.

2 Likes