LogoLogo
ProductsCommunityGitHubShare Feedback
NFT Kit
NFT Kit
  • What is the NFT KIT?
    • Introduction
    • Non-Fungible Tokens (NFTs)
      • NFT | Basics
      • Technologies & Concepts
    • NFT Kit
      • NFT Kit | Basics
        • Overview
        • Functionality
      • NFT Flavors & Ecosystems
      • Architecture
        • Low-Level Service Abstraction
        • Ecosystem Abstraction
        • High-Level Interfaces / APIs
      • Use Cases
  • Getting started
    • Quick Start
  • Ecosystems
    • Ethereum | Polygon | Shimmer
      • Setup
      • NFT | Creation & Management
        • Smart Contract Deployment
        • Minting NFTs
        • Get NFT Metadata
        • Get Account Balance
        • Get Token Owner
        • Get Collection Info
        • Get NFTs by Account
      • NFT | Ownership Verification
        • Ownership Verification
        • Ownership Verification With Traits
      • Smart Contract | Extensions
        • Pausable
        • Burnable
      • Smart Contract | Access Control
        • Ownership
        • Role-Based Access Control
    • Ocean Protocol
      • Setup
      • NFT | Verification
      • NFT | Wallet
      • Architecture
    • Tezos
      • Architecture
      • NFT | Creation & Management
        • Smart Contract
        • Add Minter
        • NFT Minting
        • Fetch NFT metadata
        • Get account NFTs
        • Get contract metadata
      • NFT | Ownership Verification
        • NFT Ownership Verification
        • NFT Ownership Verification Within A Collection
        • NFT Ownership Verification With Traits
      • NFT | Wallet
      • Tutorials
        • Minting NFTs on Tezos
          • Setup
          • New Collection
          • First NFT
          • Verification
          • Wallet
    • Near Protocol
      • Architecture
        • Smart Contract
        • Blockchain NFTs operations
        • NFTs Queries
      • NFT | Creation & Management
        • NEAR Sub-Account
        • Deploy NFT Contract
        • NFT | Minting
      • Querying NFT information controller
        • Get NFTs for account
        • Get NFT By Token Id
        • Get NFT contract metadata
      • NFT | Wallet
      • Tutorials
        • Minting NFT on Near Protocol
          • Near Wallet Creation
          • Setup NFT-Kit
          • Create Sub-account
          • Smart Contract ( Collection )
          • Minting your first NFT
        • NFT Ownership Verification
        • Wallet
    • Polkadot
      • Architecture
      • Query NFTs
        • Unique network
          • Fetching Token id & Collection id
          • Fetching NFT metadata
        • Parachain Networks
          • Fetching Tokens by subscan
          • Fetching EVM ERC721 Collectibles by subscan
      • NFT | Ownership Verification
        • NFT ownership verification
        • NFT ownership verification within a collection
        • NFT ownership verification with traits
      • NFT | Wallet
        • Polkadot parachains
        • Polkadot EVM compatible parachains
    • Flow
      • Architecture
        • Cadence Scripts
        • NFT Operations (FCL)
      • Querying NFT information Controller
        • Get NFTs for an account
        • Get NFTs in Collection
        • Get NFT by Token Id
      • NFT | Ownership Verification
        • NFT ownership verification on Flow
        • NFT ownership verification in collection on Flow
      • NFT | Wallet
        • Flow Blockchain
    • Algorand
      • Architecture
        • Algorand Standard Assets (ASAs)
      • NFT | Creation & Management
        • Account Creation
        • NFT Creation (ARC3)
      • Querying Asset information
        • Get Assets for account
        • Get Asset Details
        • Get NFT Metadata by asset id
        • Get NFT by Asset id
      • NFT | Ownership Verification
        • NFT ownership verification
        • NFT ownership verification with traits
        • NFT ownership verification Based on Creator
        • NFT Metadata verification against a dynamic policy
      • NFT | Wallet
        • Algorand Blockchain
    • IPFS
  • Concepts
    • Soulbound Tokens (SBTs)
    • NFT verification with OPA
  • Configurations
    • Configuration Files
    • Gas Provider
  • Community
    • Discord
    • Twitter
    • Newsletter
    • GitHub Discussions
  • DEVELOPER RELATIONS
    • Roadmap
    • Contribute
    • Share Feedback
    • Contact
  • Product Editions
    • Open Source | Always Free
    • Enterprise | Self-Managed
    • Cloud Platform | Managed
Powered by GitBook
On this page
  • NFT ownership verification:
  • NFT ownership verification with traits :
  • NFT ownership verification Based on Creator Address :
  • NFT Metadata verification Against Dynamic Policy :

Was this helpful?

Export as PDF
  1. Ecosystems
  2. Algorand

NFT | Ownership Verification

NFTs verification enables multiple use cases. The NFT Kit provides numerous approaches to verify the ownership of the NFTs and that the NFTs have customized properties.

NFT ownership verification:

You can use this API to verify if an account is the real owner of an NFT.

API Doc

Swagger Doc | ReDoc

Curl call example

curl -X GET "https://0.0.0.0:7000/v2/nftkit/nft/verifier/algorand/chain/{chain}/verifyNftOwnership" 
-H  "accept: application/json"

Path Params :

  • chain : chain to work with. Either ALGORAND_TESTNET , ALGORAND_BETANET, ALGORAND_MAINNET

  • assetId : The id of the Asset

  • address : Address of the NFT holder

Example :

curl -X GET "http://0.0.0.0:7000/v2/nftkit/nft/verifier/algorand/chain/ALGORAND_TESTNET/verifyNftOwnership?assetId=257177857&account=GYFVJLKGSWQDHFBHBLABUXYHHSU544RV3WH4ZCF3S6HONSDP73TK4VGY3Y" 
-H  "accept: application/json"
import id.walt.nftkit.services.AlgorandNftService
import id.walt.nftkit.services.AlgorandChain


val assetId = "257177850"
val address = "GYFVJLKGSWQDHFBHBLABUXYHHSU544RV3WH4ZCF3S6HONSDP73TK4VGY3Y"
val result = AlgorandNftService.verifyOwnership(address , assetId, AlgorandChain.TESTNET)
println(result)

NFT ownership verification with traits :

You can use this API to verify if an account is the real owner of an NFT existed in Algorand blockchain with NFT property verification.

API Doc

Swagger Doc | ReDoc

Curl call example

curl -X GET "https://0.0.0.0:7000/v2/nftkit/nft/verifier/algorand/chain/{chain}/verifyAlgorandNftOwnershipWithTraits" 
-H  "accept: application/json"

Path Params :

  • chain : chain to work with. Either ALGORAND_TESTNET , ALGORAND_BETANET, ALGORAND_MAINNET

  • assetId : The id of the Asset

  • address : Address of the NFT holder

  • trait : trait type

  • value : the value of the trait

Example :

curl -X GET "http://0.0.0.0:7000/v2/nftkit/nft/verifier/algorand/chain/ALGORAND_TESTNET/verifyNftOwnershipWithTraits?assetId=257177850&account=GYFVJLKGSWQDHFBHBLABUXYHHSU544RV3WH4ZCF3S6HONSDP73TK4VGY3Y&trait=size&value=9814" 
-H  "accept: application/json"
import id.walt.nftkit.services.AlgorandNftService
import id.walt.nftkit.services.AlgorandChain


val assetId = "257177850"
val address = "GYFVJLKGSWQDHFBHBLABUXYHHSU544RV3WH4ZCF3S6HONSDP73TK4VGY3Y"

val traitType = "cap"
val traitValue = "red"
    
val result = AlgorandNftService.verifyOwnerShipWithTraits(address , assetId, AlgorandChain.TESTNET , traitType, traitValue)
println(result)

NFT ownership verification Based on Creator Address :

This Endpoint will verify if a given account has an NFT minted from a particular account .

API Doc

Swagger Doc | ReDoc

Curl call example

curl -X GET "https://0.0.0.0:7000/v2/nftkit/nft/verifier/algorand/chain/{chain}/{address}/verifyNftOwnershipBasedOnCreator/{creatorAddress}"
-H  "accept: application/json"

Path Params :

  • chain : chain to work with. Either ALGORAND_TESTNET , ALGORAND_BETANET, ALGORAND_MAINNET

  • address : Address of the NFT holder

  • creatorAddress : The initial creator address

Example :

curl -X GET "http://0.0.0.0:7000/v2/nftkit/nft/verifier/algorand/chain/ALGORAND_TESTNET/PVY6K7CB4JDRSOSPM7HZPTAOVDMVGHPF7TN6O5CBMD7UEDJWHOCRWI2OU4/verifyNftOwnershipBasedOnCreator/GYFVJLKGSWQDHFBHBLABUXYHHSU544RV3WH4ZCF3S6HONSDP73TK4VGY3Y" 
-H  "accept: application/json"

NFT Metadata verification Against Dynamic Policy :

API Doc

Swagger Doc | ReDoc

Curl call example

curl -X GET "https://0.0.0.0:7000/v2/nftkit/nft/verifier/algorand/chain/{chain}/token/{token id}/policy/{policyName}/verification"
-H  "accept: application/json"

Path Params :

  • chain : chain to work with. Either ALGORAND_TESTNET , ALGORAND_BETANET, ALGORAND_MAINNET

  • token id : the token id

  • policyName : Name of the policy you want to verify against

Example :

curl -X GET "http://0.0.0.0:7000/v2/nftkit/nft/verifier/algorand/chain/ALGORAND_TESTNET/token/287718643/policy/policy%20algorand/verification"
-H  "accept: application/json"

Code of the Rego policy that can be used for creating the dynamic policy :

{
  "name": "policy algorand",
  "description": "policy 1",
  "input": {
    "name": "waltid",
    "description" : "waltid nft on algorand#2"
         
  },
  "policy": "package app.nft

import future.keywords.if

default allow := false


allow if {
	valid_nft_name
	valid_nft_description
}


valid_nft_name if input.name= data.name
valid_nft_description if input.description= data.description



",
  "policyQuery": "data.app.nft.allow",
  "policyEngine": "OPA"
}

PreviousGet NFT by Asset idNextNFT | Wallet

Last updated 1 year ago

Was this helpful?