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
  • Configure Token Gating with Quantum-API
  • Examples of Token Gating
  • Scenario
  1. Walletify Api
  2. Advanced Guides

Set Up NFT Token Gating

PreviousIntegrate with WalletConnectNextChain Specific Fields

Last updated 9 months ago

Configure Token Gating with Quantum-API

Examples of Token Gating

Exclusive content access: Creators, such as artists, musicians, or writers, can use NFTs to give holders exclusive access to content. For instance, an artist might release a digital album as an NFT, where only NFT holders can listen to or download the tracks.

Members-only events: Event organizers can use NFTs as digital tickets for exclusive events. Holding a specific NFT could grant access to private concerts, online webinars, or exclusive celebrity meet-and-greet sessions.

Premium community membership: Online communities or forums can use NFTs to create premium membership tiers. Access to certain platform discussion groups, special threads, or premium content could be gated behind NFT ownership.

Early access or discounts: Retailers or service providers can offer early access to product launches or special discounts to NFT holders. For example, a fashion brand might allow NFT holders to purchase a new collection before it’s available to the public.

Loyalty programs: Businesses can create NFT-based loyalty programs where customers earn NFTs through purchases or engagement. These NFTs could then be used to redeem rewards or gain access to special offers.

Scenario

Suppose you're the owner of an NFT Collection. Suppose you want to reward your NFT holders and to do so, you need to set up token-gating.

Token gating will prove whether a wallet holds an NFT from your collection or not. Use the following endpoint from the .

Request Endpoint:

HTTP

 GET /api/wallets/{secretType}/{walletAddress}/nonfungibles
Parameter
Param Type
Description
Type
Required

{secretType}

Path

Blockchain of the NFT contract/collection

String

✅

{walletAddress}

Path

Wallet address to verify

String

✅

contract-addresses

Query

The NFT contract address. Multiple values can be set.

Array of strings

❌

Example Request:

Here we are going to run the endpoint using the following params:

  • secretType: MATIC (Blockchain of the NFT collection)

  • walletAddress: 0x8fC378e105F80d340489B28519cfEDaF8ecE1944 (The public wallet address to verify)

  • contract-addresses: 0x86b16217e6df213aa9de167a11b009c4740a8c8c (The NFT contract address)

GET https://api-wallet.quantum.ioapi/wallets/MATIC/0x8fC378e105F80d340489B28519cfEDaF8ecE1944/nonfungibles?contract-addresses=0x86b16217e6df213aa9de167a11b009c4740a8c8c

Response Body:

👍

  • As you can see, there are two NFTs in the response body. This proves that the wallet address provided holds NFT from the specified NFT contract address.

  • An empty response body means the wallet does not hold any NFT from the specified NFT contract address.

JSON

{
    "success": true,
    "result": [
        {
            "id": "36",
            "name": "My first NFT",
            "description": "quantum",
            "imageUrl": "https://cdn.simplehash.com/assets/bd615a8b9794af04d85d1e8b670efa1d8693c5db44fceb0c08635026d8391c50.png",
            "imagePreviewUrl": "https://lh3.googleusercontent.com/bmoIbpwC61Fzti43tCrO2I8ylJB67ly7JOwER5U8qxQBUyFfvJdesnQUwdSPULkwEp2uocvcU1XSJGHroy6q74M27WybaGRqx20",
            "imageThumbnailUrl": "https://lh3.googleusercontent.com/bmoIbpwC61Fzti43tCrO2I8ylJB67ly7JOwER5U8qxQBUyFfvJdesnQUwdSPULkwEp2uocvcU1XSJGHroy6q74M27WybaGRqx20=s250",
            "animationUrls": [],
            "fungible": false,
            "contract": {
                "name": "Burn NFT Collection",
                "description": "Sample description",
                "address": "0x86b16217e6df213aa9de167a11b009c4740a8c8c",
                "symbol": "BUNFCO",
                "media": [
                    {
                        "type": "image",
                        "value": "https://lh3.googleusercontent.com/WH-UcOGJ_6bTQJNPHQY3tMU2DieftTDVuomxWT12grRECKimext1PAIgVMqRogtezktTXD75CdU5xdsxo18s671m-iumkLD_VVw"
                    }
                ],
                "type": "ERC_1155",
                "verified": false,
                "premium": false,
                "categories": [],
                "imageUrl": "https://lh3.googleusercontent.com/WH-UcOGJ_6bTQJNPHQY3tMU2DieftTDVuomxWT12grRECKimext1PAIgVMqRogtezktTXD75CdU5xdsxo18s671m-iumkLD_VVw"
            },
            "attributes": [
                {
                    "type": "property",
                    "name": "Token Type ID",
Wallet-API
reference