Combating obvious sybil

After watching the first JUP distribution & seeing so many entities successfully sybil the 200 JUP reward on hundreds or even thousands of wallets I wanted to look to see what methods will be used by similar actors for Jupuary#2.

It’s clear from the writings of weremeow that DAO contributors, ergo voters will play a significant role in the 2nd distribution of Jupuary. It has already been stated that discussion of criteria for the 2nd airdrop will happen after the snapshot. I’m very excited for these discussions, but in the mean time its been fun to analyse JUP staking data to see what is happening and when!

For context, I recently submitted a sybil report for Layerzero and it was successful, data analysis is something that I have only recently started & have enjoyed it so much that in my spare time I want to try and contribute to JUP to combat the massive industrial sybil operations.

On to JUP stakers & the shenanigans that have been going on over the past few weeks. A couple of weeks ago I wanted to work out what the median JUP stake was, finding a comprehensive dashboard on JUP staking analytics proved to be difficult. But nevertheless I found some flipside dashboards that I could fork to create data sets that helped analyse JUP staking distributions.

On the 27/6/2024 Flipside spat out this distribution data, it has grouped stakes into different sets. The sets show the amount of stakes that are less than 0.1, 1, 10, 100, 1k, 10k, 100k, 1m & above 1m. The distribution is interesting and I’ll be focusing on the 0.1 or less stakes. I’ve highlighted in green that amount of stakers which as of 27/6 stood at 29157.


Fast forward to today, 9/7/2024, I decided to run these numbers again out of idle curiosity. Something very obvious has occurred.


Most stakes reduced, and this makes sense due to context. ASR were distributed at the weekend and logical analysis suggests that maybe some people were unhappy with their rewards or just wanted to unstake and realise some profits from their staking balances. I have highlighted in green the 0.1 grouping which stand now at 36302.

Within the span of 12 days the amount of wallets staking less than 0.1 jumped from 29157 to 36302 that’s a 7145 increase. It goes without question these wallets are an attempt to sybil the upcoming JUPUARY#2.

Combating this obvious sybil can be done with numerous ways, I think the most simple way is just to exclude all wallets staking 1 JUP or less from JUPUARY#2. I think everyone on this forum should be aware early on which ways sybils are attempting to game the best protocol and DAO in crypto currently.


So The_Lacrymator commented and suggested that removing stake could potentially leave dust in wallets. I don’t think this is the case, if you remove your entire stake your balance recudes to 0. This has been confirmed by devs in JUP discord.

Furthermore, I inputted the flipside data into a spreadsheet to the net increases/decreases of the 12 day period & it looks as if the categories outside of <0.1 have a net decrease of -123 stakers.

We can see that the staking addresses increase from 505,762 to 513,483 and the biggest category increase is from the <0.1 stake, interestingly the <10 stake decreases the most as I am sure most users were unhappy with their ASR rewards.
I think this further analysis does show that its probably sybil addresses hoping for a 200 JUP airdrop for 1 proposal vote similar to the 1 tx from 200 JUP on the previous airdrop.


Thank you for writting this post! it was very insightful.

I wanted to shed my opinion and 2 cents on Jupuary 2025.

  1. I think loyalty should be rewarded over farmers. i.e. people and bots have obv been going ham on dex volume and wash trading. I feel voters, stakers and those who NEVER SOLD THEIR ORIGINAL JUPUARY AIRDROP should be classed in Tiers 1-3. ect.

To incentivise those who get each years Jupuary to COMPOUND it into the next. Where loyalty is constantly rewarded. i.e. Lets says you were Tier 4 Airdrop for Jupuary 2024, you never sold, Jupuary 2025, for your loyalty you graduate to Tier 3. and so on and on each year.

This keeps $JUP in the hands of those who have PROVEN themselves to be diamond hands.

  1. Reward JUP engagement, Such as Jup research, discord, contributing to the community, attending planetary calls.

Because these are the people with a proven track record to CARE about the ecosystem. They are willing to learn, and pay the favour forward by assisting new members to the community.


I agree, I think taking a similar approach to Sanctum & their earnestness criteria seems like an obvious approach for the JUP team to take.


Great analysis, its interesting to see how the numbers change. Also as I have never unstaked I’m not sure what the answer is and I’m just asking a simple question. When you unstake, is dust left behind or does your full stake unstake?

If I assume the users with less than 1 JUP is just dust, then these should be excluded and possibly even increase that number as I would suspect that users with less than a certain amount of stakes JUP would predominately just be getting very little JUP in any of the rewards/drops.


Admittedly that never crossed my mind but could be a reason, ill do another analysis with an even smaller group!


This is a very good analysis! What was said above is true, correlation does not equal causation. While it very well could be, and most probably is sybil, you also need to be able to rule out the other possibilities. Data is just data, it’s our conclusions from that data that are important to take care of.



Data shows that most of the additional stakes fall into <0.01 stakes so they very well could be dust amounts left over by larger staking balances having tiny amounts left.
A way to make sure these wallets don’t get labelled incorrectly is to have a minimum cumulative vote count. When snapshot occurs if there has been 25 proposals, only wallets that have 25 cumulative votes can qualify meaning that wallets with stakes below 1JUP, potential sybil wallets, do not qualify. Appreciate the comments, makes me think a lot more about my conclusions.


Cool post and nice to see this data. Anyone can afford more than 1JUP so it’s pretty safe to disqualify under 1JUP accounts or if you wanna play safe, accounts with less than 1 JUP + has never voted or claimed anything, should be considered as sybils. Generally speaking, there should be a set of conditions which either eliminate accounts completely or give more weight for some other accounts which has showed loyalty and real human behavior.

You can also spam and sybil activity metrics (something like how many posts / how many engagements / how many social interactions), so therefore it’s the best if the larger weight goes for those who meet more conditions.


What other possibilities do you think it could be?

1 Like

I think the dust idea holds weight, i honestly haven’t thought much about what else it could be, and my background isn’t tech/software so im not sure credence should be given to something I would come up with.

However, after thinking about my response above, even if these accounts are true accounts, and they are just dust, I dont think they should be able to participate in ASR or get rewards. What miuq said above is a good idea.


Looks like we’re going to have a 50min JUP stake on the next round of ASR, I’m on board with that proposal.
I don’t think wallets which remove their entire stake will have dust in their wallets, will try & find out from a dev.