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?
- Get NFTs by walletId:
GET /api/wallets/{walletId}/nonfungibles
- Get NFTs by Chain:
GET /api/wallets/nonfungibles
- Get NFTs by Chain and Wallet Address:
GET /api/wallets/{secretType}/{walletAddress}/nonfungibles
How to filter spam NFTs
Call one of the above endpoints using the query parameter includePossibleSpam
:
- If the
includePossibleSpam
is set tofalse
: Only the non-spam NFTs will be returned. - If the
includePossibleSpam
is set totrue
: 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
Parameter | Param Type | Description | Data Type | Value | Mandatory |
---|---|---|---|---|---|
includePossibleSpam | Query | Indication to include possible spam NFTs in the response body or not. | Boolean | true | โ |
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
}
]
}
Updated 6 months ago