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. EitherALGORAND_TESTNET,ALGORAND_BETANET,ALGORAND_MAINNETassetId: The id of the Assetaddress: 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. EitherALGORAND_TESTNET,ALGORAND_BETANET,ALGORAND_MAINNETassetId: The id of the Assetaddress: Address of the NFT holdertrait: trait typevalue: 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. EitherALGORAND_TESTNET,ALGORAND_BETANET,ALGORAND_MAINNETaddress: Address of the NFT holdercreatorAddress: 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. EitherALGORAND_TESTNET,ALGORAND_BETANET,ALGORAND_MAINNETtoken id: the token idpolicyName: 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"
}
Last updated
Was this helpful?
