Verify User Tokens Ownership

User verification process in brief:

  1. Obtain User's Wallet Address:

    • The user logs in, and the system retrieves access to the user's cryptocurrency wallet address.

  2. Check Token Ownership:

    • The system verifies whether the user owns a specific token in their collection.

  3. Use API Endpoint:

    • Utilizing the relevant API Endpoint, the system sends a query to verify the user's possession of the specified token.

  4. Grant Access:

    • If the API Endpoint's response confirms token ownership, the system grants the user access to the game, map, or other resources.

In this way, by combining information about the wallet address, checking for the ownership of a particular token in the user's collection, and using the appropriate API Endpoints, the system can effectively verify the user and provide them with access to specific in-game resources.

Before You Begin:

  • Prepare the User's Address, Contract Address, and Token ID(s) used in your game.

Below, you will find the endpoint used to retrieve tokens for a specific user. To check whether a user possesses specific tokens, use the 'tokens[contractAddress]' parameter in the request object. By utilizing this request, you need to determine which tokens from a particular contract are of interest and then receive information about how many of these tokens the user owns. For example, you can use cURL to obtain information on whether a specific user has, and if so, which tokens they own from the collection of tokens from the Degen Yoku Game.

NFT Service: https://api.metaproprotocol.com/ms/nft/docs/#/

Returns all tokens owned by specific User

GET ../v1/user/{address}/tokens

Query Parameters

Name
Type
Description

skip

number

limit

number

contractAddress

string

standard

string

protocol

string

network

array[string]

categoryIds

array[number]

_items

boolean

networks

array[string]

id

number

protocols

array[string]

sort

object

address*

string

toknes

object

skipTokens

String

{
    "results": [
        {
            "_id": "63341a5e626025ac7c4511af",
            "address": "0xa293d68684be29540838dc8a0222de0c43c6b5b4",
            "createdBy": "0x62199ec934c1b4ae52dfa8064964f2332acbb0d5",
            "contractAddress": "0xa293d68684be29540838dc8a0222de0c43c6b5b4",
            "standard": "erc1155",
            "protocol": "metaprotocol",
            "network": "bnb-chain",
            "chainId": 56,
            "creationBlock": 21722028,
            "version": 0,
            "isListed": false,
            "isAsset": true,
            "createdAt": "2022-09-28T09:56:46.051Z",
            "__v": 0,
            "token": {
                "_id": "64a887b79832b155f2955b13",
                "_tokenId": 1182,
                "address": "0xa293d68684be29540838dc8a0222de0c43c6b5b4",
                "_quantity": 1977,
                "burn": false,
                "createdAt": "2023-07-07T21:46:31.159Z",
                "createdBy": "0x832735f45299c8b6f7263e758cadba766459cd21",
                "creationBlock": 29765675,
                "description": "Yo, what's crackin'? I'm Degen Youki, the baddest shiny cat with a massive dome in this galactic playground. Now, lemme school you on what sets me apart from the rest.\n\nDon't get it twisted, my name might sound like degenerate, but you've got it all wrong, my friend! Degen stands for decentralized generation. It's all about breaking free from the chains of the old ways and embracing the power of freedom, liberty, and independence. We're rockin' that crypto life, baby!\n\nForget about all that cute and sweet nonsense you see on the socials. The world ain't all milk and sugar, it's a wild and messed up place. That's where I come in, bringin' the raw truth and unfiltered realness.\n\nI'm the epitome of our culture, kickin' it with the big dogs like Frog, Apes, and the legendary Cryptopunks. Yeah, you know 'em well! We're a rowdy crew, carvin' our own path in this digital frontier.\n\nWe're always pushin' the envelope, exploring fresh ways to express ourselves and shatter the limits of this web3 universe we call home.\n\nSo, if you're ready to dive headfirst into this chaotic digital rollercoaster, join me on this wild ride. We're gonna rewrite the rules, smash through the norms, and redefine what it truly means to be a Degen in this vast universe.\n\nStrap yourself in, amigo, 'cause this journey is gonna be one hell of a bumpy, profanity-laden adventure!\n\nStay SAFU, stay Degen!",
                "extraFiles": [
                    "https://prdmetaassetfiles.blob.core.windows.net/02cc7ac4-502a-4ddb-b6e7-dadc9cb6d336/assets/a324344a-ebc5-45c4-bcde-0f9598d90b6f.mp4",
                    "https://prdmetaassetfiles.blob.core.windows.net/02cc7ac4-502a-4ddb-b6e7-dadc9cb6d336/assets/a9209bc6-b4df-4933-8b38-dceb4bb2ac0a.jpg",
                    "https://prdmetaassetfiles.blob.core.windows.net/02cc7ac4-502a-4ddb-b6e7-dadc9cb6d336/assets/ca6ebc36-bbf6-46f4-b3d9-8a27ea514328.jpg"
                ],
                "favorites": 27,
                "image": "https://gateway.metaproprotocol.com/0x049e/preview",
                "initialOwner": "0x832735f45299c8b6f7263e758cadba766459cd21",
                "minifiedImage": "https://gateway.metaproprotocol.com/0x049e/minified-preview",
                "owner": "0x832735f45299c8b6f7263e758cadba766459cd21",
                "properties": {},
                "tokenName": "Degen Youki OG",
                "transactionHash": "0x6be58cdc19cc9c1d5c0f21b4eaeda59a300a46b5ee562870a933407bc455576f",
                "updatedAt": "2023-10-19T16:37:31.934Z",
                "wishes": 6,
                "filesSpec": {
                    "item_experiance": [],
                    "common": {
                        "standard": [
                            {
                                "key": "asset_type",
                                "value": [
                                    "2D meta asset"
                                ],
                                "value_type": "string array"
                            },
                            {
                                "key": "asset_licence",
                                "value": "Royalty Free (RF)",
                                "value_type": "string"
                            },
                            {
                                "key": "asset_restriction",
                                "value": "Public meta asset",
                                "value_type": "string"
                            },
                            {
                                "key": "asset_tags",
                                "value": [
                                    "gaming asset",
                                    "character",
                                    "avatar"
                                ],
                                "value_type": "string array"
                            },
                            {
                                "key": "asset_tag_ids",
                                "value": [
                                    17,
                                    56,
                                    13
                                ],
                                "value_type": "integer array"
                            },
                            {
                                "key": "asset_category",
                                "value": "Avatars",
                                "value_type": "string"
                            },
                            {
                                "key": "asset_subcategories",
                                "value": [
                                    "Body shape"
                                ],
                                "value_type": "string array"
                            },
                            {
                                "key": "asset_category_ids",
                                "value": [
                                    18,
                                    19
                                ],
                                "value_type": "integer array"
                            }
                        ],
                        "2d_spec": [
                            {
                                "key": "asset_height",
                                "value": 0,
                                "value_type": "integer"
                            },
                            {
                                "key": "asset_width",
                                "value": 0,
                                "value_type": "integer"
                            },
                            {
                                "key": "asset_layers",
                                "value": false,
                                "value_type": "boolean"
                            }
                        ],
                        "3d_spec": [
                            {
                                "key": "asset_geometry",
                                "value": "",
                                "value_type": "string"
                            },
                            {
                                "key": "asset_polygons",
                                "value": 0,
                                "value_type": "integer"
                            },
                            {
                                "key": "asset_vertices",
                                "value": 0,
                                "value_type": "integer"
                            },
                            {
                                "key": "asset_materials",
                                "value": false,
                                "value_type": "boolean"
                            },
                            {
                                "key": "asset_textures",
                                "value": false,
                                "value_type": "boolean"
                            },
                            {
                                "key": "asset_uv_mapped",
                                "value": false,
                                "value_type": "boolean"
                            },
                            {
                                "key": "asset_animated",
                                "value": false,
                                "value_type": "boolean"
                            }
                        ],
                        "sound_spec": [
                            {
                                "key": "asset_bpm",
                                "value": 0,
                                "value_type": "integer"
                            },
                            {
                                "key": "asset_sample_rate",
                                "value": "",
                                "value_type": "string"
                            },
                            {
                                "key": "asset_bit_depth",
                                "value": 0,
                                "value_type": "integer"
                            },
                            {
                                "key": "asset_channels",
                                "value": "",
                                "value_type": "string"
                            },
                            {
                                "key": "asset_duration",
                                "value": "",
                                "value_type": "string"
                            },
                            {
                                "key": "asset_isrc_code",
                                "value": "",
                                "value_type": "string"
                            }
                        ]
                    }
                }
            }
        }
    ],
    "count": 6
}
Example cURL
curl --location --globoff 'https://api.metaproprotocol.com/ms/nft/v1/user/0x832735f45299c8b6f7263e758cadba766459cd21/tokens?tokens%5B0xa293d68684be29540838dc8a0222de0c43c6b5b4%5D=[1182%2C1227%2C1229%2C1230%2C1228%2C1248]' \
--header 'accept: application/json'

For more information about the Endpoints from the NFT Service, use the documentation below

Last updated