Since the launch of the CredSperiment, we’ve had a fixed redemption rate of 1 Grain = $0.01. This was a really simple way to get the system going, and assign some real value to Grain. However, this system has some serious flaws.
Problems with a fixed Grain price
It ties Grain issuance to external funding
Grain represents “accumulated value” that’s been contributed to the project. Therefore, its issuance rate should be primarily driven by internal considerations, i.e. how much value has been added to the project lately? (Also: internal governance constraints, as a safeguard against inflating Grain.)
However, fixing the Grain redemption price means that the Grain issuance needs to tightly couple with the availability of external funding. It means we may have situations where (due to changes in external relationships) the project loses the ability to internally reward contributors.
It is hard to predict actual redemptions
As of early Nov 2019, we have distributed $22k worth of Grain (at $0.01/Grain). However, we’ve only had ~$1000 worth of redemptions. It seems like most people would rather hold onto their Grain than redeem it at 1 cent per Grain. Given that we do actually want to send more money to the SourceCred community, it’s hard to find the right Grain issuance rates.
It admits the possibility of “Grain bankruptcy”
Riffing off the above, suppose that PL provides a budget of $10k to purchase Grain, and historically our redemption rate has been about 2%. Then I might issue $500k (at fixed exchange rate) to try to get $10k worth of redemptions. If something causes the redemption rate to spike, we may run out of money, which will greatly damage trust in the project.
Choosing a specific Grain price is very awkward
Prices convey valuable information about the world, and allow other actors to orient around that information. In the case of Grain, the price might reveal how strongly the community and stakeholders believe in the future of the project, and provide a useful and hard-to-game signal about how the project is doing.
Fixing prices, on the other hand, has a very bad track record. The system will be healthier if the price represents real information about contributors’ belief in the project.
Switching to Floating Grain Prices
In the future, I expect the price of Grain to be set in an open market, where contributors can freely sell Grain, and supporters of the project can express that support by buying it. Healthy markets characteristically have many sellers and many buyers. However, for a variety of reasons, it makes sense to start with Protocol Labs (@protocol) as the sole Grain buyer.
So the question is: how can we build a mechanism that allows contributors to sell Grain to Protocol Labs, in a way that:
- allows the price to be set by contributors’ supply (of Grain) and demand (for dollars), rather than by Protocol Labs
- allows Protocol Labs to budget their cash outlays predictably
- avoids massive swings in the Grain price (e.g. if one week folks are on vacation, and almost no-one sells, the spot price of Grain should not increase 100x)
In A Mechanism for the Weekly Grain Sale, I propose a mechanism for conducting such Grain sales.
Thanks to @ianjdarrow for reviewing this post.