How to Conduct an IGO (Initial Gauge Offering) for Curve Eco Projects

WormholeOracle
10 min readMar 22, 2023

--

This article outlines a novel strategy for conducting a seed funding round that makes use of the Curve gauge mechanism. Early-stage DeFi projects building in the Curve ecosystem with plans to issue a governance token may be interested.

Click here to jump right to the strategy.

Intro to the Gauge

The gauge mechanism is one of the core features of veTokenomics, the token design pioneered by Curve Finance. It has proven to be one of the most exciting value drivers in decentralized governance, having spurred intense competition for gauge weighting known as the “Curve Wars”.

The token design takes inspiration from Bitcoin’s issuance schedule: CRV is inflationary, initially at a high rate (r=22%), and reducing each year by ~16%. Over the course of several hundred years, inflation effectively drops to 0 and it reaches a terminal supply of around 3.03B.

source: Blockworks Curve Dune Query

Newly issued CRV is distributed via the Curve gauge mechanism. The gauge is governed by owners of the protocol, proportional to their ownership stake. A stake can be acquired by time-locking CRV for veCRV in the VotingEscrow contract.

When a user has veCRV, they’re able to participate in gauge weight voting. This is a weekly vote on how to distribute CRV emissions for the following week. The hub of this process is the Gauge Controller contract, which maintains a list of the gauges eligible to receive a share of newly issued CRV. All gauges added to the Gauge Controller must pass an on-chain DAO vote with a 30% quorum and 51% approval from veCRV voters. Each week, veCRV voters are able to allocate weighting, proportional to their ownership stake over the protocol, toward any gauges added to the Gauge Controller.

The following diagram shows the process of acquiring veCRV, voting on and processing weighting between various gauges, and minting CRV based on weighting info:

Curve Bribe Markets

There is a high opportunity cost to taking a veCRV stake, as the underlying token may not be available to the locker for up to 4 years. The right to direct inflation is therefore quite valuable and has given rise to a flourishing bribe market.

The term “bribe” is a facetious term coined by the first instance of such a market, introduced by Andre Cronje with https://bribe.crv.finance/. In reality, this is a market for liquidity provision, something like a market maker fee. Historically, it has offered gauged protocols with a capital-efficient way to incentivize liquidity for their pool, as bribe markets tend to offer better returns than offering incentives directly to pool LPs.

Typically, a protocol will have a governance token that they deposit as a reward into a bribe platform (e.g. Votium, Votemarket, or Quest), and specify which gauge veCRV voters must vote for to receive the reward. veCRV voters distribute votes across all incentivized gauges according to factors such as the reward token market value or the subjective desirability of the reward token.

Llama.airforce tracks the historical value of bribes on Votium, which includes only bribes directed to Convex voters. Convex is the largest governance organization built on Curve and it has about 50% of all veCRV vote power. Although it is only a subset of the overall bribe market, it averages a hefty $2.5M in bribe revenue per 2 week epoch (Convex gauge votes every 2 weeks).

Source: Llama.airforce Votium Round 39

Warden Quest

Quest is a bribe platform with unique mechanics that make it well-suited for the purpose of the seed funding strategy. Other bribe platforms only allow vote purchasers to deposit an arbitrary amount of rewards, the cost of liquidity provision being determined by the amount of competition in the market. In contrast, Quest gives the vote purchaser control over their cost by allowing them to specify a fixed rate of rewards per vote.

Creating a Quest involves specifying the gauge to incentivize, the target number of votes, the duration of the quest (in weeks), the reward token, and the reward amount per vote. After creation, it is possible to increase the target number of votes, Quest duration, and/or rewards per vote. This creates a fixed reward pool with the Quest creator setting the reward rate and participants earning a fixed reward.

Source: Create a Quest

All of this background serves to explain that there has historically been a great deal of excitement and value driven by the Curve gauge mechanism. Perhaps there is a nascent opportunity enabled by this mechanism to incentivize something other than Curve liquidity pools...?

In fact, there has been an interesting experiment in alternative gauge types: introducing the veFunder Gauge ⤵️

veFunder Gauge

Join the discord

This alternative gauge, developed in March 2022, demonstrates that Curve gauges can be used to incentivize more than just liquidity pools. The veFunder gauge was conceived as a DAO-approved fundraising endeavor. It requires a recipient address and a max CRV allocation (beyond which the gauge will stop distributing CRV to the recipient). A proposed veFunder gauge must undergo a standard DAO vote for addition to the Gauge Controller. After a successful vote, veCRV voters can choose to weight the gauge and direct CRV emissions to the recipient.

UI to deploy gauge and vote for veFunder gauge: llama.airforce

As a PoC, the team behind veFunder (a group of Curve team and community members including CurveCap, Fiddy, Skelet0r, and AliG) worked with members of the Vyper Foundation to issue them a veFunder gauge. Gov proposal here: https://gov.curve.fi/t/proposal-to-fund-vyper-development-via-a-new-fundraising-gauge/2726.

This was a prime candidate for such an experiment. Curve is written in the Vyper programming language and has a strong interest in supporting its development. The proposal laid out the case for and terms of the veFunder gauge (it would direct emissions to the Vyper Foundation Gitcoin Grants address with a max allotment of 2M CRV) and was approved by the DAO.

LINK: Vyper veFunder Gauge Address

LINK: History of CRV claiming by the address

This experiment has not been without its hardships, however. Receiving a veFunder gauge is only the beginning- recipients and their proponents must then lobby significant DAO voters to continue donating their valuable weighting toward a good cause. This easily results in a tragedy of the commons, whereby it is optimal for each voter to prefer voting in their own financial interest, either for bribe rewards or emissions to a pool where they LP.

Following the experiment with Vyper, an attempt was made to offer a similar gauge to a group of Ethereum core developers. This proposal was met with resistance, and since then the veFunder concept has remained mostly dormant.

Perhaps just a slight revision to the veFunder use case can revive the concept…

Initial Gauge Offering (IGO) Strategy

There is a valuable opportunity for Curve to make use of its gauge mechanism as a decentralized bootstrapping tool. This strategy utilizes the existing veFunder gauge and Curve bribe markets to conduct a seed funding round for a Curve ecosystem project.

Who this strategy would work for

This seed funding strategy could be the right fit for:

  • An early-stage DeFi protocol,
  • In need of startup funding,
  • Building on Curve, and
  • Planning to issue a governance token as part of the protocol design.

As a member of the Curve Grants Council for multiple years now, I see a lot of grant applicants who fit that description. However, the Grant Council tends to compensate public goods projects, as well as individuals supporting Curve in various ways. It can be inappropriate politically for the Grants Council to pick favorites among for-profit endeavors, and this sadly leaves many projects without an avenue to secure DAO funding. I would love there to be a pathway for these projects to receive DAO funding, ideally one that is fully decentralized and offers Curve voters a possibility to share in the profit.

1) Create a Governance Proposal

The first step is to visit https://gov.curve.fi/ and create a governance proposal. Explain your intention to seed fund with the Curve veFunder gauge, explain your protocol, and make a strong case for why voters should give you a gauge. Explain the tokenomic design and what allocation you plan to distribute to Curve DAO. Specify the recipient address and max CRV you will allot to your veFunder gauge.

2) Gauge Deploy and Vote

If you are satisfied with the response from the community and wish to move forward, deploy your gauge at https://llama.airforce/#/curve/dao/vefunder (Gauge Creation). Set the recipient address to a suitable EOA, multisig, or contract capable of making the necessary calls to mint CRV (for reference, see this tx). Set CRV amount (max) to the amount you intend to raise.

Then create a DAO vote (you must have 2500 veCRV or find someone who does who is willing to create a vote). Input your deployed gauge address and add a description using the format:

Add a veFunder gauge: This is a fundraising gauge for [project name]. [link to gov proposal]

3) Whitelist Your Token on Warden Quest

Assuming you passed the gauge vote and have deployed your governance token, you will need to get it whitelisted on the bribe platform. You can reach the team on their Discord channel and they can help you get whitelisted:

Discord: https://discord.com/invite/dvPcqPAbTh

They can also help with any questions you have regarding setting up a quest. If you need help getting in touch with the team, you can reach me on Telegram at https://t.me/WormholeOracle.

4) Execute Your Funding Strategy

Once whitelisted, you can create a Quest on the Quest app:

Create Quest: https://app.warden.vote/quest/create/

You probably are targeting a USD denominated value for your sale, so you should check up on current daily CRV emissions valued in USD. This Dune query can help.

532K CRV/day or ~$500K/day in emissions currently

You’ll also need to know how many veCRV are gauge voting to determine what percentage of the weighting you’ll need to capture to meet your funding goal. This value can be read as the total_vote_weight on the Gauge Controller contract.

It is also advisable to compare your anticipated rewards rate against current market conditions. At the time of writing, rewards are averaging ~$.004 per veCRV vote (see Votemarket for pricing).

The strategy proposed here takes place over multiple bribe rounds and resembles a Dutch auction. Initially, the reward per vote is set low and each week is increased until all reward tokens have been distributed. Initialize your Quest with a Reward per Vote based on the valuation target of your token.

For Example:

Assume I will be selling my token XYZ to veCRV voters. I have allocated 25,000 XYZ for the sale, targeting an average price of $4/XYZ, and conducting the sale over 4 weeks (a $100K raise). On week 1, I will set the reward rate to $8/XYZ, and each week reduce by 25% (week2 = $6/XYZ, week3 = $4.5/XYZ etc.) until all XYZ have been distributed.

To determine roughly how many votes I need to reach my target, I’ll check:

  • the average USD value of CRV emissions recently (Dune query here)
  • the current total vote weight (see here for current total vote weight).

As of this writing, there are ~$3.6M emissions/week, and 545M total vote weight. I am pricing XYZ for the first week of the sale at $8/XYZ. I can calculate my RewardPerVote as:

For my personal reference, I can check how many votes I should target per week to reach my goal of $100K total raise. For the first round, I can calculate as:

The following table shows a hypothetical outcome of my sale. I’ve made some assumptions for simplicity’s sake: that total veCRV weight and value of emissions are fixed. Then I simply adjust the RewardPerVote each week to set the sale price of XYZ.

Google Speadsheet Template to set up your own parameters

When setting up the quest, I can simply set the Target Amount of Votes to the maximum possible votes needed in a week, given my raise goal of $100K.

Once I have created my Quest, I can update the Rewards per Vote each week to reflect the new price of XYZ. I can also add additional voting periods if I have additional XYZ that had not been distributed in the 4 rounds.

Conclusion

Ultimately, veCRV voters will weight your gauge based on the strength of your concept and their belief in your ability to follow through on the plan you lay out. It’s up to you to convince voters that your freshly minted, illiquid token is worth voting for over other rewards available in the market. Good places to market your project are the Convex discord, Curve telegram, and Curve discord. If you are interested in pursuing this strategy and would like help with navigating the Curve governance process, I’m happy to help. You can message me on TG: @WormholeOracle

--

--