Overview
- Spam NFTs have become a significant issue as NFT use and adoption has risen
- This leads to poor UX, especially in wallet and dapp use cases, with end users often being confused or annoyed as to why unfamiliar, low quality NFTs appear
- An even greater concern is when these NFTs, which are usually airdropped en-masse, contain malicious links to dangerous external sites or resources
- Spam NFTs have been proliferating quicker on popular networks with lower transaction fees or costs, most notably Polygon and Solana
Spam scores are currently available to customers on Enterprise plans, on the main EVM chains, Solana and Bitcoin Ordinals.
Goals
The SimpleHash spam scoring implementation has two main goals:
- Make it easier to identify low-quality NFTs from undesirable airdrops (”spam NFTs”)
- Make it easier to identify NFTs that have dangerous or malicious external links (”scam NFTs”)
There is a blurred boundary between these two types of NFTs, and those targeted in the current implementation may fit into both categories.
SimpleHash Spam Scoring - Overview of Approach
- In an effort to provide end users with more tools to combat spam NFTs, the SimpleHash NFT provides a spam score for almost all NFT collections
- This model is generated through a combination of analytics and heuristics, plus an LLM that we continually finetune for this purpose - read more about our approach here: https://simplehash.com/blog/how-simplehash-fights-nft-spam-using-ai-and-crowdsourcing
- The model also utilizes OCR to assess the media of the image
- External links and description fields are also checked for malicious URLs and drainers
- The score is a numeric value from 0 to 100, with 0 being deemed not spam, and 100 being deemed likely spam
- The field
spam_score
is provided inline with NFT response bodies on the API, within thecollection
field (example pictured):
- Currently, the spam scores are generated at the NFT collection level, meaning all NFTs on a given collection with have the same score
- If the response is
null
, the collection does not have sufficient information to be scored, or has not yet been assessed