SIMP #1 : Sushibar v2

S.ushi I.mprovement or M.odification to the P.rotocol

Following the Nansen report available here: https://research.nansen.ai/sushiswap-farming/

This flaw was discovered in the current Sushibar:

This externally owned account (EOA, i.e. non-contract) seems to be entering and exiting SushiBar and making 10+ ETH of profits in less than 12 minutes of entering the SushiBar. A simple breakdown of what they’re doing is summarized below.

  1. Borrow Sushi from Cream
  2. Stake Sushi -> xSushi (enter)
  3. 12 mins later
  4. xSushi -> Sushi (leave)
  5. Repay Cream Loan
  6. Convert profited Sushi to WETH

jokap.eth has been abusing this loophole for a while and we should remedy to it.

Instead of simply adding a vesting period to the SUSHI entering the Sushibar I think we should add a few modifications that will make it more sustainable for SUSHI holders and incentives projects to have a more symbiotic relationship with our protocol.

There is currently a YFI vault being developed by a developer named andy8052

My first vault & strategy are finally testing in prod. You can farm the @SushiSwap

  • ETH/DAI pool to earn more ETH/DAI SLP tokens.
  • Vault is currently limited to ~$10,000 in SLP tokens
  • If you want to help me test in prod I will post the contracts bellow

The way it works is = Deposit SLP ETH/DAI, claim the sushi, sell the sushi, rebuy more SLP.

This isn’t wrong per se but will continuously dump SUSHI.

We are also seeing a very interesting phenomenon with Yam Finance

Like everyone in this space, we love Uniswap, but SushiSwap’s support of Yam with SUSHI incentives has created a strong pool of liquidity that we want to build on rather than compete with. Additionally, the opportunity to grow the treasury by farming SUSHI is a strong incentive to make the switch. While we know some have mixed feelings about SushiSwap, the Yam community believes in second chances, has been impressed with their professionalism under new leadership, and seeks to collaborate when opportunities present themselves.

Quote from : YAM LP Rewards Resume and More

They will be growing their treasury with SUSHI?
Great, but they will at some point need to dump them… Right?

What if there was another way?

A way where people supporting and owning these tokens could have something sustainable, something stable, something that encourages a symbiotic relationship?


The Sushibar is currently yielding in average 15000$/USD per day with APY hovering between 15%-75% (we even saw upwards of 300% during the hype mania phase in early September)

This is WITHOUT BentoBox, Limit-orders, Gusoku & Miso that would bring more revenue streams on top of the current Swap division of Sushi.

I believe that by adding vesting & boosting to lock in additional rewards via the protocol is key.

Curve Finance has a complex mechanism for applying them but is also one of the most ingenious one.

Locking SUSHI would take a minimum of 7 days mitigating the borrowing arb currently in place or flash loans.

Adding this locking period means we could remove the current EOA requirement that makes it impossible to leverage keep3r network for multiple use cases such as automatically harvesting rewards at a set time every day, claiming xSUSHI yields, locking your SUSHI etc.

Once the SUSHI becomes xSUSHI, we should add a vesting period for the persons willing to commit long term to the governance & protocol. It only makes sense that individuals taking this risk, be awarded more rewards, which is the boost part.

Vesting could be quite simple with 3 months - 6 months - 1 year - 2 years
(details can be picked by the community, I’m only providing 4 options to keep it simple)

Someone locked in for a long time should get more rewards.

The rewards should be switched from SUSHI to DAI

Yes, this will lower buy pressure on Sushi but more people locking should alleviate the issue in conjunction with the stablecoin rewards, emission being curved and LP rewards being vested for 6 months.

We are ready as a community to make the jump lowering the pumpamentals and make sure that people holding and participating in the community governance can count on a steady revenue stream.

Grantees currently have no choice but to sell their SUSHI holdings if they want to pay their bills, instead, they can lock them for passive income with this Sushibar v2.

Why DAI?

It is the stablecoin that aligns the most with our ethos in my opinion and we can switch to another one if deemed necessary in the future.

Maki, maki, maki but I want more ETH! I want more SUSHI! I want more wBTC! I want more YFI!

The beauty of having a system that rewards with DAI, is that with the help of YFI strategists, we can build vaults that can be used to accumulate ANY of your favourite tokens.

Do you want more orange meme coins? Put it inside a xSUSHI-wBTC vault.
Do you want more ETH? xSUSHI-ETH vault is there for you.
You want more… etc.
(You get it right?)

The option to pick the asset will be given to 3rd Parties this isn’t our fight.

It enables a Symbiotic relationship with protocols like YFI instead of dumping behaviours.

Specifications :

1st Phase

After consulting with Jiro & Levx

  • Make the Sushibar stop buying SUSHI and instead use the funds for DAI

2nd Phase

  • Make the Sushibar able to CLAIM rewards while xSushi is staked in vesting.
  • Add lockup period of 7 days.
  • Open the sushi bar claim/harvesting functions to wallet contract addresses.
  • Add vesting for xSUSHI that will BOOST the earnings with various boosts based on something similar to curve.fi, once someone has boosted, people need to use more SUSHI to compensate.
  • Vesting time : 3 months - 6 months - 12 months - 24 months.

We will need to migrate Sushibar contracts and various modifications in the smart contracts.

Jiro

It’s just a matter of changing to feeTo address on the Router and then all the contracts after that would need be changed so just maker and the bar

Yeah it’s basically just new SushiMaker contract, new SushiBar contract, and the new SushiBar contract would have the logic for claiming dai. Maker would have the same logic as before just swapping for dai instead of sushi.

And then once those are in place we can test them without effecting the other stuff and the current SushiBar. Then once that’s stable we would do the Router change to route fees to new Maker address

Welcoming the community to adjust the details.

Devs to begin working on the v2 if the proposal is positive, we have locked audits for the 30th of november for BentoBox & limit orders. Ideally we could add this to the scope.

Thanks :pray:
0xMaki

Proof-reading by : Kastrye - mbaril010 - zes

Poll

  • What are you waiting just Simp ASAP
  • We need to modify the details but we want this implemented.
  • No we don’t Simp and stay with the current Sushibar.

0 voters

3 Likes

On board with this proposal. Listing my thoughts on the topics raised below (along with certain recommendations)

1. xSushi returns in DAI vs Sushi

  • This is a right step forward. Over time, the industry will recognize cashflow generating protocols and place a premium on protocols that do not rely on emissions to generate cashflows. The stability of returns via DAI will be imperative in attracting larger volumes of capital.
  • Option to create follow on vaults for market buying assets of the community’s choice will also be welcomed.

I propose that the standardized vault options be DAI (default), wBTC and ETH.

2. Locking up of xSushi for boosties

  • Fully agree that replicating a CRV rewards incentive scheme would be beneficial. Without Curve’s horrible emission schedule, this could be a material catalyst to Sushi’s price in both the ST and LT.
  • However much thought has to go into structuring the reward tiers. Boosting locked up xSushi will come at a cost of current yields. I propose the following multiplier tiers for rewards:
    • 3 Month Lockup: 1.2x Multiplier
    • 6 Month Lockup: 1.4x Multiplier
    • 12 Month Lockup: 1.7x Multiplier
    • 24 Month Lockup: 2.0x Multiplier
  • These multipliers would of course needed to be tested and adjusted accordingly but I think it is a decent base layer to work from. Open to hearing community’s thoughts on this.
  • Rationale for not having 3-4x boosties (like CRV): Any incremental increase in rewards for locked up tokens significantly take away from default rewards with no lockups. We still want to have an attractive APY on a non-vested basis. The fact that rewards will be paid in DAI would also alleviate concerns that rewards are subject to price volatility and thus stakers would not require extreme boosts to APY to lock up their tokens.

Open to receiving feedback on the proposals above.

6 Likes

Why not buy a yield accruing stablecoin, like yDAI?

It would increase the rewards further, and only slightly increase the withdraw fee (when withdrawing to DAI, we could even offer the direct withdrawal to yDAI).

With ETH and wBTC the APYs are a lot lower, but it could be considered for them also.

I think that the point is to generate “actionable” passive income. Basically, you get you DAI and you’re done. People would still have the choice to double-down and swap them for yield accruing tokens/

1 Like

Is current scheme that buy back sushi? We need buyback to push the sushi price up.

1 Like

This’s exactly my situation now. Can’t wait. Thank team :wink:

I like the proposal.
There is however a lot of things to consider when switching xSushi strategy, most of which you have already discussed. I am wondering how you will implement 1st phase? Right now it seems quite easy since the pool only consists of sushi, and the Xsushi just gradually becoming worth more and more sushi. How will it work if we implement dai?
I believe we should have a clear plan for the technical aspect before we implement it, so we don’t end up in a similar situation with the sushi vesting.

Right now the Xsushi is very gas effective and compounds without the user have to do anything. How would that change in the 2nd phase?

The vesting boost could be a very good solution, and i think Wangarian’s proposal for boosting multipliers are a good starting point.
Regarding the currency payout, i think we should keep it as simple as possible, and dai would be a good choice imo.

1 Like

The current SushiBar is very gas efficient, changing the reward to DAI brings a range of issues. xSUSHI will become equal to SUSHI in value and auto-compounding will end. You’ll have to withdraw your DAI, convert it to SUSHI and deposit this into the SushiBar to compound your gains.

Personally I’m in favor of a system where deposited SUSHI slowly grows in earning power (every block) up to full potential in x weeks or months. This is not just your earning power, but also your voting power. So those who keep their SUSHI locked up get the most rewards and the most voting power. But everyone has the freedom to withdraw anytime. To encourage LPs to lock their SUSHI into the SushiBar, we can add a feature to harvest directly into the SushiBar, and treat that SUSHI as if it’s been locked up already for x weeks.

Btw. dumping of SUSHI earned through the SushiBar isn’t in issue, because it was bought first anyway.

8 Likes

What about making it opt-in/opt-out? I don’t like the idea of added complexity, but really like the idea of an additional 5-10% APR.

1 Like

xSushi represents a share of the pool in the form of a token.

This representation could be changed into an internal variable of the contract, it’s doable, and pretty easily as well.

Also, once BentoBox is out, you can use your xSUSHI as collateral and borrow against it :wink: So you can put it to work. We can also add a strategy for putting the locked SUSHI to work if we wanted… but that does of course add some risk.

3 Likes

I dont know how hard/easy it is to implement the different solutions. I really like your idea of no lockups, and automatically growing earning power over time, and if it is easy to implement i would prefer this option. It gives people freedom and reward people who stake for a long time in a simple and easy way.
I’m just wondering how it would work, if you add additional sushi to the Xsushi pool. Would every Xsushi be calculated individually, or would it use the average staketime for each sushi?
If you would withdraw a part of your Xsushi, would the remaining xsushi be unaffected, and still retain their earning/voting power ?

1 Like

When you add SUSHI you just calculate the average. Say you had 100 SUSHI in there for 2 weeks and you add 100 SUSHI, you’ll now have 200 SUSHI that’s been ‘locked’ for 1 week. Simple low gas math that gives correct lockup rewards.

When you remove SUSHI, the ‘lockup’ time just stays the same for the remaining SUSHI.

Simple and elegant solution that’s low on gas… how the SIMP #1 plan gets implemented I’m not sure, but it would seem to me you’d have to track every individual lockup as they will all have different expiration dates, leading to having to create loops which is a no-no in smart contracts. So if you keep adding your earnings to the lockup every week, after 25 weeks you may have to loop over 25 entries if you want to withdraw.

Any idea who’s going to implement this?

1 Like

Thx for the explanation. I really do prefer a low gas and simple solution, so unless Maki/team can implement their proposal in an easy and gas efficient way, i strongly prefer your solution Boring. Also, since SBF removed the majority of Sushi from Cream platform, the issue reported in the Nansen report does not seem that important to “fix” asap.
And if we can implement a 24 hours - 7 days delay for staking sushi to Xsushi, the issue would be nonexistent as i see it.
Then down the line when eth 2.0 or layer 2 solutions have matured, we can implement more complex and gas heavy contracts. I do believe we have a lot of things more urgent than making big changes to Xsushi. Beside the clever use of game mechanics used by lending sushi from Cream, the xsushi works very well as is imo.

1 Like

Think this should definitely be explored. Locking up Sushi is rather capital inefficient.

The time lockup boosts is something I was concerned about as well, b/c like you said you’d have to keep track of every individual lockup.

I’m curious if a bonding curve of up some type would be a better way to introduce a time based solution. As more sushi is deposited in the bar, you will get less xSushi for that sushi. Thus, users are inherently incentive to keep their sushi locked up longer b/c it will cost more sushi for the same amount of xSushi. And this rewards those that got in earlier, as well as those that stake for a long period of time.

2 Likes

Would prefer a time based lockup over a weighted bonding curve type scenario, if it can be engineered correctly, and I expect that it can. I’d rather not give clear benefits to specific groups (big players, early stakers) but rather let each user determine their appetite for a lockup period. That would make the protocol time-agnostic as far as when a user gets involved, and that’s exactly what we want for future growth.

If we’re going to switch xSUSHI rewards, I think it would be more fun to get ETH than DAI.

1 Like

Very good proposal. Good job, @0xMaki.
Agree with @Wangarian, boost+multiplier is better.
I m still thinking which is the best way to distribute profit to Sushi :sushi: holders and sustainable for Sushi ecosystem.
Learning from others:
Curve: going to distribute 3pool token to veCRV holders
YFI: distributed yUSD to YFI holders (I don’t know the situation now)
Serum: farming rewards directly inject to the pool
We can see these rewards is

  1. supporting their ecosystems
  2. yield or interest bearing tokens/LP tokens, generating passive income continuously, we don’t need to bother harvesting.
    So, I propose sushi :sushi:/eth or sushi :sushi:/dai or usdc (if have) LP tokens instead of pure Dai. To minimize facing the volatility of ETH price, I prefer sushi :sushi:/stablecoin LP tokens. The LP token pair is open to discussion.
    Personally, i very like auto harvest function. But if LP tokens is distributed, no need to bother about harvesting anymore.
    Just brainstorming. What do you guys think?
1 Like

while considering capital efficiency, how about no lock up , but still time based rewards?
Multiplier is linear. Maximum is 2x for 24 months. The longer you stake, the larger the multiplier. Like Curve, but no lock up. Also, the multiplier increases every block/seconds.