NFT Roles Setup
Automatically assign Discord roles to users based on their NFT holdings from specific Cardano collections.
Prerequisites
- Administrator permissions in your Discord server
- AdaShield Bot added to your server
- Users must have linked their wallet using
/link-wallet - NFT collection policy ID(s) you want to use for role assignment
- Discord roles already created that you want to assign
Setup Instructions
Step 1: Add Policy IDs
First, add the NFT collection policy IDs that you want to use for role assignments:
You can add multiple policy IDs by running this command for each collection you want to track.
📝 Finding Policy IDs: You can find policy IDs on marketplaces like JPG Store or pool.pm by viewing the collection details. Policy IDs are 56-character hexadecimal strings.
Step 2: Create Role Configuration
After adding at least one policy ID, configure which role to assign to NFT holders:
This will start an interactive setup where you'll configure:
- Discord Role: Which role to assign to qualifying users
- Policy ID: Which NFT collection to check (from your added policies)
- Minimum Holdings: How many NFTs a user must hold (1, 2, 3, 5, 10, 25, 50, 100, 250, or 500)
💡 Tip: You can create multiple role configurations for the same policy ID with different minimum holdings (e.g., "Holder" role for 1+ NFTs, "Whale" role for 50+ NFTs).
Step 3: Users Link Their Wallets
Before roles can be checked, users must link their Cardano wallet to their Discord account:
🔗 Users should visit:
https://adashield.vercel.app/linkAlternatively, users can run /link-wallet in Discord for instructions.
Step 4: Check User Roles
Once users have linked their wallets, you can check their NFT holdings and automatically assign or remove roles:
This command will:
- Fetch the user&apo;s NFT holdings from their linked wallet
- Check against all configured NFT role requirements
- Add roles if they meet the requirements
- Remove roles if they no longer meet the requirements
Step 5: Verify Configuration
View all your configured NFT role assignments to ensure everything is set up correctly:
Management Commands
Common Use Cases
Exclusive Holder Channels
Grant access to special channels only for users who hold at least 1 NFT from your collection.
Tiered Community Access
Create multiple tiers (e.g., "Holder" for 1+ NFTs, "Collector" for 5+ NFTs, "Whale" for 50+ NFTs) with different channel access and permissions.
Multi-Collection Communities
Configure different roles for different NFT collections, allowing you to manage a multi-project community from one Discord server.
Governance Voting
Automatically assign voting roles based on NFT holdings to ensure only legitimate holders can participate in governance decisions.
Important Notes
- Users must run
/link-walletand complete the linking process through the provided link before their NFT holdings can be checked