The governance forum vote for veFunder is live! Go vote… then while everything’s on sale, go buy some $CRV and $CVX and vote some more!
To help you make an informed decision, we’ve updated the prior locked post on the subject and re-released it here:
Last week:
<checks stopwatch> 110 hours later…
Curve is becoming a crowdfunding platform? What’s happening?
Background
After some discussion this year about releasing a decentralized crowdfunding platform, @fiddy had the brilliant realization that $CRV emissions could actually be directed anywhere, not just to a Curve pool. He dreamed up the ingenious concept of letting veCRV holders vote to direct emissions from $CRV inflation towards any cause they like.
During the present $CRV inflation epoch, 200+ million $CRV will be released. At its current 🤡 price of $2, this represents nearly half a billion in value. Currently this goes to rewards for whichever pool best plays the DAO governance game. Until such time as $CRV goes below $0 though, it’s a lot of money. Redirecting a measly 0.25% to various organizations would hardly impact farmers (indeed several effectively dead pools still receive greater emissions), yet it would add up to a meaningful $1MM in continuously accruing donations.
Should the CRVFunder proposal be accepted by the Curve DAO, we’re entering into an interesting new era in which the DAO gets to pick and choose if it wants to direct emissions to organizations, causes, and entities instead of just pools.
Why Vyper?
The recipient of the first proposed gauge will be the Vyper community. Vyper secures over $20B in DeFi TVL, but has relatively little outside financial support support.
Curve in particular benefits greatly from Vyper. Many Curve innovations and efficiencies come in part from the innovations that have been added to Vyper. Therefore it’s fitting that Vyper developers receive the first CRVFunder proposal.
The non-technical audience may not appreciate the subtleties of the Vyper vs Solidity discussion. Much of the Vyper documentation focuses on the security aspects of Vyper, but in truth the differences run deeper. The efficient Vyper compiler allows for some specific optimizations and gas savings when contracts are published to bytecode.
For one example, TriCrypto would need to be three separate contracts if it was written in Solidity, which would mean more external calls and thus higher gas prices for every transaction. In a true race to the bottom, it would be difficult to imagine an opposing AMM out-competing Curve directly on trading efficiency — Curve’s proprietary algorithms written and deployed through Vyper provide Curve a deep moat against competitors, especially competitors in Solidity.
At the same time, where Vyper has created such efficiencies in some areas, in some cases some things that are possible in Solidity are not possible in Vyper. For one simple example, Vyper presently lacks a bytes4
type that impedes compatibility with ERC165, required for full adherence to the ERC721 NFT standard. This will be fixed in an upcoming release, but it’s the sort of rough edge that could be fixed much quicker with a few full time engineers.
Obviously Curve isn’t pushing towards an NFT market (though crowdfunders could theoretically make it happen now). Nonetheless, it’s illustrative of the challenges Curve developers often face building right up to the bleeding edge of technology. Frequently we’ll see a new feature built quickly, but have to wait for a new version of Vyper to be released and supported before it can be deployed. When people spent months asking “Wen Curve v2 Factory” — you may in fact have had it quicker if Vyper had more resources to release faster.
Future Proposals
If the vote succeeds, the community opens the door to allow any group or organization to request a fundraising gauge be deployed to support their cause. However, we don’t necessarily expect this means Curve will pivot towards Kickstarter style fundraising to support your cousin’s band’s new album.
Just as contributing to Vyper directly benefits Curve, we expect the community will be most likely to support proposals that directly support Curve + the broader flywheel.
Curve has been heavily committed to the concept of platform neutrality. This new gauge allows anybody to launch a fundraising gauge and request contributions from the DAO. Causes that directly support the mission of Curve are far more likely to achieve support from veCRV voters. In a way, you might consider CRVFunder to be more like a decentralized R&D budget than a decentralized GoFundMe.
To this extent, some of the recipients who have been brainstormed include the Vyper community, the ETH core developers, or the Llama Airforce. We’d expect supporting fashionable social causes may not directly impact Curve’s long-term efforts and see little traction from on-chain votes to support whatever the latest cause célèbre.
Note also that the project repository is called veFunder, with CRVFunder as the first launched product. If the experiment proves successful, similar crowdfunding platforms can theoretically be created for other protocols using veTokenomics, although the implementation will need to be adjusted.
How it Works
CRVFunder is structured in the same way that pool reward gauges receive emissions. The process for users to request CRVFunder funding will be quite simple.
Deploy a Funding Gauge
Submit it for a DAO vote.
One interface is being architected into the Llama Airforce at the moment, courtesy Llama Airforce veteran @0xAlunara:
Sneak peek…
The only two parameters are the recipient address and the max amount of funding (at which point the emissions get turned off).
Since funding is fueled by $CRV token emissions, one should not expect this amount gets distributed immediately. In fact, the funding is likely to come in fits and spurts based on the whims of governance. If governance fails to incentive CRVFunder emissions, the max value may never get reached.
If CRVFunder passes, you may see recipients self-organize into decentralized councils who operate to negotiate with governance and steer funds as they see fit. In other words, Vyper could request $1MM and disburse this directly as $50K to 20 separate projects at their behest, rather than create 20 governance proposals.
The CRVFunder method bakes in a form of accountability over time. If a gauge is approved by the DAO, but the DAO deems the funds are not being put to good use, they can reduce the flow of emissions or even vote to kill the gauge outright. This creates a check against hostile attackers exploiting such funding.
Technical Details
Note the Curve grants council exists completely distinct from the new CRVFunder concept. The Curve grants council has a healthy allotment and an internal decision making process. In some cases this may be the preferred vehicle for organizations to fundraise, since it delivers payments as lump sums instead of incremental emissions.
The CRVFunder concept would be a distinct mechanism through which users can direct emissions based on their governance weight. This allows other DAOs, including any protocols that bought Convex, to bypass the grants council and act as their own decentralized grants council.
The contract itself is also interesting. In several upcoming Curve Brownie tutorials I’ll be reviewing the development. Therefore I won’t do a deep dive into the code here. If you’re impatient you can review the repo here: https://github.com/vefunder/crvfunder
The most complex part is the user checkpointing logic in the fundraising gauge contract, which syncs with the Curve inflation calculations. The remainder is easily comprehensible — the factory to deploy new fundraising gauges is just about 60 lines and easy reading even for non-techies.
Passing the proposal would create a new gauge type, id 10, to support these new fundraising gauges. This would open the floodgates to allow anybody to quickly launch their gauge and request funds.
Fundraising gauges include a parameter to automatically kill themselves if the fundraising cap is hit. Ideally the DAO stops voting for the gauge to receive funding or they risk becoming a deflationary sink.
Who’s in Favor?
Based on the Curve governance forum, 19 voters signalled unanimous approval. A handful of Twitter users chimed in supporting the proposal as well:
Naturally, as a contributor to the proposal, the author is also biased in its favor.
Who’s Opposed?
We’d be doing you a disservice if we didn’t articulate the opposing case, so you can make an informed decision.
@_tailrisk points out that better sources of fundraising, such as Gitcoin grants, may well already exist.
This argument was echoed by none other than credibly-neutral AMM Curve itself:
Neither party appears to have taken a firm pro or anti position, but are asking questions as they do their due diligence.
The rebuttal to these arguments is that this adds an additional option for organizations seeking funding. Such organizations have many options, each with pros and cons, and this provides an added choice which may benefit some
Receiving funding through Curve inflation has admitted limitations. Most grants are lump-sum, Curve emissions are incremental and vary in their emission rate based on the whims of the DAO. Successfully receiving the full amount of funding requires active politicking within the Curve governance votes to have any hope of reaching a gauge’s emissions cap.
We therefore expect organizations will weigh these pros and cons of fundraising solutions for themselves and only choose to apply for Curve fundraising if they believe this source of funds would be net useful despite the drawbacks.
We see these clear drawbacks as a good way to prune irrelevant projects in the first place — your cousin’s rock band is unlikely to apply because they’d be poorly equipped to navigate future governance votes. Projects that can substantially benefit Curve’s growth, on the other hand, may calculate they’ll be able to lobby a natural coalition of voters who may choose to continue directing funds towards such projects over time.
Additionally, this new gauge type is a great way to demonstrate the flexibility of the Curve platform. Although the initial proposal is to fund Vyper, we hope this opens the door to all variety of innovations which benefit the platform.
Next Steps
The code is deployed and the genesis proposal is live. If you like this cause, make sure to support it by voting right now!