[ARCHIVED] [LIP-8] Lightning v2 voting mechanism draft proposal


Address the following concerns surrounding Lightning v1 seasonal voting mechanism:

  • Voters apathy preventing quorum to be met due to the high frequency of votes
  • Pump-and-dump scenario for tokens due to them being voted in or out out incentives pool
  • Intense competition between tokens that causes instability in TVL and hence trading volume for those tokens

By using a new mechanism for introducing ZWAP incentives to registered tokens listed on ZilSwap. This new mechanism will require a token to have a minimum liquidity of at least 500,000 ZIL, and will follow a simple formula (EMA trading volume/EMA liquidity) to determine how many Allocation Points (APs) it is qualified for.


We have had 4 seasons of Lightning since it was first introduced, and it has proven be effective in driving TVL and hence trading volume to the ZilSwap platform. However, we have seen from past experiences that voter apathy is reaching its peak due to both the bear market and the high frequency of votes. We also seen the issue of tokens pumping the day after they are voted into the programme, and dumping if they are voted out. Hence, we wish to address these two concerns by using a better mechanism that smooths the introduction of ZWAP incentives to a token pair on ZilSwap.

In short, we will be using a new formula to determine whether or not a token qualifies for ZWAP incentives instead of voting for the token in every Lightning season. In addition, we will still require a token pair to have a fixed amount of minimum liquidity on ZilSwap, and be registered on ZilStream for transparency purposes.

This way we can smooth the introduction of ZWAP incentive for a pair that is already actively traded, so there is less of a pump-and-dump effective with the introduction of the ZWAP incentives. We can also prevent the wastage of ZWAP token rewards from the weekly inflation pool (6,250 ZWAP) on pairs that are not actively traded, thus driving more effective TVL on ZilSwap.


There will be 2 criteria for any tokens to qualify for ZWAP incentive:

  • Registered on ZilStream for transparency purposes using this link
  • Satisfy the follow liquidity and volume/liquidity ratio to get the following amount of Allocation Points (APs):
    • For Tier 1 (Total Liquidity > 50m ZIL):
       EMA_volume / EMA_liquidity < 0.03 = 1 AP
       0.03 < EMA_volume / EMA_liquidity < 0.06 = 3 APs
       0.06 < EMA_volume / EMA_liquidity < 0.12 = 4 APs
       EMA_volume / EMA_liquidity > 0.12 = 5 APs
    • Tier 2 (5m ZIL < Total Liquidity < 50m ZIL):
       EMA_volume / EMA_liquidity < 0.06 = 1 AP
       0.06 < EMA_volume / EMA_liquidity < 0.12 = 2 APs
       EMA_volume / EMA_liquidity > 0.12 = 3 APs
    • Tier 3 (500k ZIL < Total Liquidity < 5m ZIL):
       EMA_volume / EMA liquidity > 0.03 = 1 AP

NOTICE: Please note that ZWAP/ZIL pair will remain a special pair that is always qualified for the ZWAP incentives, and it will always have 40 APs allocated to it.

  • For
  • Against

0 voters

1 Like

I think Volume (EMA30) should be considered first before considering a token to be included. Certain projects have next to nothing monthly volume. 20k Zil monthly volume and a candidate for the lighting round?
A coin with a total of 70 coins probably added by one person and he paired it with a very high amount of Zils and no one buy it or sell it why we need to be rewarded on the swap?
The only project with 1 million Zil monthly trading volume should qualify to lighting rewards.

1 Like

looks good proposal But 0.2 minimum needs to be fixed i guess @Snowsledge
currently there is 1 only MAMBO token with 0.2 score …

    • 0.2 < EMA_volume / EMA liquidity <= 0.4 = 1 AP
    • 0.4 < EMA_volume / EMA liquidity <= 0.7 = 3 APs
    • EMA_volume / EMA liquidity > 0.7 = 5 APs

maybe we need to change it to 0.02 minimum or use just ZIL amount in that pool for liquidity amount.

how often do tokens get requalified into the different tiers? daily? weekly? monthly?

also - is there a limit of how many tokens qualify? how does that work if you run out of APs (since 40 go to zwap).

What determines which tokens get it if there is too many tokens?

I think the new mechanism will push XSGD out of the tiers due to the vol/liquidity. Not suitable for stablecoin pairings. XSGD pool provides one of the most volume but its liquidity is huge thus 0.16 after the formula would result in 0 AP

1 Like

this should be easy now:

  1. How many tokens qualify?
    => 60 points for other token + 40 for ZWAP.
    Then we can take top scoring tokens as first priority:
    if there are 12 tokens with more than 0.7 score, 60 AP gets filled.
    if there are less than 12 tokens with 0.7 score, remaining AP goes down.

  2. How often?
    => We might use every Wednesday to check qualification -easy.

next question - assuming this goes to an official vote and passes - i assume it takes effect AFTER the current vote? ie in 4 weeks time?

yes - only MAMBO qualifies based on 0.2 requirement. this will be fixed by @Snowsledge with proper data i guess. But once fixed, this is very good proposal

A token with 500,000 EMA Liquidity, with EMA volume of 350,001, would then receive 265.625 ZWAP worth 520,000 ZIL every week. EMA liquidity should determine AP tiers. Volume/liquidity ratio could be used to determine percentage of reward received.
0.2<vol/liq <=0.4 = 20% reward
0.4<vol/liq <=0.7 = 60% reward
vol/liq . 0.7 = 100% reward

1 Like

awesome … proposal will be great if we can set a criteria and then if any token meets the criteria, gets the reward small or big depending on score ratio.

A token will need at least 500,000 ZIL worth of liquidity to qualify.

Yeah will need to tweak the numbers here. Maybe:

  • 0.05 < EMA_volume / EMA liquidity <= 0.08 = 1 AP
  • 0.08 < EMA_volume / EMA liquidity <= 0.15 = 3 APs
  • EMA_volume / EMA liquidity > 0.15 = 5 APs

No. There is no cap of 100 points. ZWAP will get 40 points, and tokens that qualifies get points according to the tier they are allocated too. The proportion of ZWAP weekly rewards that any token received will be token_point / total_points.

The review cycles is every 30 days. Thus, we refresh the rewards allocation every 30 days.

1 Like

This is the current table for qualified tokens (registered on ZilStream + have 500k ZIL worth of liquidity on ZilSwap).

Token Volume (EMA30) (in ZIL) Liquidity (EMA30) (in ZIL) Ratio
ZWAP 7,012,430 436,326,061 0.016
gZIL 3,947,629 129,882,112 0.030
XSGD 12,240,568 75,145,202 0.163
PORT 1,487,038 37,641,549 0.040
SCO 2,753,172 27,685,820 0.099
CARB 741,272 24,326,928 0.030
XCAD 1,453,672 23,191,787 0.063
ZLP 317,426 18,155,337 0.017
ZCH 557,342 13,418,126 0.042
Elons 403,719 7,840,183 0.051
ZYRO 135,940 4,477,038 0.030
STREAM 713,345 4,439,635 0.161
SRV 66,034 4,378,368 0.015
REDC 94,129 4,316,499 0.022
ZLF 152,234 3,829,230 0.040
GARY 127,466 3,139,874 0.041
DUCK 25,598 1,020,606 0.025
MESSI 131,097 808,805 0.162
MAMBO 131,361 586,651 0.224

Would you think this requires more tweaking as this would result in tokens like gZil to be unable to qualify?
Based on the calculation of only those coins that qualifies

I don’t like that this LIP will take out the biggest zwap utility atm. So far only utility to hold zwap is get voting power to those votings. That zwap holders doesnt vote is not right. I think last vote quorum met both 2 and 3 tier. Im not sure did tier 1 got 19.5% quorum or more. If team is worry about quorum they can exclude devs wallet for it. So it would be lot easier to reach that quorum.

1 Like

yes — we need more tweaking @Snowsledge .

one disadvantage - manipulation is:

  1. Disadvantage:
    high liquidity pool like gZIL needs huge volume to qualify.

  2. Manipulation:
    core people of token can just sell and buy large amount in consecutive trades just to increase volume.

Adding liquidity does not affect the volume so relationship of those two value is not simple here. We need third factor that depend on either volume or liquidity.

Agree with these points. Liquidity is a prerequisite for volume though, else no one will trade due to high slippage.

I think we can tweak this in a way that we take into account of liquidity as a factor for considering which tier a token should qualify for?

Tier 1 (Total Liquidity > 50m ZIL):

  • 0.03 < EMA_volume / EMA liquidity < 0.06 = 3 AP
  • 0.06 < EMA_volume / EMA liquidity < 0.12 = 4 APs
  • EMA_volume / EMA liquidity > 0.12 = 5 APs

Tier 2 (5m ZIL < Total Liquidity < 50m ZIL):

  • 0.03 < EMA_volume / EMA liquidity < 0.06 = 1 AP
  • 0.06 < EMA_volume / EMA liquidity < 0.12 = 2 APs
  • EMA_volume / EMA liquidity > 0.12 = 3 APs

Tier 3 (500k ZIL < Total Liquidity < 5m ZIL):

  • EMA_volume / EMA liquidity > 0.03 = 1 AP
1 Like

it is better. But still if we can formulate this into single equation instead of tier 1-3, we will be much more stable.

Problem here is:
a token with 500k liquidity with 20k volume qualifies
but a token with 5 m liquidity with 100k volume disqualifies.

this is not optimal as 100k volume by that project is better quality for zilswap than 20k volume.
it might feel like punishment for token to have more liquidity and removing liquidity might favors lower volume of such token. Need to balance this.

We need 1 curve equation to fit them.

1 Like

I’d suggest we give priority to EMA_vol foremost eg. top 1-5 = 3 AP; 6-10 = 2 AP; 11-30 = 1AP; after that then evaluate and allocate additional bonus based on desired EMA_vol/EMA liquidity as proposed