Verify User Assets
Verify that a user owns any combination of on-chain assets.
Last updated
Verify that a user owns any combination of on-chain assets.
Last updated
This page will show you how to set up a verifier that will, when a user clicks it, automatically scan their wallets and give them certain roles for passing certain verifications that you want to configure.
This will work with NFTs, tokens, or any type of on-chain asset.
There are 3 different ways to get a verification set up depending on what you need:
Custom Verifier (requires help) - Have the Emerald City team set up a custom verification for you that can distribute multiple Discord roles depending on any combination of assets/requirements.
NFT Verifier (can set up on your own) - Set up a quick verifier that checks if the user owns a certain NFT (ex. TopShot Moments).
Token Verifier (can set up on your own) - Set up a quick verifier that checks if the user owns a certain amount of a fungible token (ex. $FLOW).
This option allows you to create 1 verifier in Discord that can distribute multiple Discord roles depending on any type of requirement.
For example, the Flunks team had us set up a verifier that gives out many different Discord roles, each with their own requirement:
1 or more Flunks -> Flunks Holder
12 or more Flunks -> Flunk Whale
1 or more Backpack NFTs -> Backpack Holder
With a custom verifier, we can also personalize how it is displayed:
The title (ex. "Verify your Flunks assets")
The description (ex. "Click the Verify button below to verify your assets with your EmeraldID.")
Fields (ex. 1 or more Flunks, etc)
Here is an example:
1003849437103272018
User owns NBA TopShot Set "Cool Cats" AND 2 Flunks NFTs
923493249235235235
User owns 1 Flunk NFT OR 1 Doodle NFT
2346574545634234233
User owns 1 FLOAT NFT
This option allows you to set up a simple verifier that checks if a user owns a certain NFT and gives them a role if so.
For example, check if a user owns a Doodle NFT and give them the "Emerald ID" role:
In your Discord server, go to a channel you'd like users to go to in order to verify their assets. Then, type /verify nft
into the channel and you should see a command appear, like this:
Options:
contractname - The name of the contract
publicpath - The public path for which the assets lie (ex. if the whole path is /public/doodles
, just type doodles
). If you need help finding this, just ask us in Discord.
role - the role users should earn if they have the NFT
This option allows you to set up a simple verifier that checks if a user owns a certain amount of a fungible token and gives them a role if so.
For example, check if a user owns 40 $FLOW and give them the "Emerald ID" role:
In your Discord server, go to a channel you'd like users to go to in order to verify their assets. Then, type /verify token
into the channel and you should see a command appear, like this:
Options:
contractname - The name of the contract
publicpath - The public path for which the assets lie (ex. if the whole path is /public/flowTokenBalance
, just type flowTokenBalance
). If you need help finding this, just ask us in Discord.
role - the role users should earn if they have the amount of tokens
To set it up, with any custom setup you'd like, as well as the requirements for each role and the associated "Role ID".
contractaddress - The address of the contract. If you have trouble finding it, head to the .
contractaddress - The address of the contract. If you have trouble finding it, head to the .