Quantum
  • Welcome to Quantum
  • Developer portal
    • Pricing
  • Self-Custody Infrastructure
    • Pincode Management
    • Private Key Management
  • Quickstart guide
  • Authentication
    • API Authentication
  • Faucets
  • Networks & URLs
  • Walletify Api
    • Overview
    • Getting started
    • User Management
    • Signing Methods
    • Testnet Assets
    • Basic Guides
      • Create a user
      • Retrieve a user
      • Update a user
      • Delete a user
      • Create a signing method
      • Update a signing method
      • Delete a signing method
      • Create a wallet
      • Retrieve wallet
      • Archive a wallet
      • Import a wallet
      • Export a wallet
      • Retrieve native balance
      • Retrieve ERC20 tokens
      • Retrieve NFTs
      • Transfer a native token
      • Transfer an ERC20 token
      • Transfer an NFT
      • Transfer a fungible token
      • Signatures
      • Read a contract
      • Execute a contract call
      • Get Transaction status
      • Resubmit a transaction
      • Get wallet events
      • Webhooks
    • Advanced Guides
      • Burn an NFT
      • Filter Spam NFTs
      • Filter NSFW NFTs
      • SWAP Token Pairs
      • Gasless/Meta Transactions
      • Sign RAW Transactions
      • Using Fiat Onramp with Walletify-API
      • Deploy an Ethereum contract
      • Integrate with WalletConnect
      • Set Up NFT Token Gating
      • Chain Specific Fields
      • Integrate with WalletConnect
      • Encrypted PIN Transfer
  • Nft Wizard Api
    • Overview
    • Getting started
    • Basic Guides
      • Get any NFT info
      • Get any NFT contract
      • Get NFTs by any wallet
      • Get wallets by any NFT
      • Create contract
      • Retrieve Contract
      • Delete Contract
      • Check Contract Status
      • Retrieve Contract Metadata
      • Update Contract Metadata
      • Create Token-type (NFT template)
      • Retrieve Token-type (NFT template)
      • Delete Token-type (NFT Template)
      • Check Token-type Status
      • Retrieve Token-type Metadata
      • Update Token-type Metadata
      • Mint an NFT
      • Batch Mint NFTs
      • Update NFT Metadata
      • Retrieve NFT Metadata
      • Add Audio to your NFTs
      • Add Video to your NFTs
      • Store NFT Media
      • Webhooks
    • Advanced Guides
      • Mass Minting
      • Speed Up Minting
      • Dynamic NFTs
      • Configure Royalties
      • Create Company Minter Wallet
      • Retrieve Company Minter Wallets
      • Store NFT Metadata on IPFS
      • View NFT on sandbox/testnet
    • NFT Configuration
      • Attributes
      • Animation & Media
      • Collection Info
      • Max Supply
      • Mint Number
      • Burnable
      • Metadata Storage
  • TMINTER API
    • Overview
    • Getting started
    • Basic Guide
      • Retrieve Any NFT Information
      • Retrieve NFT Contract Information
      • Retrieve NFTs by Wallet Address
      • Retrieve Wallets by NFT
      • Create a New NFT Contract
      • Retrieve a Contract
      • Delete a Contract
      • Check Contract Status
      • Retrieve Contract Metadata
      • Update Contract Metadata
      • Create Token-Type
      • Retrieve Token-Type
      • Delete Token-Type
      • Check Token-Type Status
      • Retrieve Token-Type Metadata
      • Update Token-Type Metadata
      • Mint a Single NFT
      • Batch Mint Multiple NFTs
      • Update NFT Metadata
      • Retrieve NFT Metadata
      • Add Audio to Your NFTs
      • Add Video to Your NFTs
      • Store NFT Media
      • Webhooks for NFT Events
    • Advance Guide
      • Dynamic NFT Creation
      • Token Economics and Supply Control
      • Advanced Minting: Royalty Distribution
      • Cross-Chain NFT Minting
      • NFT Sharding (Fractional Ownership)
      • Batch NFT Minting with Custom Metadata
      • Add Interactivity to NFTs
      • Advanced Media Integration: VR and AR
      • Webhook Triggers for Automated Processes
Powered by GitBook
On this page
  • Intro
  • Which endpoints return spam-marked NFTs?
  • How to filter spam NFTs
  1. Walletify Api
  2. Advanced Guides

Filter Spam NFTs

PreviousBurn an NFTNextFilter NSFW NFTs

Last updated 10 months ago

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 /api/wallets/{walletId}/nonfungibles

  • : GET /api/wallets/nonfungibles

  • : 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 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:

HTTP

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

Example Request:

The following endpoint retrieves NFTs by chain and wallet address:

HTTP

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.

JSON

{
    "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
        },
Get NFTs by walletId
Get NFTs by Chain
Get NFTs by Chain and Wallet Address
reference