REQUEST FOR FEEDBACK: Honeyswap Trading Rewards Pilot Program

tldr; We should run an experiment to determine whether we can effectively incentivize traders to favor using Honeyswap over other dexes for their swaps by offering token rewards that can be staked for COMB

Problem Statement: The Honeycomb xCOMB farming rewards program more than doubled liquidity in Honeyswap xDai pools (Total Value Locked went from ~$7MM to ~$17MM in a week). However, trading volume has not significantly changed. Unless we can find a way to drive more trading volume, the new liquidity that came to Honeyswap xDai will eventually migrate to other dexes where they stand to make more profits from trading fees or new liquidity farms.

Proposed Solution: In the same way that COMB is used to incentivize LPs to add liquidity to specific pools on Honeyswap, what if we incentivized traders to come make their swaps on Honeyswap rather than other dexes?

Here’s a basic outline of how it would work:

  • Traders swapping whitelisted pairs would earn Royal Jelly (JELLY) tokens proportional to the swap’s $ value
  • Once a week, a user can claim (harvest) the JELLY tokens they earned from the prior week’s trading. This would have the secondary benefit of creating a sticky behavior, driving them to return to the Honeycomb wallet.
  • JELLY tokens could then be staked directly on the Honeycomb wallet.
  • Staked JELLY tokens would earn COMB rewards that can be harvested, similar to how staked Honeyswap LP NFTs earn COMB rewards.

More details:

  • COMB rewards allocated to the JELLY trading rewards program would take the place of 1 or more LP COMB farm pairs.

  • Therefore, total COMB rewards available for JELLY would remain static and users would receive COMB in proportion to how much JELLY they have staked compared to the total amount of JELLY staked.

  • JELLY rewards pilot program would be scheduled to run for a 12-week “season.” Over the course of the first season, rewards would inflate in order to give late-coming traders an equal opportunity to claim COMB emissions from their staked JELLY and incentivize early traders to keep trading on Honeyswap. (Thanks to @luigy for pointing this out and providing a solution)

CRITERIA FOR SUCCESS:

I propose that we pilot the JELLY trading rewards program as part of the pCOMB Honeycomb farms launch on Polygon with a pCOMB allocation weight of 3

  • Honeycomb xDai will serve as our control group in this experiment.
  • We will know that the experiment has been successful if trading volume on Honeyswap Polygon increases to a higher proportion of TVL than the volume / TVL ratio on Honeyswap xDai post launch

What do you think? How could this program be improved? Are there any risks or concerns that we should account for?

10 Likes

Addendum

I removed this material from the original post because it wasn’t critical to the content. I’m posting it here as additional context for anyone that’s interested.

Comparables:

  • Earlier in 2021, Balancer implemented a BAL for Gas program. Traders are rewarded for using Balancer over other dexes because Balancer will give traders BAL whenever they swap whitelisted pairs, claimable weekly. The BAL rewarded slightly lower than the gas cost of the transaction. In essence, Balancer is using their governance token to incentivize traders - in this particular case, as a gas subsidy.

Discussion:

  • A decentralized exchange (dex), like Honeyswap, earns revenue from swap fees each time a user trades tokens on the platform. Therefore, in order to generate more revenue, a dex wants to drive trading volume.

  • When making a decision on which platform to use to trade, traders will be looking for the most efficient swap. Efficiency comes from finding relevant trading pairs (so they don’t have to waste money moving through multiple swaps), low swap fees (like Curve), and low slippage (which comes from a “deep” pool, i.e. lots of capital). To be able to offer desirable pairs and low slippage, a dex can try to incentivize liquidity providers (LPs) to put their capital into specific pairs.

  • Liquidity mining rewards (LMR) programs, such as Honeycomb farms and Sushiswap yields, are a proven method that can be used to incentivize LPs to allocate their capital in the rewarded pairs for as long as the rewards remain valuable.

  • However, LPs generally allocate their capital into the most profitable trading pairs on the most profitable dexes. Profitability can come from liquidity mining rewards, but LMR programs are necessarily temporary. Therefore, in order for LPs to continue providing liquidity to a pool, there must be trading volume.

  • The interplay between deep pools and trading volume creates a virtuous cycle. LPs create low slippage pools which are attractive for traders to swap in, and more traders swapping in a pool attracts more LPs to add liquidity because they want to receive swap fees. This creates a powerful flywheel effect for dominant dexes.

6 Likes

All looks good to me, only question is why doing this on polygon/pcomb rather than xdai/xcomb - is that because honeyswap on polygon is currently low volume/TVL, but there is a lot more potential TVL to be captured from other dexes on polygon, than there is on xdai?

You got it. As best as I’ve been able to discover, Honeyswap is the dominant dex on xDai by a pretty big margin. That suggests to me that it’s unlikely that we could improve marginal trading volume by incentivizing traders to come to Honeyswap over anyone else because, well, we already have the best swaps on xDai.

By contrast, there’s a ton of trading volume and TVL up for grabs on Polygon, but we’re competing against players like Quick and Sushi that have > $1B TVL each. We want to attract traders from those exchanges to come do their business on Honeyswap instead.

3 Likes

Let’s get this jelly wobbling

Sounds promising. I am interested in flushing out more of the details though. Was Balancer’s BAL for gas program a success?

I like this idea a lot.

I’m not worried about more pairs eating up a slice of the COMB distribution pie. I believe this makes sense to add.

With this JELLY “staking”, are you imagining a brand new system that will take a percent of the COMB supply, or under-the-hood swapping half the JELLY for COMB and staking it as a LP into the JELLY-COMB farm?

It would be interesting to make the staking contract have a pool of COMB. As users stake JELLY, it pairs it with the equivalent value of COMB, locks it as a NFT for the maximum duration, and gives you ownership of the farming NFT. You could harvest along the way, and at the end of the time lock, you get to keep the JELLY and COMB.

How would we prevent fake volume? If there’s rewards for doing trades what prevents bots from just spamming the DEX with fake back and forth trades to get rewards?

Bots would still be paying 0.15%-0.3% per swap, so I’m not sure that if that would be a problem since the LPs and dex are both collecting fees from it.

The bot-owner would just be handing away money to buy an inflationary token. Since this would be limited to whitelisted pairs, the bot-owner would have to provide a ton of liquidity in order to effectively use bots for self-dealing, which also isn’t an outcome that seems particularly bad for the dex.

So we’d have to ensure that the rewards given per trade are less than fees paid.

In short, yes.

BAL for Gas launched in early 2021 and the program was extended based on results from the initial pilot period. You can find their discussion on extending the program here: [Proposal] Extend the Exchange Gas Reimbursement Program 4 Weeks - Proposals - Balancer

@ceresbzns this sounds like a really cool experiment. I like the thought process behind it and also the additional information you provided for context in the reply post. So i understand why you are proposing we do this ‘experiment’ in polygon. I have been in polygon for a couple of months and can see a big difference in branding and marketing between polygon and xDAI and reasons why they are on a rocket with all sorts of metrics. Now for some questions that I would like to ask:

  1. So has there been a brief analysis on polygons (say top 3 DEX’s) and have we found the pairs with the most volume?
  2. What will make Honeyswap a better place for traders to trade instead of the top DEX’s on polygon? Better price? Lower fee? I am not sure offering a token which has been in free fall as a reward is going to bring trade volume away from the other DEXs.(I assume anyone with significant volume for trading would do minimum due diligence on xCOMB on xDAI and do a reasonable risk analysis prior to aping into our pools)
  3. What if we offer (i am a newbie to crypto economics so please bear with me if this is a silly idea) a much lower fee? i.e why not offer may be 0.1% or even 0.05% trading fee for some of the biggest volume LP pairs and on top also give them the biggest rewards in pCOMB? I mean we have done one experiment in xDAI and I assume we can learn from the launch and what has ensued over the last few days?
  4. I mean this is what will bring the volume - offer it as an “introductory fee” and be upfront about when the fee is supposed to be reverted back.
  5. I guess then the fine line will be to ensure LPs rewards vs Trade fee discounts and trialling some tuning in the first 12 week season? I guess what do we have to loose, from where Honeyswap stands on Polygon?

I have been saying this for a long time:

I do see that Honeyswap fees on Polygon are different but never heard if there was a change to fee structures.

Regarding ‘JELLY’. I don’t see how this can be incentivized using COMB without basically destroying the idea of the COMB rewards structure. I agree that we should have been incentivizing volume out of the gate vs. LP because volume = fees = higher LP APY return.

Doing this in a clear fee positive way will require analytics (which I have been harping on for a while now) to basically analyze wallet by wallet fees and then reward based on fee tiers. One can do this on a transaction basis but that would require updating Honeyswap to do that. Easier to just do weekly or monthly wallet fee analytics (BTW fee analytics on Uniswap and Honeyswap are broken to some extent - they are not accurate if you move LP around - which I guarantee you people will do to boost these numbers if they are used).

As to the weight of 3. If what we are going after is trading volume this weight should be more like 25-50% (or 30-50) not 3. I also think if we are going to finally incentivize volume we should do it on a previous trading Honeyswap history basis both on Polygon and on xDAI as a JELLY airdrop.

One thing I will say is that additional tokens have driven additional value so while I don’t want to keep pushing these I think using another token to represent this is useful and should add to trading as well as volume.

BTW: Given the fee rewards will be low I don’t see this driving a huge amount of volume to Honeyswap unless slippage is lower than competitors so JELLY combined with xCOMB is probably a good fit.

Lastly I am glad someone else stepped up with the point that we need to focus on incentives for what generates fees (namely trading volume). One point and suggestion here to make this more effective.

I would also like to see a modifier component to the weekly JELLY that is based on how much xCOMB a person earned.

Example: Say I have generated $100 in fees for the protocol over the week. If I earned $100 in xCOMB over the week I get whatever the full JELLY reward is (multiplier of 1) if I earned $0 xCOMB (or have 0 LP staked in farming) I earn say $25 or $50 (JELLY reward multiplier is .25-.5). This way we get a 2-4x JELLY bonus based on xCOMB earned. This way we incentivize both LP and trading volume. In fact if there was any change to how pCOMB is airdropped and earned I would like to see a trading fee volume modifier done in a updated set of v3 farming contracts (basically focus COMB LP staking return multipliers on Honeyswap volumes)

So if there was one major change to this proposal I would add a JELLY multiplier component based on STAKING xCOMB returns for the week.

3 Likes

Honeyswap on polygon has half cost trades for eth pairs. So those trades are 0.15%.
Once we reach critical liquidity on those pairs the slippage + fees should be less than other dexs on polygon, which should in theory increase the volume there. If this works we can implement something similar to xdai.

I would even maybe go as far as to say lower fees should be sufficient to attract volume, without the need for a new incentive token. But this has not been shown empirically yet, so we’ll have to see.

Since there isn’t much liquidity on Polygon, does it make sense to provide an incentive to trade? For Polygon, the focus should be adding liquidity. xDai has the liquidity but not the trades, so we should be adding incentives to trade on xDai.

I wonder if the lack of trading on xDai is due to low gas fees on ETH? What could we do to get more traders to move to xDai? Even with the lower ETH gas fees, it is still cheaper to trade on xDai.

Yes

  1. Lower fees on wETH pairs
  2. Swapr interface to allow swaps across many dexes on Polygon
  3. JELLY rewards

JELLY rewards are essentially a fee subsidy - so they do what you’ve proposed, in reverse. I would argue that, psychologically, people are incentivized more by getting a reward than a discount.

Also, a race to the bottom where we compete against other dexes entirely on lower fees is a losing strategy in the long run.

Exactly

1 Like

I like your idea of using pCOMB/wETH LPs to multiply JELLY rewards. Adding this to the user stories for us to discuss at sprint planning.

1 Like

I was thinking a bit about this in terms of implementation.

I don’t know how you would want to set up Jelly practically. Ideally one would just give Jelly rewards as a normalized fraction of user fees generated over a period to all fees under consideration for rewards. What I suggested above is to add a weighting function based on whether the user has LP using the amount of COMB they have earned from staking.

Spent about 30min doing the math and writing this up below as a possible implementation.

So basically we will have some amount of pCOMB (COMB_For_Jelly_Rewards) available for Jelly rewards over one or more pairs during the period

Calculate Fee(User,Period) for each user and then the associated

Fee_Fraction(User,Period)=Fee(User,Period)/[sum_Users Fee(User,Period)] as a percentage of all fees for all users over the pairs eligible for the period.

Now calculate COMB(User,Period) from providing LP and the associated

COMB_Fraction(User,Period)=COMB(User,Period)/[sum_Users COMB(User,Period)]

Now for each user calculate
Weight(User,Period) = F(Fee_Fraction(User,Period),COMB_Fraction(User,Period))

as follows for all Users.

Set Weight_Max = 1
Set Weight_Min = .5

Weight(User,Period) = COMB_Fraction(User,Period)/Fee_Fraction(User,Period)
If Weight(User,Period) > Weight_Max then Weight(User, Period) = Weight_Max
If Weight(User,Period) < Weight_Min then Weight(User, Period) = Weight_Min

Now define
Jelly_Fraction(User,Period) = Fee_Fraction(User,Period)*Weight(User,Period)

Renormalize Jelly_Fraction for all users:

Jelly_Fraction_Renormalized(User,Period) = Jelly_Fraction(User,Period)/[Sum_Users Jelly_Fraction(User,Period)]

Jelly(User,Period) = Jelly_Total*Jelly_Fraction_Renormalized(User,Period)

Where Jelly_Total = COMB_For_Jelly_Rewards.

The above calculation assumes that all fees for rewards are considered equally when calculating Jelly(User,Period).

Also notice that Weight_Min > 0 makes it so that users with no LP still get some Jelly but with the above Min setting of .5 situation it would be 1/2 of what they would have gotten if they had more LP. One could set Weight_Min to 0 and make it so that Jelly would only go to users that trade but also need to have some LP.

I happen to use Weight_Max as 1 and treat the function calculation as a linear function since this seems fairest. The actual functional form for the weight calculation is arbitrary because the renormalization function pulls the weights back together. One could do sqrt, ^2 whatever.

4 Likes

2 Likes

This is nice and clean, it would be handy to have the use case for Jelly in the flow - it would appear to be missing a last step, what does the trader do with the jelly. Can they sell it? Or only re-stake it?