While I liked the idea of issuing FLOAT for the LP tokens, I don’t believe this is a sustainable way of implementing the idea of Bonds. It may help in the short term with some liquidity concerns but there are associated risks and it’s difficult for simple de-fi users to understand and participate. For a newbie project like FLOAT its also too risky to hold its own assets as it can lead to a death spiral kind of scenario.
So here is what I think, how we can implement this idea going forward.
Basic Rules –
- Float bonds will be issued as zero coupon bonds (discount bonds)
- Bonds will have linear maturity and discount rate
- Bonds will have an attribution factor, i.e. percentage of bond price which will go towards the basket. Higher attribution factor will lead to lower bond yield and less bonds issued by protocol, and a lower attribution factor will lead to higher bond yield and more bonds issued by the protocol. The factor can be adjusted based on market condition.
- If basket factor is below 100% FLOAT bonds will be issued for WETH or USDC (similar to expansion scenario in auctions)
Best to explain using some examples: lets say attribution factor is 50%, FLOAT target price is 1.5 and time factor is 365 days
- If Basket factor is 60% - FLOAT bonds will be issued with a discount of 20% for $1.2 [(100% - 60%) * 0.5] with a maturity of 145 days [365*40%]. Net positive for the Basket is the difference of 20%. For BOND holder YTM (yield to maturity) is 25% in 145 days.
- If Basket factor is 90% - Float bonds will be issued at a discount of 5% for $1.425 [(100%-90%) * 0.5] with a maturity of 36.5 days [365*10%]. Net positive for the Basket is the difference of 5%. For BOND holder YTM is 5.26% in 36.5 days.
- If Basket factor is 99% - Float bonds will be issued at a discount of 0.5% for $1.4925 [(100%-99%) * 0.5 ] with a maturity of 3.65 days [365*1%]. Net positive for the Basket is the difference of 0.5%. For BOND holder YTM is 0.5025% in 3.6 days.
Liquidity – Liquidity remains the biggest risk, what if the bonds matures but there is no liquidity to sell the matured FLOAT
Mitigation – Locked FLOAT can be used to provide 1 side Liquidity on Uniswap v3 in FLOAT-USDC pool to earn additional yield, protocol can offer this as an option to bond holders.
Protocol can decide to use 50% (or X%) of attribution factor to provide liquidity. The amount can be converted to USDC and can be used to provide the liquidity on the other side on Uniswap v3 FLOAT-USDC pool. The USDC in pool should also count towards the basket factor. This will also provide some diversification in case of sudden price drop for ETH.
The liquidity will grow organically as more bonds are issued.
In future a liquidity manager can be created to manage the liquidity on Uniswap v3 for all locked FLOAT & USDC but this can be a separate topic for a later release.
- Basket can be refilled very quickly by offering lucrative yields.
- These lucrative yields can bring more people in the ecosystem and eventually more adoption for the protocol. Best way to get more people involved is to offer the better risk adjusted returns. Hopefully bonds can help with that.
- FLOAT supply becomes elastic as more FLOAT can always be issued either using bonds or auctions. When basket is less than 100% more FLOAT can be issued using Bonds and when basket is more than 100% more FLOAT can be issued using Auctions.
- Less sell pressure on BANK from auctions because of increased Basket factor
- Basket does not contain any LP tokens and contains core assets only. So it reduces the risk of death spiral kind of scenario. If needed LP token can always be purchased using ETH at a later stage when protocol matures. Other assets can also be purchased for diversification, also the ETH can be staked.
- Diversification of basket by adding USDC and putting locked FLOAT to use. USDC will be helpful when there is sudden price drop for ETH
- Organic growth of liquidity for USDC-FLOAT pool
There should be a front end interface to mint bonds using either USDC or ETH (like the FLOAT mint interface) where both USDC and ETH users should be able to buy bonds seamlessly. Behind the scene protocol can convert stable coins to ETH or vice versa and add liquidity on Uniswap v3.
This will allow stable coin holders to lock-in a fixed yield.
FLOAT issuance -
FLOAT can be issued either using a window system or using an AMM system. May be a window system to start with and then an AMM type of system for future.
Window system – We can offer bonds based on target basket factor, start with 70%, 75%, 80% etc. Amount of Bonds to be issued can be calculated based on basket factor and attribution rate.
AMM system – In the long run an AMM type system will be better where for each bond issued increases the basket factor and hence reduces the yield and time to maturity.
Other features which can be included -
- If basket factor is above 100%, Bonds can be purchased for WETH+BANK (confidence expansion scenario in auctions). This would require a call premium for people to surrender their bonds and forgo the pending yield on the bonds. WETH can be used for accrued price and call premium, the differential in BANK can be burnt. FLOAT price will be adjusted upwards in such cases. Overall the logic for adjustment of FLOAT price should be harmonized with auctions logic.
- If there is a lot of demand for bonds, then bonds can be offered/purchased using dutch auctions similar to FLOAT.