You’ll need a crypto wallet such as Metamask, connected to Ethereum mainnet.
To create a bond, you’ll need some LUSD. You can obtain LUSD by opening a Trove in Liquity and borrowing LUSD against your ETH, or purchasing it on a DEX such as Curve or Uniswap.
If you already have LUSD in the Stability Pool participating in Chicken Bonds would enable you to amplify your yield.
You can use Chicken Bonds in different ways (see also our blog post about the different strategies):
- Bond LUSD in exchange for bLUSD which offers a boosted yield compared to LUSD deposited in the Stability Pool [see What is bLUSD]
- Buy and hold bLUSD and benefit from a positive price tendency due to its rising price floor and the enhanced yield
- Collect some of the unique Dynamic Chicken Bond NFTs
- Benefit from trading opportunities for bLUSD or liquidity provisioning strategies for the bLUSD/LUSD-3CRV pool
The actions you can take in Chicken Bonds depends on the assets you are currently holding.
As an LUSD holder, you can:
- Create a LUSD bond and accrue bLUSD
- Trade LUSD for bLUSD on the bLUSD/LUSD-3CRV Curve pool
As a bond owner (holding the bond NFT), you can:
- Chicken In (claim your accrued bLUSD)
- Chicken Out (cancel your bond, reclaiming your principal)
As a bLUSD holder, you can:
- Trade bLUSD for LUSD on the bLUSD/LUSD-3CRV Curve pool
- Become a LP in the bLUSD/LUSD-3CRV Curve pool
- Redeem bLUSD for LUSD
You can create a bond by depositing LUSD into the Chicken Bonds system. Once deposited, your bond accrues a virtual balance of bLUSD over time. The accrual is based on an asymptotic curve - your virtual balance will grow fast at the beginning and then continuously slow down accruing bLUSD [see What determines how much bLUSD I receive when I Chicken In?]. This bLUSD is tracked in the system internally and is not paid out until the user claims it.
The bond has no maturity and at any point, the user may choose to claim their bLUSD (Chicken In) and give up their bonded LUSD, or cancel their bond (Chicken Out), foregoing their bLUSD balance and getting their bonded LUSD back.
Every time you create a bond, the Chicken Bonds system issues a unique bond NFT to your Ethereum address. Ownership of the NFT gives you ownership of the bond: similarly, transferring the NFT transfers control of the bond. The minimum bond size is 100 LUSD and the bond amount can’t be changed during bonding.
Further, your bond is a Dynamic NFT pointing to a piece of artwork with imagery generated from your Bond’s state and a randomness element. [see Dynamic NFTs & Artwork section].
If you hold an NFT for an open bond, you can Chicken Out to cancel your bond and reclaim your entire bonded LUSD. A Chicken Out action forgoes the bonder’s virtual bLUSD balance.
This option to withdraw the principal at any time makes bonding essentially a principal-protected investment.
If you hold an NFT for an open bond, you can Chicken In and claim your accrued bLUSD balance. You will receive the accrued bLUSD in exchange for the LUSD which is handed over to the Chicken Bonds system. [see “What are the different system Buckets?”]
After Chickening In you’ll retain your NFT, though it “changes state”, and no longer represents a bond or claim over any assets. It will point to a different piece of artwork that corresponds to the Chickened In state.
There is a special case for the first Chicken In: there is a minimum period of 15 days after launch that must pass between bond creation and the first Chicken In. This time period is a system constant, and is the same for all bonders. However, once the first Chicken In has occurred, bonders may Chicken In at any point after bond creation. This restriction ensures that someone cannot chicken in very early and redeem a very small amount of bLUSD for all of the initial yield that has been captured by the protocol.
Before the first Chicken In, all LUSD that has accumulated in the Reserve will be pure yield. When the first Chicken In occurs this accumulated yield is sent as a reward to the bLUSD Curve pool LP stakers, to prevent the first bLUSD holder from capturing outsized returns.
Yes. Bonds are represented by NFTs that conform to the ERC721 technical standard. Access to the bond is via the bond NFT: if you hold the NFT, you control the bond.
The NFT can be freely transferred, and listed for sale on public NFT marketplaces such as OpenSea.
Transferring your NFT is disallowed for the first 24 hours after a Chicken In or Out.
This ensures that sales of a bond can’t be instantly front-run by a Chicken In or Out which removes its economic value and should give marketplaces such as OpenSea enough time to refresh and show new artwork for the new NFT which now has no bonded LUSD associated with it.
The visual representation of your NFT in Chicken Bonds is dynamic and will change based on the current state of the bond:
- 1.Egg - pending bond with full access to the underlying assets
- 2.Chad Chicken - after a Chicken In with no control over any assets
- 3.Runaway Chicken - after Chicken Out with no control over any assets
The visual state changes are irreversible.
Yes, you can create multiple bonds per Ethereum address. Creating a bond from a given address mints the NFT to that address, and then you are free to hold the bond NFT or transfer/sell it as you see fit.
Rebonding is when a bonder Chickens In, sells their obtained bLUSD for LUSD at a profit and then creates a new, larger bond. Regular rebonding can be a profitable strategy and allows for a faster accrual of bLUSD over a given period than a user with a single bond.
Your principal is protected while you are bonding: you can cancel your bond at any time and get back your initially deposited LUSD. In case of a heavy market downturn and a lot of liquidations, there can be a time period when canceling your bond will be paused (see “Can I always Chicken Out and reclaim my bonded funds?”
Be aware that once you have claimed your bond (Chicken In) and you have received bLUSD, your principal is not protected in the same way anymore. You still have some downside protections as you can redeem your bLUSD pro rata against the LUSD in the Reserve - but this might be less than you initially invested. Further, bLUSD is a volatile token and you might incur gains/losses when the price of bLUSD goes up/down. This is mainly dependent on market participant perception of the fair price of bLUSD and the premium they are willing to pay for the future expected yield accruing in bLUSD.
bLUSD is an ERC20 token that is minted when a user “Chickens In” - that is, when they give up their bonded LUSD to the protocol and claim bLUSD. The quantity of bLUSD they can claim depends on their accrued virtual balance when they Chicken In.
bLUSD captures an enhanced yield compared to LUSD deposited in the Stability Pool. This is because all of the yield generated by all buckets in the system (Pending, Reserve and Permanent) flows to the Reserve.
bLUSD is backed by the funds in the Reserve bucket. bLUSD can always be redeemed [see “What is redemption?”] for a proportional share of the Reserve - that is, x% of the bLUSD supply redeems for x% of the Reserve.
As a result, the redemption value of a given amount of bLUSD will grow faster than the underlying amount of LUSD would grow if deposited in the highest yield source used by Chicken Bonds.
As outlined above the redemption price is expected to nearly always rise over time. Since the redemption price acts as a price floor for the market price, then bLUSD has a rising market price floor - even though its market premium (over and above the price floor) may fluctuate.
Upon system launch, a bLUSD/LUSD-3CRV pool will be live, with a corresponding Curve gauge [see also How will the system incentivize bLUSD liquidity on the open market?]
As bLUSD trades at a premium above the price floor, buyers and holders can expect that its market price will not fall below the price floor. Market price risks are thus limited by the current premium, except in the extremely unlikely scenario of loss-making liquidations (see “What are the risks associated with LUSD Chicken Bonds?”)
When the bLUSD market price is less than 3% above the floor price, it's not profitable to bond. This is due to the Chicken In fee of 3%. Buying bLUSD from the market in such conditions will generate a higher return than bonding.
The bLUSD market price could recover to a level to make bonding profitable once again.
Yields from all system buckets - Pending, Reserve, and Permanent - flow to the Reserve bucket. As such, the Reserve earns yield over and above that the yield generated by the LUSD it contains.
Since bLUSD always redeems proportionally for LUSD in the Reserve, the bLUSD token captures enhanced yield compared to the underlying LUSD that it redeems for. Please see this post for a more thorough deep-dive into the yield amplification mechanics: [see our blog post on the yield amplification].
It is the bLUSD token which captures enhanced yield in Chicken Bonds.
Yields from all three system buckets - Pending, Reserve, and Permanent - flow to the Reserve bucket. As such, the Reserve earns yield over and above the yield generated by the LUSD it contains.
Since bLUSD always redeems proportionally for LUSD in the Reserve, the bLUSD token captures enhanced yield compared to the underlying LUSD that it redeems for.
You can achieve this enhanced yield simply by holding bLUSD with its growing price floor. Despite benefiting from an amplified yield, the bLUSD is a volatile token that fluctuates in price compared to LUSD
There are a couple of ways to acquire bLUSD:
- You can buy it on the open market. For example, via the bLUSD/LUSD-3CRV Curve pool that will be live at launch.
- You can create a bond, accrue bLUSD over time, and Chicken In to claim your bLUSD.
From the moment you hold bLUSD, you benefit from an enhanced LUSD yield: the redemption value of bLUSD (in LUSD) grows faster than “naked” LUSD in the best yield source.
If you hold bLUSD (as a result of a previous Chicken In or through buying it on the market), you can redeem it for a share of funds in the system’s Reserve.
Redemptions are always proportional: x% of the total bLUSD supply redeems for x% of the LUSD Reserve.
Upon redeeming, you’ll receive a mix of LUSD and yTokens for the Yearn Curve LUSD vault. The mix of tokens you receive depends on how the Chicken Bonds system funds are deployed at that moment - that is, how they are split between B.Protocol and the Yearn Curve vault.
However, regardless of the split between LUSD and yTokens, you’ll always receive x% of the Reserve funds by value when you redeem x% of the total bLUSD supply.
No fee is applied to redemptions.
Everyone can redeem bLUSD by using Etherscan and call the “redeem” function. Please be aware that you will receive LUSD and yTokens (yield from the Permanent Bucket). Economically, redeeming bLUSD makes only sense when the market price is below the redemption price. This is most likely an arbitrage opportunity that will be performed by bots. It will be very hard for users to compete with those bots. Thus, we decided not to include a redemption functionality in the frontend kit for operators. Read more here.
Most of the time there will be enough LUSD in B.Protocoll to fulfill redemption, but in practice, there could be edge cases where the pending LUSD is not fully backed: - Heavy liquidations, and before yield has been converted - Heavy loss-making liquidations, i.e. at <100% CR - SP or B.Protocol vault hack that drains LUSD
1. Get 2nd value from this function to get LUSD available in B.Protocol: https://etherscan.io/address/0x896d8a30c32ead64f2e1195c2c8e0932be7dc20b#readContract#F17
If there’s plenty of LUSD there, considerably more than what you expect to get, you can just use 0 as min value
But in case you want to verify, you can then do:
2. Get the total bLUSD supply (https://etherscan.io/address/0xB9D7DdDca9a4AC480991865EfEf82E01273F79C3#readContract#F8) and calculate the fraction of bLUSD you are redeeming
3. Get the acquired LUSD amount in B.Protocol from here: https://etherscan.io/address/0x57619FE9C539f890b19c61812226F9703ce37137/advanced#readContract#F41
4. Apply the fraction you got in step 2 to the amount you got in step 3, and you’ll have the amount you should get in LUSD from B.Protocol:
If your LUSD amount is bigger than the available balance in B.Protocol, it’s up to you to use the latter as min value if the difference is not high or if you are in a hurry to redeem or wait until ETH and LQTY in B.Protocol are recycled back into LUSD.
Economically, users have strong guarantees: while bonding, users can always reclaim their bonded principal (with the edge-case exceptions mentioned below), and bLUSD holders can always redeem for a proportional share of the Reserve.
Temporary delay to withdrawals due to liquidations. If heavy liquidations occur in Liquity, Chickening Out may be temporarily suspended for a small portion of users. This will persist only for a short period until the ETH from the liquidation has been recycled back to LUSD. For more information please see (“Can I always Chicken Out and reclaim my bonded funds?”)
Losses from liquidations. In extreme market conditions, it is theoretically possible that B.Protocol could incur a loss from liquidation rather than a profit, i.e. if a large volume of ETH is liquidated, and the ETH price drops significantly in the period between the liquidation and the ETH harvest. In this case, any loss would first be borne by the Reserve - and by extension the bLUSD holders - before the bonders.
Such a scenario is very unlikely even in major market crashes. Liquidations buy ETH at a discount, so there is a ~9% “buffer” to absorb any ETH price drop that occurs between liquidation and harvesting. Historically, the heaviest Liquity liquidations have occurred near an ETH price “local bottom”, and the value of ETH has even increased in the aftermath.
bLUSD market value. The market value of bLUSD is volatile - it can go up or down, but it always has a lower bound equal to the bLUSD redemption price.
On the technical side, as with all dApps on Ethereum, there is smart contract risk: there is always the possibility that the code of the core system and/or its external integrations may contain a bug or be hacked.
Our engineering team has done their best to mitigate technical risk. We have taken our usual diligent approach to security with extensive unit testing, economic modelling and fuzz testing.
Since Chicken Bonds deposits funds to B.Protocol and the Yearn Curve LUSD vault, users implicitly assume the smart contract risk of those external protocols when using LUSD Chicken Bonds.
Yearn governance also have some limited admin control over the LUSD Chicken Bonds system - see [MIGRATION SECTION]. In case of a Yearn Governance compromise, the worst case for Chicken Bonds is that the Pending bucket becomes redeemable and the ability to shift funds to/from the Curve pool becomes disabled. This scenario would not put any Chicken Bonds user funds at risk.
Yes, the Chicken Bond system has been audited by Coinspect and Dedaub. See the audit reports on our GitHub.