Chicken Bonds: a new bonding primitive - is it here to stay?
January 27, 2023
With now four months of hindsight, it’s a perfect time to go back to the first days of Chicken Bonds, summarizing the learnings gathered along the way. We will also cover the various integrations that appeared in the bLUSD ecosystem, and the potential upcoming ones and reflect on the next steps.
On October 4th, 2022, LUSD Chicken Bonds, an experimental protocol harnessing unprecedented bonding mechanics, was launched on the Ethereum mainnet. In just a few months of existence, Chicken Bonds attracted over a third of the total supply of LUSD (>70M LUSD), and enabled the capture of ~1M LUSD as Protocol Owned Liquidity. LUSD’s liquidity improved since the release of the Chicken Bonds, and its premium is kept in check.
Despite launching in the midst of the bear market, the protocol has gained traction thanks to its novel approach delivering features previously unseen in DeFi, the three most prominent being:
- Principal-protected bonding: just like on PoolTogether, users who bond LUSD in Chicken Bonds only assume a risk on their yield, as the Chicken Out feature enables them to recover their full initially invested LUSD amount. (See our docs for more information)
- No-maturity bonds: unlike previous bonding-based models in DeFi (such as OlympusDAO), Chicken Bonds harness a novel form of bonding without a maturity date.
- Chicken Bonds are fun! On top of the novel bonding mechanism, the protocol also pioneers unique interactions between NFTs and DeFi: when users create a bond, they receive a generative egg NFT representing their deposit. Depending on their choice, the egg can turn into either a proud or scared chicken, with additional attributes depending on the wallet activity. Chicken Bonds NFTs are a (actually three) fully onchain generative NFT collections directly tied to the protocol usage.
A phased and successful launch
One of the core concepts of Chicken Bonds is to bring back time as an important parameter for a DeFi protocol: it is an engine designed to capture liquidity over time. To ensure the smoothest launch possible, the Chicken Bonds launch was phased:
- On October 04, the protocol launched: users could deposit LUSD to create a bond, obtain their egg NFT, and start to accrue bLUSD.
- However, Chicken Ins were not possible until October 19. Before that date, there were no bLUSD existing and no LP. The first claims marked the beginning of the incentivization of the bLUSD/LUSD-3CRV Curve pool.
- Finally, on November 19, the Redemption feature was activated, enabling bLUSD holders to redeem their tokens for their share of the LUSD stored in the Reserve Bucket.
The impact of all three events can be seen in the overall protocol TVL. On top of those three key dates, we’ve added other milestones on the chart above that impacted the Chicken Bonds growth, such as the addition of CRV rewards on the bLUSD Curve pool or the release of the DeFiSaver Liquity+Chicken Bonds automation suite.
However, keep in mind that what we are looking at above is the overall protocol TVL, which only tells a part of the story. To better understand the dynamics at play, we need to go one level lower and look at the distribution of assets between the buckets.
But before that, here’s a quick rundown on the three buckets for those who are not familiar with Chicken Bonds yet:
- The Pending Bucket holds the LUSD of bonds that have been created but neither claimed nor canceled yet, producing yield (through b.protocol).
- The Reserve Bucket is what directly backs bLUSD. It produces yield (through b.protocol) and also receives the yield of the two other buckets.
- The Permanent Bucket secures a yield amplification, independent of new depositors. It supplies liquidity to the LUSD/3CRV pool to improve its liquidity and peg, and redirects the yield produced to the Reserve Bucket.
In the early stages of the Chicken Bonds, since there were little/no bLUSD claimed yet, most of the assets on the system were in the Pending Bucket, producing an impressive >x15 yield amplification for bLUSD holders that was sustained for weeks.
As the system matured, more and more users Chickened In, leading to a growth of both the Reserve and Permanent Buckets which receive the assets from the Pending Bucket upon Chickening In. As a result, bLUSD yield amplification lowered, but it’s still quite significant, averaging around x5 lately.
II/ Lessons learned from the experiment
The significant traction of LUSD Chicken Bonds meant that it attracted the savviest DeFi users; the protocol has noticed a myriad of strategies that are being put to use in order to get the best yield. The strategies seen have also helped the Liquity team confirm several assumptions while gathering additional learnings. Let’s dive in to see what they are.
A strong product market fit
The base value proposition of Chicken Bonds – bonding to accrue bLUSD – gathered a lot of interest. The amplified and auto-compounded yield of bLUSD succeeded at attracting bonders, who felt safe enough to commit their assets thanks to the Chickening Out option capping their potential losses (yield only).
bLUSD’s rising floor price helped further reassure interested bonders, as the redemption mechanism succeeded at defending the floor price, while the yield amplification helped it rise from 1.00 to 1.1117 LUSD in a bit more than three months.
Thanks to the yield opportunities they offer, as well as their fun side embodied by their NFTs, Chicken Bonds gathered significant traction within DeFi-savvy communities, such as DeFi France.
While we were hoping that thanks to its visual component, Chicken Bonds could attract more NFT-focused web3 users, it seems like this impact is limited: most of the CB buffs I talked with were much more interested in DeFi than NFTs.
Chicken Bonds can be hard to comprehend
Novelty is scary to most, even when your principal is protected. While overall the Chicken Bonds model is quite straightforward and can be explained to an experienced DeFi user in a few minutes, it can prove intimidating to less savvy users.
It seemed especially salient in the protocol's early days where many potentially interested users seem to have adopted a wait & see stance, only to FOMO a few weeks later once they saw the TVL picking up rapidly.
Once users started understanding the flywheel concept, and the ‘escape hatch’ of having their principal being protected, it led to DeFi educators like DeFi Dad & Chris Blec taking notice.
This led to a flurry of degens trying different strategies within the first couple of weeks of bonding opening. Indeed, because of the principal protection, it was one of the rare cases in DeFi where aping in as fast as possible was (arguably) the most reasonable decision to make for a profit-driven user. Thanks to the Chicken Out, users had nothing to lose; and they had a lot to gain by being one of the early bonders.
Indeed, the Chicken Bonds user experience and lexicon can be improved further. For instance, we presented the user with four different prices for bLUSD — which makes perfect sense for someone understanding the system — but can be intimidating to a newcomer:
- bLUSD market price: the price on the Curve pool.
- bLUSD fair price: trying to account for bLUSD yield amplification in its pricing, with two bounds. The lower bound excludes the pending bucket amplification, while the upper bound includes it.
- bLUSD floor price: the amount of LUSD you get when you redeem bLUSD (against the Reserve)
There is even a fifth internal price we thought about displaying but decided not to: the net asset value — aka the amount of LUSD you will get redeeming bLUSD if the system unwind function is triggered (redeeming against both Reserve and Permanent Buckets). This price is easily calculated: (Reserve+Permanent)/bLUSD supply. It’s currently around 1.19 LUSD, which is above bLUSD current market price.
One of the most successful Protocol Owned Liquidity initiatives to date
The LUSD Chicken Bond instance was deployed with two goals in mind:
- Providing fun and compelling yield opportunities to LUSD holders — already covered.
- Improve LUSD’s liquidity in the process through additional incentives — let’s dive in.
Permanent Bucket: 100% LUSD supply into the Curve pool
The first impact of Chicken Bonds on LUSD’s liquidity is easy to compute: as long as LUSD is priced >$1, the whole permanent bucket can be deployed in the LUSD/3CRV Curve pool using the shifting function.
So far, close to 1M LUSD has been accumulated in the Permanent Bucket and is supplying liquidity to Curve. 1M POL is no small feat, especially for LUSD considering the Curve pool had a ~5M LUSD balance before the Chicken Bonds launch, now up to 6.7M LUSD.
bLUSD liquidity structure and its impact
On top of the permanent bucket contribution of making pure LUSD deposits helping to rebalance the pool, Chicken Bonds has a second, bigger positive impact on LUSD’s liquidity.
Indeed, the bLUSD Curve pool is made of:
- & the LUSD/3CRV LP token
Thus, supplying liquidity to bLUSD means supplying half of it to the LUSD/3crv pool too. Since the bLUSD pool has its own incentive (3% Chicken In Fee), it grew to a respectable TVL of $14M, half of which are LUSD/3crv LP tokens.
Thus the total impact of Chicken Bonds on LUSD/3CRV liquidity is roughly +$8M in about 4 months, which explains why it was so impactful in containing LUSD’s premium.
Is bonding… too good?
The most appreciated part of the LUSD Chicken Bonds is probably the bonding mechanism, offering an unprecedented amount of protection to users. In DeFi, bonding used to mean giving away assets to a DAO to gamble on their governance token.
Chicken Bonds pioneered a new model of bonding that offered for the first time principal protection to the bonders, who progressively accrue bLUSD over time. As their bond accrues, they have a lot of optionalities since their principal can always be recovered (Chicken Out), or they can claim the bLUSD when it becomes more profitable.
Thus, bonding is perceived as a really safe strategy: granted that there is no technical failure and barring extreme black swan events impacting the underlying b.protocol, the principal cannot be lost, limiting the overall maximum loss possible of the bonding strategy to the gas costs of the operation.
Yet bonding is not the only path one can take to acquire bLUSD and enjoy its amplified yields. Indeed, thanks to the LP incentives, bLUSD can be purchased directly on the markets. Besides, unlike bonders, bLUSD purchasers get instant access to bLUSD amplified yields.
Before launch, we thought the two paths would even themselves out, depending on the market conditions. The empirical data is not as clear, as we see sizable bonds created even when it’s unprofitable to do so and when bLUSD price is deprecated, making it an attractive buy. Indeed, the bonding path comes with a 3% fee while Chickening In, meaning that bonders are looking for a profit baseline above this threshold.
So how come? I think part of the answer comes from how we communicated about the Chicken Bonds. Since the bonding mechanism was novel, we explained it in depth with many examples and really gave it a lot of focus. At the end of the day, bonding LUSD or buying bLUSD have quite different risk models despite harnessing the same protocol:
- While bonding, the downside is capped to the gas costs (thanks to Chicken Out), while the upside is variable and moderate.
- While purchasing bLUSD, the downside is capped to the difference between the price paid (market price) and the floor price, and the upside is harder to evaluate, but most likely capped to the difference between the market price and the lower bond of the fair price.
Tuning a controller is hard!
LUSD Chicken Bonds contains a controller that targets a size-weighted average bond age. It steepens the bonders' bLUSD accrual curves steadily whenever the average bond age is below the target. The intent was to help bonders reach break-even more quickly in times when the system has slowed down.
The controller strength (its "gain" in Control Theory terms) was determined via simulations. It's really challenging to pinpoint an optimal strength, since we had no clear idea of how bonder behavior would evolve over time in reality. The controller ended up having a relatively small impact compared to what we might have liked to see.
A more responsive controller could have been more effective. That said, the controller was only ever meant to provide a gentle nudge, and shouldn't be too strong - otherwise it would dilute existing bLUSD holders too heavily.
Improving the bLUSD liquidity model
The bLUSD LP pool is a key component of the Chicken Bond protocol, as it enables both one-time users to exit (claim and sell bLUSD after one bond) and committed users to go for another bonding round (claim bLUSD, sell to LUSD, rebond).
In the design stage, we seriously hesitated between two models:
- A Curve V2 pool
- A Uniswap V3 pool
Both had their advantages and disadvantages.
- Curve offers native handling of liquidity mining rewards (gauge), veCRV incentivization mechanism, an extensive ecosystem to provide additional services to LP (Convex, Concentrator, etc.). But Curve also has fewer options when it comes to liquidity distribution compared to Uniswap V3. We decided to use a V2 pool that handles liquidity provision management automatically, but figuring the right parametrization for the pair is a tedious task (bLUSD and LUSD are correlated).
- UniswapV3 offers more flexibility, but its ecosystem is much more lacking. Besides, UniV3 usually requires much more active involvement from the liquidity providers. Finally, Uniswap doesn’t have any native solution to handle the distribution of rewards to liquidity providers.
While the Curve ecosystem is uber-effective, in our specific case of two highly correlated assets (but not pegged), we now realize that the V2 pool model may not be ideal, even with some parameter optimizations. Indeed, despite sizeable TVL (>$15M), the effective liquidity is not as good as it could have been with a UniswapV3 concentrated pool.
The main challenge with using UniswapV3 is determining the incentivization model: where to direct the liquidity along the pricing curve? Before the launch, this question knew no evident answer. With now three months of market data, there seems to be one emerging empirically from the parameters given to this Chicken Bond instance: excluding the launch phase, bLUSD is priced most of the time between its floor price (blue line) and the lower bond of the fair price (orange line):
Thus, it seems like a bLUSD/LUSD UniswapV3 pool with incentives for effective liquidity across those two ranges (current values: 1bLUSD = 1.11 to 1.19 LUSD) might have led to better results.
Improving bLUSD liquidity incentives distribution
To manage the LUSD rewards provided to bLUSD liquidity providers, the Chicken Bond protocol harnesses the Curve gauge system. Indeed, Curve gauges contracts are able to handle any rewards, not just CRV tokens. Thus, if tokens are sent to a gauge contract, they are added as an incentive budget for the liquidity providers of the corresponding gauge for the following week. Everytime a bonder claim, 3% of the bond LUSD amount is sent to the Curve gauge for additional liquidity incentives.
The gauge mechanism is extremely convenient, as it greatly simplifies the management of liquidity mining rewards. However, here again, it lacks optionality. The rewards are necessarily streamed over the next week, which leads to heavy variations in the incentives offered to bLUSD LP. A longer distribution period, such as 2 weeks or even 4 weeks would have enabled them to distribute the budget more evenly, avoiding rewards spikes and offering more predictability on their income to liquidity providers.
The Chicken Bonds launch has been a great success, to the point where many teams reached out to discuss how to harness Chicken Bonds for their project: it’s precisely the next step we are working on, with the Generalized Chicken Bonds.
LUSD Chicken Bonds are the first instance, which allowed users to try a new innovative bonding mechanism in a real-life situation, and help improve LUSD’s liquidity and peg. We’re looking forward to further refining the model and making it more broadly accessible with Generalized Chicken Bonds. At this early stage, one potential idea we have is to use LP tokens instead of a single asset to optimize for liquidity, and capital efficiency.
If you are a Chicken Bonds fan and would like to contribute to the generalized version, feel free to reach out. We’re currently looking to expand the team and hire Solidity developers, amongst other profiles.
Meanwhile, if this article got you interested in the Chicken Bonds, make sure to harness the following resources to make the most of it:
- Analytics: Dune Analytics 1, Dune Analytics 2, Dune Analytics 3
- Automation: DeFiSaver
- bLUSD LP related tools: Curve, Convex, Concentrator, Yearn Finance
And of course, join the Liquity Discord to stay updated about the next steps for Chicken Bonds. Cluck, Cluck!