Skip to content
GuidesApril 22, 2026

Sentinel: Token-Gated Discord Roles

How Sentinel works — configuring tier and badge roles through the web dashboard, 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 holdings — both tokens and NFT collections. Members prove they meet the requirements by linking their verified wallets, without ever revealing wallet addresses to the server.

In this guide

Two Types of Roles

Sentinel supports two role categories that serve different purposes.

Tier Roles

Tier roles are hierarchical and share a single source — either a token or an NFT collection. A server might define tiers like Shrimp (1,000 KTA), Shark (10,000 KTA), and Whale (100,000 KTA). With an NFT collection, tiers could be Collector (1 NFT), Enthusiast (5 NFTs), and Whale (25 NFTs). Members qualify for multiple tiers based on their holdings, but select only one to display.

If a member's holdings drop 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 has its own source — any token or NFT collection — and its own threshold. A server could create badges like "Verified Holder" (100 KTA) and "Art Collector" (1 NFT from a collection). Members collect whichever badges they qualify for and choose which ones to display.

Setting Up Sentinel

All server configuration happens through the web dashboard at keetahub.com/dashboard. There are no admin slash commands — every setting, from tiers to the verification panel, lives in the dashboard.

Getting started

Sign in at keetahub.com/dashboard with Discord. You'll see every server where you have Manage Server permission. Servers where Sentinel is already installed show a green "Sentinel active" indicator. Servers without Sentinel get an "Invite" button that adds the bot with the right permissions.

Before configuring, create the Discord roles you want to assign in Server Settings → Roles, and make sure the bot's role sits above them so it has permission to assign them.

Click a server to open its dashboard. The sidebar has five sections:

Tiers

Set up a tier source (token or NFT collection) once, then add tier rules. Each rule has:

  • Label — the display name (e.g. "Shark")
  • Minimum — the required token balance or NFT count
  • Role — searchable dropdown of Discord roles (excludes roles already in use)

For NFT sources, the dashboard validates that your threshold doesn't exceed the collection size. For tokens, it checks against on-chain total supply. You can't create a "50,000 XYZ" tier if only 10,000 XYZ exist.

Changing the tier source removes all existing tier roles, since thresholds aren't comparable across different sources.

Badges

Works like tiers but each badge is independent with its own source. Token badges need a Keeta address — click Look up to fetch the symbol and decimals automatically.

Badges are grouped by source and sorted by amount, so if you have multiple badges for the same token they appear together.

Panel

Customize and post the verification panel that members interact with:

  • Title and description — what members see above the buttons
  • Channel — searchable dropdown showing channel names and categories
  • Accent color — the embed's side bar

Styling changes update the existing panel in place. Selecting a different channel moves the panel. First-time setup posts it.

Audit Log

Every configuration change is logged with the actor, timestamp, and action type. Filter by action or user. Entries are grouped by day with collapsible history.

Overview

Quick stats at a glance: tier source, number of tiers, number of badges, and panel status.

Using Sentinel as a Member

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:

  1. Add the resolver address to your Keeta wallet (Settings -> Advanced -> Third-Party Resolvers)
  2. Go to the Certificates section, tap + Add, and select the KeetaHub KYC anchor
  3. Authorize your Discord account when prompted
  4. 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.

Claiming roles

Click Claim Roles on the panel to open the role manager. It shows:

  • Your verified wallets — Select which wallets to use for this server. Your combined holdings across selected wallets are checked against the thresholds.
  • Holdings — Your relevant combined token balances and NFT counts 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:

  1. Select wallets — Choose which verified wallets to include
  2. Select tier — Pick your preferred tier (or "None")
  3. 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 holdings and which roles you qualify for, without changing anything. This is useful for checking whether your holdings still meet the thresholds.

Discord commands

Sentinel exposes three slash commands. All other interactions happen through the panel or the web dashboard.

Command Who What it does
/check-roles Anyone Shows your holdings and which roles you qualify for
/collection format Anyone Explains how to prepare an NFT token address file
/help Anyone Setup guide — points to the web dashboard

Custom NFT Collections

Sentinel natively supports NFT collections minted through PunkSwap. If your collection was minted on a different platform but lives on the Keeta network, you can request to have it registered as a custom collection.

What you need

A file containing the Keeta token addresses of every NFT in your collection. Each NFT on the Keeta network has a unique address starting with keeta_. The file can be:

  • Plain text (.txt) — one address per line
  • JSON (.json) — an array of address strings
  • CSV (.csv) — one address per line, extra columns are ignored

Run /collection format in any server with Sentinel to see detailed formatting instructions and examples.

How to get your collection registered

Reach out to the KeetaHub team with your prepared file:

Once registered, your collection appears in the dashboard pickers alongside PunkSwap collections. Any server admin can then use it as a tier source or badge source — no extra steps needed on their end.

Overriding a partially registered PunkSwap collection

If your collection wasn't minted through PunkSwap but is partially listed in their registry, you can request a custom override with a complete token list. This replaces the incomplete PunkSwap data so all your NFTs are recognized.

Because this overrides existing data, additional verification is required: the wallet that created the collection must be linked to your Discord account through KeetaHub's KYC anchor. This proves you are the collection owner and prevents unauthorized overrides.

How it works

Custom collections are verified the same way as PunkSwap collections. Sentinel checks whether a member's wallet holds any of the registered token addresses. The only difference is where the token list comes from — PunkSwap's registry for native collections, or a manually registered list for custom ones.

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 role manager.
  • Balances and NFT counts 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.

Automatic Re-Checks

Sentinel automatically re-verifies all member holdings on a recurring schedule (every 24 hours by default). During each check:

  • Token balances are queried on-chain and NFT ownership is verified 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 holdings recover, 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.

When an admin edits a threshold or swaps a role in the dashboard, Sentinel re-checks affected members immediately so role assignments stay in sync with the new configuration.

Sentinel: Token-Gated Discord Roles | KeetaHub