Back to Blog
Tutorial

How to Create an NFT Gated Discord Server [2026 Guide]

Complete step-by-step guide to setting up NFT gating on your Discord server. Verify holders and assign roles automatically.

January 11, 2026
10 min read

What is an NFT Gated Discord Server?

An NFT gated Discord server restricts access to certain channels or roles based on NFT ownership. Only users who can prove they own specific NFTs gain access to exclusive content, creating value for your holders and building a stronger community.

NFT gating is used by NFT projects, DAOs, gaming communities, and DeFi protocols to reward their most committed members with exclusive access to alpha channels, private AMAs, early announcements, and more.

In this guide, we'll show you how to set up NFT gating for Discord using Azalea Gate in under 10 minutes.

Prerequisites

Before you start, make sure you have:

  • Admin permissions on your Discord server
  • Your NFT collection address (Solana, Ethereum, or other supported chain)
  • A role you want to assign to NFT holders (or create one in the next step)

Step 1: Add Azalea Gate to Your Server

First, invite the Azalea Gate bot to your Discord server:

  1. Click the "Add to Discord" button on azaleagate.com
  2. Select your server from the dropdown
  3. Authorize the required permissions
  4. Complete the CAPTCHA verification

The bot needs Manage Roles permission to assign holder roles automatically.

Step 2: Create a Holder Role

Create a role that will be assigned to verified NFT holders:

  1. Go to Server Settings → Roles
  2. Click Create Role
  3. Name it something like "Verified Holder" or "[Collection] Holder"
  4. Set the role color and permissions as desired
  5. Important: Make sure the Azalea Gate bot role is above this role in the hierarchy

Pro Tip: Role Hierarchy

Discord bots can only assign roles that are below their own role in the hierarchy. Drag the Azalea Gate role above any holder roles you want to assign.

Step 3: Configure Your NFT Collection

Now configure which NFT collection to verify. Use the /nft-config command:

For Solana NFTs:

/nft-config add collection:[collection_address] role:@Verified-Holder

Example with a real collection:

/nft-config add collection:DRiP2Pn2K6fuMLKQmt5rZWyHiUZ6WK3GChEySUpHSS4x role:@DRiP-Holder

For Ethereum/EVM NFTs:

/evm-config add-collection contract:[contract_address] chain:ethereum role:@Verified-Holder

Supported chains: ethereum, polygon, base, arbitrum, optimism

Step 4: Set Up Verification Channel

Create a channel where users can verify their NFT ownership:

  1. Create a new channel called #verify or #holder-verification
  2. Run /setup in the channel to create a verification panel
  3. Users will see a "Verify" button they can click

When users click verify, they'll be prompted to connect their wallet and sign a message. The bot checks their wallet for the required NFTs and assigns the role automatically.

Step 5: Test the Verification

Before announcing to your community, test the verification yourself:

  1. Click the "Verify" button in your verification channel
  2. Connect a wallet that holds your NFT
  3. Sign the verification message
  4. Confirm you received the holder role

If everything works, you're ready to announce NFT gating to your community!

Advanced Options

Azalea Gate supports advanced NFT gating configurations:

Tiered Roles Based on NFT Count

Assign different roles based on how many NFTs a user holds:

/nft-config add collection:[address] role:@Bronze min-count:1 /nft-config add collection:[address] role:@Silver min-count:5 /nft-config add collection:[address] role:@Gold min-count:10

Multiple Collections

Require NFTs from multiple collections using custom verification rules:

/rules create name:"Dual Holder" role:@Dual-Holder /rules add-condition rule:"Dual Holder" type:nft collection:[address1] /rules add-condition rule:"Dual Holder" type:nft collection:[address2]

Staking Verification

Verify staked NFTs so holders keep their roles while earning rewards:

/staking add program:[staking_program] collection:[address] role:@Staker

Troubleshooting

Bot can't assign roles

Make sure the Azalea Gate bot role is above the holder role in Server Settings → Roles. Drag it higher in the list.

Verification not working

Check that you entered the correct collection address. For Solana, use the collection address (not the individual NFT mint). For EVM chains, use the contract address.

Users losing roles

This is expected behavior! When users sell their NFTs, they lose the holder role during the next re-verification. This keeps your gated channels exclusive to current holders.

For more help, check our documentation or read our guide on token gating explained.

Ready to Create Your NFT Gated Discord?

Set up NFT gating in under 5 minutes. Free tier available for small communities.