BIP-6: Soil Efficiency

Proposed: December 2, 2021

Status: Passed

Link: GitHub PR


Beanstalk Farms



Currently, the Available Soil is at or below the Minimum Soil Rate every Season. Based on the current Weather (~2000%+) and current Minimum Soil Rate (.1%), Beanstalk is willing to issue Pods worth more than 2% of the total Bean supply every hour. While the Pod Rate has started to decrease slightly, when there is excess demand for Soil and Beans, Beanstalk should be deleveraging faster than it currently is. This is indicative that the Minimum Soil Rate is implemented in a suboptimal fashion: it does not currently factor in the Weather w or Pods being Harvested at the start of each Season.

Having observed the behavior of lenders during the previous few weeks, it is evident that scarcity of Soil is a large driver of demand for Soil: As Soil started to diminish, there was a race for Soil. Increasing the scarcity of Soil when should further improve the efficiency of the Soil market. When for a Season, the Soil currently does not decrease even though Beanstalk does not need to attract as many lenders as when .

Proposed Solution

Change the Minimum Soil Rate to factor in the Weather and Pods harvested at the start of the Season. The following logic will be added/updated to the whitepaper to reflect the following:

We define the number of newly Harvestable Pods at the start of Season t such that as:

Recalling , are the minimum and maximum soil at Season t respectively, and , are the Soil at the start and end of Season t, respectively, the formulas

Note, the current formula for in the whitepaper is actually the correct formula for the new implementation of Soil. For clarity, the old formula for should have been:

Furthermore, the complex demand for Soil will continue to be triggered when the Available Soil is less than .1% of the total Bean supply. It will no longer be dependent on the Minimum Soil Rate. Going forward, it will be dependent on the ComplexSoilRate, which will remain .1%

Economic Rationale

Beanstalk will now have the following invariant when operating at minimum Soil:

This means that the Pod line is at most going to stay the same length when there is excess demand for Soil and . If all Soil was sown in the previous Season, then the Pod line will remain the same length. If less than all of the Soil was sown, the Pod line will decrease.

By setting the Soil so that in instances where all Soil is sown the Pod Line stays the same length Beanstalk will maintain the same amount of debt, while increasing the supply. This will cause the Pod Rate to decrease quickly during instances where there is excess demand for Soil, but in a way that does not allow Beanstalk to easily run out of outstanding debt, except in the instance of a Season of Plenty.

By decreasing the outstanding Soil when , there is more likely to be an efficient market for Soil when because it is no longer a reasonable expectation that there will be excess Soil when . A more efficient Soil market will lower the average Weather Beanstalk has to pay over time, and improve the ability of Beanstalk to regularly cross the Bean price over its Peg.


Effective immediately upon commit.