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 :