0xCider 🍾 $GEAR Liquidity Bootstrap Plan

12.12.2022. Updates since last time:

All done: audit, interface, deployment, multisig instructions. The launch begins in a few hours. Thank you to everyone being awesome. Into the future! All the details":

01.12.2022. Updates since last time:

28.11.2022. Updates since last time:

  • I have finished the draft code! Now I need to write tests and then submit to auditors on December 5. Will make a simple interface while the audit is ongoing. No loss of time, minimal delays. As soon as the audit is back, it can be all launched.

  • Added price discovery mechanism into the auction: min-max ranges for $gear depositors, and mix-max ranges for $eth depositors. You will not know the exact final price, but you will know the range. DAO needs to vote on these ranges. Think!

  • Reduced complexity: to participate, you send either $gear or $eth to the cider contract. $gear is sent by approving and calling “commitGEAR” and $eth can be just sent directly. That’s it. The price will be calculated by the contract. Easy!

  • Added FairTrading which is somewhat like Chicken Bonds of Liquity! Somewhat.

  • The date for launch is doable as 16 of December, and all the stages will take about 2 weeks in total. But FairTrading idea should factually begin before Christmas.


As a child, I always wanted to be a poet. Instead, I became a coder. But every now and then I try to combine the two. As a result, the name of my strategy proposal:

“Cider’ed Liquidity” rhymes with “Seeded Liquidity” as per the name by banteg dating two years back. Cider, seed, seeded… Cider’ed. Aping with cider… Capisce?

the ape requires new models. It needs cider... 0xcider
the ape requires new models. It needs cider... 0xcider

Why even bother discussing these concepts?

One could say, “just unlock and let it sail - product & traction will determine everything!” FWIW, that is too bold. Eventually that is the wei, but initial stages are extremely important. Not the price, since no one can control it, but the overall approach. How fair the model was, how thought through, what incentives it created, and so on. Our goal as a $gear community is to nurture a great launch environment, on par with how awesome V2 has been. “Do it, and move on with the protocol work”, as millie said. I am not taking core developers time away.

Gnosis Auction has been agreed to be a weak path given the community stage, after so much time has passed. Moreover, I ‘m not fond of the lean proposal for $gear either. Indeed, nobody can artificially pump or dump markets; unless supply is centralized however which is not the case with $gear at all. The proposal I am putting forward isn’t aimed at artificially creating markets or trying to play market maker - no. I am simply suggesting the most optimal way for the $gear launch given the crypto market conditions and DAO stage in general. But maybe I am wrong instead?


0xcider model 🍾

0xcider model is practically a GEAR/ETH LP position auction: some buy 50%-50 LP with $gears, some buy 50-50% LP with $eths. It’s practically the same if the Gnosis Auction was done first, and then proceeds would be paired in Curve. But, technically elegant!

  • $gear holders decide if the range of the price is something they like. If they want to partially exit at the range, they just send $gear to the cider contract and wait. Why call it a partial exit? Because at the end of the cider, they get 50%-50% Curve V2 LP tokens back. When they claim those LP tokens, they can exit, remain, add.

  • $eths holders decide if the range of the price is something they like. If they want to partially enter the $gear market, they just send $eth to the cider contract and wait. Why call it a partial entry? Because at the end of the cider, they get 50%-50% Curve V2 LP tokens back. They can exit, add more, remain, etc.

  • The contract decides the average price within the range quoted, then adds LP to Curve 50-50 GEAR/ETH. That’s pretty much it, but with a new twist: FairTrading.

First: Why would individual LPs stay?

When deciding to join the 0xcider model, you are not really buying or selling only. You are also betting that the volatility (buys & sells) will be large. LP rewards come from:

  • As LPs exit and enter after 0xcider, swaps happen inside the Curve V2 pool, meaning it generates fees for those who stay in.

  • FairTrading amplifies the fees to distribute over the next X months.

  • Any extra LP LM if the DAO was to vote for one.

  • Any extra help from Curve or Convex side teams, next to bribing if that is to be done. I‘m not saying that gearbox DAO should engage in bribing, it’s too expensive.

Note: sellers get only 50% of what they want ($eth) and buyers only get 50% of what they want ($gear). That is because they get a 50-50% position in Curve LP. Naturally, if all sellers withdraw and sell - similar behavior can be expected from buyers, who unwrap and buy more gears then. ++ LP makes sense to holders! For $gear fans, entering from either side during the auction is almost always win-win:

  • if the price goes down, then you accumulate more GEAR due to essentially swapping to $eth and then reentering at lower price + LM;

  • if the price is in crab flat mode, then you accumulate more due to LM and can then withdraw into GEAR when LM finishes and/or liquidity is better;

  • if the price rises, most likely you’ll have a small eth-denominated profit (unless IL is really bad, but for that to happen $gear has to go 2-3x from initial price) + LM.

As such, it’s actually a very lucrative idea to be an LP! Especially thanks to:

NEW* FairTrading (MEV inspired concept)

When a new pool opens, there are a lot of MEV trades. Previously, arbitrageurs & smart coders took the profits home. These days, it’s flashbots only. My new idea is to create a “fair trading” phase while the token is still non-transferable and socialize the fees paid by early traders into a 6-month LM contract. Here is how it works:

After the 0xcider model is done, participants do not get their LP Curve tokens just yet. However, liquidity is inside Curve V2. Participants can use the same 0xcider contract and sell $gear into the Curve pool.

At the same time, at the time of this operation, the user is charged fee =

30% * (transferabilityStart - currentBlock) / (transferabilityStart - auctionEnd) in $gear

  • Sellers: within the first 2 weeks after the 0xcider ends, this will be the only way to sell $gear. Those who wish to sell tokens to buy themselves PSP or new stockings for Christmas, can make use of the early liquidity. For that, they pay a higher fee. That fee is paid in $gear and goes to a separate contract for GEAR/ETH LM.

  • LPs: the contract then gives LPs rewards over the course of 6 months. Thus, the early dumpers essentially fuel the LP holders over the course of the next months.

What if nobody takes the high fees? That ’s ok! That means that the market somewhat accepted the LP price range, and stabilized it. Less directional moves also means less impermanent loss for LPs. Win-win.

0xcider technical scope

ONE 1) Initially, the admin [DAO] sets the parameters:

  • minGear/maxGear: how much $gear will the contract be able to collect

  • minEth/maxEth: how much $eth will the contract be able to collect

  • gearDepositDuration, ethDepositDuration, fairTradingDuration - the max duration for each phase

  • Curve pool parameters for when it is deployed

  • Initial discount for FairTrading stage

Thus, the auction sets the limits for the minimum and maximum possible price at the auction (minEth/maxGear and maxEth/minGear, respectively). Participants might not know the final exact price, but they will know the approximate range they are getting in. This range needs to be voted in, and it better be tight enough or participants might be unwilling to enter

Suggestion 💡 the worse the market is, the more careful and welcoming the criteria should be. I suggest using $125-$175 M fully diluted as the range, making $gears price $0.0125-$0.0175. Those who believe this range is underpriced, are free to enter from $eth side. The admins [DAO] also set durations for $gear raise, $eth raise, etc.

Suggestion 💡 2,000 $eth <> 2,500 $eth as the range for buyers.

Dates of different stages are determined dynamically:

  • $gear raise starts when the admin (DAO technical multisig) launches the auction

  • $eth raise starts when maxGearAmount is filled or $gear raise duration elapses with the final sum within the range (if the sum is below the range, then the auction fails and everyone can withdraw their $gear back)

  • $gear selling (FairTrading) starts under similar conditions as $eth raise (so either max $eth raised or enough time passes since the previous stage with final amount in the range)

  • $gear selling goes for a predetermined time and then $gear transferability is unlocked and contributors can withdraw their LP

The DAO also temporarily gives ownership of the GEAR token contract to the 0xcider contract, so that it can actually transfer $gear from participants. Ownership will be returned to the DAO at the end, regardless of outcome. No extra risk added here.

TWO 2) Auction contract accepts $gear for gearDepositDuration seconds. After this period, the contract does not accept $gear. The contract accepts no more than maxGear. If the contract collects less than minGear, then the auction goes to the “failed” state - and the DAO can decide on the new plan later. To finish the Gear raise stage after it has timed out, anyone can pull the advanceStage() function, which will resolve to a new stage depending on the final amount.

Suggestion 💡 2 days for $gear, 2 days for $eth.

THREE 3) Auction contract accepts $eth for ethDepositDuration seconds after the start of $eth deposit stage. By this time, participants will already be able to understand at what minimum price they can sell / buy. After the deadline, the contract does not accept any more eth. If the contract collects less than minEth, then the auction goes to the “failed” state - and the DAO can decide on the new plan later.

FOUR 4) Auction contract conducts a settlement. The contract already knows how much $eth is in it, how much $gear, which determines the price. The contract drops all eth and gear on the GEAR/ETH Curve pool (deployed automatically through the factory) and gets LP tokens. Sellers/Buyers from points 2 & 3 receive virtual balances of LP tokens in proportion to their payment based on the price of the settlement.

FIVE 5) The contract then starts the FairTrading stage and allows $gear holders to sell $gear through it into the pool with a discount. The discount depends on the time from now to FairTrading stage end - it starts at the value provided by the DAO (30% suggested) at stage start and goes linearly to zero at the stage end. So the precise formula is: Fee = feeStart * (stageEnd - currentTimestamp) / (stageEnd - stageStart).

SIX 6) After the end of FairTrading stage, anyone can pull advanceStage() to unlock GEAR transferability

SEVEN 7) Now participants can claim their physical LP tokens. Free market!

Voting required on:

  1. Days for accepting $gear & $eth: 2 and 2 days suggested.

  2. Min amounts for the cider contract: $gear and $eth worth ~$2.5 M each.

    1. min_gear_amount: 120M; max_gear_amount: 160M. This would make $gear range price: $0.015 - $0.030, it depends on the formula.

    2. min_eth_amount: 2,000 [$2.4 M]; max_eth_amount: 3,000 [$3.6 M]

  3. If either fails to hit min: keep $gear locked and return all funds, decide on new plan.

  4. FairTrading duration: 25% start -> down to 0% in X days.

  5. FairTrading: fee for selling at the fee voted in, 0% fee on buying.

  6. Curve pool params such as A, gamma, fees, etc. Recommended values here.

While that may seem new, the interaction for participants will be easier than even trading on Uniswap… Speaking of the interface, it will simply allow you either to approve and pull a function to send $gears in the first stage - or send $eths in the second stage. It will show min and max price within ranges voted on. Alternatively, you could also just send $eths to the cider contract directly. It’s easy!

Optional** new ideas for the proposals

idea for a simple interface i am making
idea for a simple interface i am making

0xcider FAQ

I will keep adding to this section as more questions come up.

What options do sellers have?

You have $gear and you want to sell it?

Sell during either FairTrading phase or after - while FairTrading has fees, it also allows you to trade with the pool earlier than others. So if you think that there will be a huge sell-off, it is probably worth it to sell even with fees.

What options do $gear holders / buyers have?

You have $eth and you want some $gear?

Get into 0xcider then, you are guaranteed * to get 50% in $gear. After the 0xcider and CurveMEVSnatcher end, you can unwrap and buy the remaining $gear. The price is to be decided within the range, as per my suggestion, $0.0125 - $0.0175. If you think it is too low: you got yourself an amazing deal. If you think it is too high: wait for lower?

You have $gear and want to get more?

Get into 0xcider on $gear side, you will get more $gear if the price either dumps or crabs. If $gear moons, it can go either way, but you will get fees/LP rewards regardless. This is the best strategy if you think that $gear will dump, but go up long-term.

Why is being GEAR/ETH LP a lucrative idea?

When deciding to join the 0xcider model, you are not really buying or selling only. You are also betting that the volatility (buys & sells) will be large. The rewards are from:

  • As LPs exit and enter after 0xcider, swaps happen inside the Curve V2 pool, meaning it generates fees for those who stay in.

  • FairTrading amplifies the fees to distribute over the next X months.

  • Any extra LP LM if the DAO was to vote for one.

  • Any extra help from Curve or Convex side teams, next to bribing if that is to be done. I‘m not saying that gearbox DAO should engage in bribing, it’s too expensive.

Note: sellers get only 50% of what they want ($eth) and buyers only get 50% of what they want ($gear). That is because they get a 50-50% position in Curve LP. Naturally, if all sellers withdraw and sell - similar behavior can be expected from buyers, who unwrap and buy more gears then. ++ LP makes sense to holders! For $gear fans, entering from either side during the auction is almost always win-win:

  • if the price goes down, then you accumulate more GEAR due to essentially swapping to $eth and then reentering at lower price + LM;

  • if the price is in crab flat mode, then you accumulate more due to LM and can then withdraw into GEAR when LM finishes and/or liquidity is better;

  • if the price rises, most likely you’ll have a small eth-denominated profit (unless IL is really bad, but for that to happen $gear has to go 2-3x from initial price) + LM.

Gauges and extra Curve-Convex things. Are they needed?

As millie said, coordinating these can be quite some work. I don’t think gearbox DAO should be engaging in bribes at first. There should be enough other mechanics to keep LPs in the pool. These bribes and gauges could be done in the future.

Why not Balancer?

Aside from balancer being less familiar than Curve, their “internal balances” feature may pose an issue, since it would allow people to trade ETH => GEAR AND back afterwards even before transferability. While this would technically only allow them to push GEAR price in only one direction, they could try to sandwich GEAR dumpers or do some other attack I haven’t figured out yet. This is also somewhat possible with Curve by depositing one-sided, but can’t withdraw or trade back before transferability, so there it’s not an issue.

Suggestion: to maintain a great DAO-to-DAO relationship, Gearbox DAO could consider adding its own liquidity to Balancer once volatility dies down. This would also foster arbitrage between Curve & Balancer. That is, if no assets are used in the cider model.

Curve V2 has been alive for a good while, with FXS CVX and other tokens being there.

No POL is good or bad?

In the 0xcider model, the DAO does not end up with any POL. However, current known POL models are outdated and would not be beneficial for the non-PCV protocols.

interface

I am making one, but you don't need it! To participate, you just send $gear or $eth to the cider contract. $gear is sent by approving & calling “commitGEAR” and $eth can be just sent directly to the contract. That’s it. The price will be calculated by the contract.

audit… and WHEN?!?!

I have finished the draft code already! Now I need to write tests and then submit to auditors on December 5. Will make a simple interface while the audit is ongoing. No loss of time. As soon as the audit is back, it can be all launched.

When is that expected? Before Christmas it should all be launched live. I expect you to be able either to get some $gear or $eth as presents. Vote now, discuss the parameters as per requirements, and let ’s launch this.

Great things take time. If you believe this idea is great, then side with me. If you don’t like some parts, then help improve it! There is no rush to unlock if the differences are so minor. Is almost there, with great support from smart DAO members both internal and external. PS: I will keep this post here. Koala can summarize and post on DAO Medium if he wants. Perhaps a user guide closer to the date if my model is chosen. I ‘m on forum if you need me. Thanks to Gearbox developers & DAO members for help.

Subscribe to 0xcider
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.
Author Address
0x887C988ac4EB5D3…eaE81a676e7812B
Content Digest
DBkZr9Bs2OAAHir…KfrpziFAOiWC0q0