Sentinel: Token-Gated Discord Roles
How Sentinel works — configuring tier and badge roles for server admins, and managing wallets and roles as a member.
Sentinel: Token-Gated Discord Roles
Sentinel gives Discord server admins the ability to gate roles behind Keeta network token holdings. Members prove they meet the requirements by linking their verified wallets — without ever revealing wallet addresses to the server. This guide covers how admins set up roles and how members interact with them.
Two Types of Roles
Sentinel supports two role categories that serve different purposes.
Tier Roles
Tier roles are hierarchical and tied to a single token. A server might define tiers like Shrimp (1,000 KTA), Shark (10,000 KTA), and Whale (100,000 KTA). Members qualify for multiple tiers based on their balance, but select only one to display.
If a member's balance drops below their chosen tier, Sentinel automatically falls back to the highest tier they still qualify for. It never upgrades a member above their chosen tier — that's always their decision.
Badge Roles
Badge roles are independent. Each badge can use a different token and threshold. A server could create badges like "Verified Holder" (100 KTA) and "Stablecoin User" (50 USD). Members collect whichever badges they qualify for and choose which ones to display.
Setting Up Sentinel (Server Admins)
All admin commands require the Administrator permission. Members without this permission cannot see or use them.
Step 1: Set the Tier Token
All tier roles share a single token. Set it once:
/setup-roles tier set-token token-address:<keeta token address>
Sentinel automatically fetches the token's name and decimal places from the Keeta network. You don't need to specify these manually.
Step 2: Add Tier Roles
Create tiers by specifying a label, minimum balance, and the Discord role to assign:
/setup-roles tier add label:Shrimp min-balance:1000 role:@Shrimp
/setup-roles tier add label:Shark min-balance:10000 role:@Shark
/setup-roles tier add label:Whale min-balance:100000 role:@Whale
Tiers are automatically sorted by their minimum balance requirement — lowest to highest. There's no need to set an order manually.
Step 3: Add Badge Roles (Optional)
Badges each specify their own token address:
/setup-roles badge add label:Verified token-address:<address> min-balance:100 role:@Verified
/setup-roles badge add label:Stablecoin token-address:<address> min-balance:50 role:@Stablecoin
Step 4: Post the Panel
Create a public panel in any channel where members can manage their wallets and roles:
/panel
The panel is an embed with two buttons: How to Verify and Manage Wallets. It automatically updates when you add, edit, or remove roles.
You can customize the panel's appearance:
/panel title:My Server Roles description:Hold tokens to unlock roles color:#5865F2
Managing Existing Roles
Sentinel provides commands for editing and removing roles without starting over:
| Command | What it does |
|---|---|
/setup-roles tier edit |
Change a tier's minimum balance |
/setup-roles tier remove |
Remove a tier role |
/setup-roles tier list |
View all configured tiers |
/setup-roles badge edit |
Change a badge's balance or token |
/setup-roles badge remove |
Remove a badge role |
/setup-roles badge list |
View all configured badges |
Edit and remove commands use dropdown menus — select the role you want to modify, and Sentinel handles the rest.
The Help Command
Run /help for a step-by-step setup guide directly in Discord. This is useful when configuring Sentinel for the first time or onboarding other admins.
Using Sentinel (Members)
Members interact with Sentinel through the panel that the server admin posts, and one slash command.
Verifying Your Wallet
Click How to Verify on the panel to see the verification steps. The process uses KeetaHub's KYC system:
- Add the resolver address to your Keeta wallet (Settings → Advanced → Third-Party Resolvers)
- Go to the Certificates section, tap + Add, and select the KeetaHub KYC anchor
- Authorize your Discord account when prompted
- Your wallet is now linked to your Discord profile
This is a one-time process per wallet. Once verified, the wallet works across all servers that use Sentinel.
Selecting Wallets and Roles
Click Manage Wallets on the panel to open the wallet manager. It shows:
- Your verified wallets — Select which wallets to use for this server. Your combined balance across selected wallets is checked against the thresholds.
- Balance — Your combined token balances across selected wallets.
- Tier status — Which tiers you qualify for, with your selected tier underlined.
- Badge status — Which badges you qualify for, with your selected badges underlined.
Below the status overview, three dropdown menus let you:
- Select wallets — Choose which verified wallets to include
- Select tier — Pick your preferred tier (or "None")
- Select badges — Pick which qualifying badges to display
Roles are updated immediately after each selection change.
Checking Your Status
Run /check-roles at any time to see your current balances and which roles you qualify for, without changing anything. This is useful for checking whether your holdings still meet the thresholds.
Privacy
Sentinel is designed to verify holdings without exposing financial information:
- Wallet addresses are never shown to the server or other members. Only you see your own wallets in the wallet manager.
- Balances are only visible to you through ephemeral messages (messages that only you can see).
- Servers only see the resulting role assignments — they don't know which wallets you used or how much you hold.
- Wallet selection is per-server. You can use different wallets in different servers. A wallet linked for one server doesn't automatically affect another.
The 24-Hour Re-Check
Sentinel automatically re-verifies all member holdings every 24 hours. During each check:
- Balances are queried on-chain for all members with active wallet selections
- Members who no longer meet a tier threshold are moved down to the highest tier they still qualify for
- Members who no longer meet a badge threshold have that badge removed
- If a member's balance recovers, their preferred tier is restored automatically
- Roles that have been deleted from Discord are cleaned up from the configuration
No manual action is required. The re-check runs in the background without notifying members.