Neynar user score
Check for quality users using Neynar's user score
What is the Neynar user score?
Neynar user score is generated based on user behavior on the platform. It's scored between 0 and 1 and reflects the confidence in the user being a high-quality user. Users can improve their scores by having high-quality interactions with other good users. Scores update weekly.
If you want to see your score as a user, you can use the By username API, put in your username and turn the x-neynar-experimental
flag to true.
Scores are also available onchain, see Address <> user score contract
Interpreting the score
You can see a distribution of users across score ranges on this dashboard . A screenshot from Dec 5, 2024 is below
We recommend starting with a threshold around 0.5 and then changing up or down as needed. As of Dec 5, 2024, there are:
- ~2.5k accounts with 0.9+ scores
- ~27.5k accounts with 0.7+ scores
_Hence, starting with a very high threshold will restrict the product to a very small user cohort. _Developers should assess their own thresholds for their applications (Neynar does not determine thresholds in other apps).Scores update at least once a week so it might take a few days for new users to show an updated score. If user has not been active in a while, their scores will reduce.
Getting the score on webhook events
If you're using Neynar webhooks to get data on your backend, you might want to separate high quality data from low quality data. A simple way to do this is to look at the neynar_user_score
inside each user object.
user: {
fid: 263530,
object: "user",
pfp_url: "https://imagedelivery.net/BXluQx4ige9GuW0Ia56BHw/68c1cd39-bcd2-4f5e-e520-717cda264d00/original",
profile: {
bio: {
text: "Web3 builder"
}
},
username: "m00n620",
power_badge: false,
display_name: "tonywen.base.eth",
experimental: {
neynar_user_score: 0.9 // THIS IS THE SCORE
},
verifications: [
"0xc34da1886584aa1807966c0e018709fafffed143"
],
follower_count: 29,
custody_address: "0x22c1898bddb8e829a73ca6b53e2f61e7f02a6e6d",
following_count: 101,
verified_accounts: null,
verified_addresses: {
eth_addresses: [
"0xc34da1886584aa1807966c0e018709fafffed143"
],
sol_addresses: []
}
}
Fetching the score on API calls
If you're using APIs, you can get the same score as part of the user objects by passing in x-neynar-experimental
boolean in the header. See screenshot below of User by FIDs for example.
Turning on this boolean flag will return the same score in the API or SDK response.
The same can be done when fetching users By Eth or Sol addresses. If looking to restrict activity on your contract to a specific cohort of users, you can run their address against this API to fetch their score and then allow them to take actions as appropriate.
Report errors
If you know a score is misrepresenting a user, that's helpful information we can use to label our data. Please send feedback to @rish
on Warpcast DC or Telegram DM .
Updated 13 days ago