π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
Before reading below, make sure you have invited the Emerald bot to your Discord server using this link.
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.
Multi Wallet Check: Let's say one requirement is to hold 3 Doodles. If a user owns 1 Doodle in their Dapper Wallet, and 2 in their Blocto wallet, they will still pass. Yeah, I know, we're cool like that.
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)
To set it up, reach out to us in Discord with any custom setup you'd like, as well as the requirements for each role and the associated "Role ID".
Here is an example:
To get the "Role ID" for a role, go to your Discord server and click on "Server Settings" > "Roles" > the three dots next to a role > "Copy Role ID"
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
contractaddress - The address of the contract. If you have trouble finding it, head to the Contract Browser.
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
contractaddress - The address of the contract. If you have trouble finding it, head to the Contract Browser.
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