Automated LUSD Chicken Bonds Harvesting

Chicken Bonds gives users access to an auto-compounding strategy for the Stability Pool yield. Users can access this strategy by bonding or buying bLUSD, and don’t need to manually harvest and auto-compound the yield, instead a 3rd party does that.

We have compiled all the necessary steps in this article. But first let’s take a step back and have a look at what the protocol tries to achieve: Harvesting is the process of swapping the Stability Pool yield paid out in LQTY and ETH into LUSD. The LUSD is then added to the Reserve Bucket which increases the backing of bLUSD and its price floor.

Here is a short overview of how it works.

How to harvest LQTY and make a profit?

To check if there is anything to harvest, go to Etherscan.

Below we see there are 2.9 ETH and 7’773 LQTY to be harvested.

The process is executed on Etherscan and Gelato Network, we wrote a bot to simplify it.

This article focuses on the harvesting of the LQTY rewards as it is a new opportunity for arbers due to the introduction of Chicken Bonds. The ETH rewards are already harvested by existing B.Protocol arbers and thus are not covered here. 

1. Go to Etherscan, connect your wallet, and enter your wallet address into "_taskCreator (address)" then press "Write"

2. Once completed click on "Logs" and note down the "arbContract"

3. Go to Gelato, connect your wallet, and click "Create Task"

4. Under "Contract Address" enter the "arbContract" from earlier and select "swap" from the function dropdown

5. After that you enter:

   a. "uint256 lqtyQty" which is how much LQTY you want to harvest. It needs to be entered as "10e18" number, so 1’000 LQTY would equal to "1000000000000000000000"

  b. address reserve you need to enter: "0x4f73ad319193320ED20eeFAEFb8F30B89b05b8B6"

   c. "address lqtyDest" is the wallet you will receive the profit to

   d. "uint256 minLqtyProfit" is the minimum profit you want, can be set to "0" or whatever you want

6. Enter the time when it should run, e.g. every 1 hour,  select "Transaction pays itself", enter a name for the task, and then create it.

That’s it, now the bot will try to swap 1’000 LQTY (or whatever the selected amount) from the contract every 1 hour (or whatever the selected time).

It will not be executed if:

  • There is not enough LQTY to be harvested
  • The txs is not profitable, meaning the cost is higher than the profit