Filter Spam NFTs

This page describes how to filter out possible spam NFT collections.

Intro

Minting spam NFTs, which are fake or fraudulent non-fungible tokens, has become a significant issue for NFT platforms and users. These spam NFTs can deceive buyers into purchasing worthless or non-existent digital assets, leading to financial losses and damaging the reputation of the NFT ecosystem.

Bad actors may mint spam NFTs in several ways. One common method is to create NFTs that mimic popular or valuable collections, such as digital art or collectibles, and then list them on NFT marketplaces at attractive prices. Unsuspecting buyers may purchase these spam NFTs believing they are acquiring genuine assets, only to realize later that they have been scammed.

Another method is to create large numbers of low-quality or meaningless NFTs and flood the market with them. This can overwhelm NFT platforms and users, making distinguishing between legitimate and spam NFTs difficult.

To combat spam NFTs, we have added a new boolean query parameter to several endpoints, so when you retrieve NFTs in your wallet, the response body will include the contract.possibleSpam parameter indicating that the NFT collection is possibly spam or not.

Which endpoints return spam-marked NFTs?

How to filter spam NFTs

Call one of the above endpoints using the query parameter includePossibleSpam:

  • If the includePossibleSpam is set to false: Only the non-spam NFTs will be returned.
  • If the includePossibleSpam is set to true: All results are returned (spam and non-spam NFTs).

Request Endpoint: reference

GET /api/wallets/{secretType}/{walletAddress}/nonfungibles

Example Request:

The following endpoint retrieves NFTs by chain and wallet address:

GET /api/wallets/MATIC/0x7312750DF4d2057b758a61C7017729c6Ec9bB3E9/nonfungibles?includePossibleSpam=true
ParameterParam TypeDescriptionData TypeValueMandatory
includePossibleSpamQueryIndication to include possible spam NFTs in the response body or not.BooleantrueโŒ

Response Body

๐Ÿ“˜

Look for the result.contract.possibleSpam parameter:

  • possibleSpam: true: This means the NFT collection is possibly spam.
  • possibleSpam: flase: This means the NFT collection is not spam.
{
    "success": true,
    "result": [
        {
            "id": "0",
            "name": "$1000 USDC",
            "description": "Owning this badge indicates that the user has received $1000 USDC Airdrop.",
            "imageUrl": "https://cdn.simplehash.com/assets/594f84cd22e8882adac0eee49f44fa0916f67f9c25a408b80220ced34f39ea9d.jpg",
            "imagePreviewUrl": "https://lh3.googleusercontent.com/5ooylv-qDiIq03F6tbNY71Gr8dW5uKT4b6TEq6bq8XVlvltEWtbAva_jVuQ3PXR-2GitF4bWAUlyb0ydWBX5Bl71pOBr5x7qlg",
            "imageThumbnailUrl": "https://lh3.googleusercontent.com/5ooylv-qDiIq03F6tbNY71Gr8dW5uKT4b6TEq6bq8XVlvltEWtbAva_jVuQ3PXR-2GitF4bWAUlyb0ydWBX5Bl71pOBr5x7qlg=s250",
            "animationUrls": [],
            "fungible": true,
            "contract": {
                "name": "$1000 USDC",
                "address": "0x43d5ebed23900fd83c5d5327ba1e86afbe1d84a9",
                "symbol": "$1000 USDC",
                "media": [
                    {
                        "type": "image",
                        "value": "https://lh3.googleusercontent.com/tagPtZl7s_SdQ0hAR0PtSTGlUEJnGjV3TV2VCdYZEFPevsSTrDCtuDjIxDwHDBGZDr0kmhv2egD_8nouWGBRy3iuG7zMLmRSX_U"
                    }
                ],
                "type": "ERC_1155",
                "verified": false,
                "premium": false,
                "possibleSpam": true,
                "categories": [],
                "imageUrl": "https://lh3.googleusercontent.com/tagPtZl7s_SdQ0hAR0PtSTGlUEJnGjV3TV2VCdYZEFPevsSTrDCtuDjIxDwHDBGZDr0kmhv2egD_8nouWGBRy3iuG7zMLmRSX_U"
            },
            "attributes": [],
            "balance": 1,
            "finalBalance": 1,
            "transferFees": false
        },
        {
            "id": "1",
            "name": "$1000 USDC Voucher๐ŸŽ",
            "description": "You have been selected for the USDC NFT Airdrop! Redeem your voucher for 1000 USDC at https://1000usdc.org",
            "url": "https://1000usdc.org",
            "imageUrl": "https://cdn.simplehash.com/assets/0e22471648572082975551060cc4e76e50caafa9ca8c04b68a4cc6607db90602.jpg",
            "imagePreviewUrl": "https://lh3.googleusercontent.com/smSb5f_RhuSKuPTXUD_7I21aaZgwReqtlB4KNyxv0WJBliGYrpTpc_t_X50Nv7PEuyJnX4bhduLwl7wkylzCK-K_jcQYBiV4y3Y",
            "imageThumbnailUrl": "https://lh3.googleusercontent.com/smSb5f_RhuSKuPTXUD_7I21aaZgwReqtlB4KNyxv0WJBliGYrpTpc_t_X50Nv7PEuyJnX4bhduLwl7wkylzCK-K_jcQYBiV4y3Y=s250",
            "animationUrls": [],
            "fungible": true,
            "contract": {
                "name": "$1000 USDC Voucher๐ŸŽ",
                "address": "0x51e7b4faf536c0f602b653d28cf4febd4e57765f",
                "symbol": "1000usdc.org",
                "media": [
                    {
                        "type": "image",
                        "value": "https://lh3.googleusercontent.com/9P79CsAmgQMv0ZlEb4zUN7YnEsHXES0KWX63LKlN7g28wKcoHkBIUGYEbCvqa4C2zQoauhpWAel894zW7aAECsqwul67hCqJFl1q"
                    }
                ],
                "type": "ERC_1155",
                "verified": false,
                "premium": false,
                "possibleSpam": true,
                "categories": [],
                "imageUrl": "https://lh3.googleusercontent.com/9P79CsAmgQMv0ZlEb4zUN7YnEsHXES0KWX63LKlN7g28wKcoHkBIUGYEbCvqa4C2zQoauhpWAel894zW7aAECsqwul67hCqJFl1q"
            },
            "attributes": [
                {
                    "type": "property",
                    "name": "Website",
                    "value": "https://1000usdc.org"
                }
            ],
            "balance": 1,
            "finalBalance": 1,
            "transferFees": false
        }
    ]
}