Reward Members with Holder Roles

Learn how to configure holder roles to reward members for C(N)FT ownership, ADA holdings or pool delegation

Reward Members with Holder Roles

Holder roles are roles that are awarded to members based on their CNFT ownership, ADA holdings, or pool delegation. They are awarded automatically by the bot, and can be configured by server admins.

Overview

Use /holderroles to view an overview of all active HolderRoles in your project.

The /holderroles command - overview

Adding HolderRoles

You can add new HolderRoles to your project by using the "Add/Edit a Holder Role.." menu.

The /holderroles command - adding holderroles

For each HolderRole, you want to set up one or multiple Methods for obtaining the role. Simply click the "Add Method" button to add your first method.

The /holderroles command - adding methods

Each method needs to have at least one requirement. You can choose from the following requirements:

  • Collection Ownership Requires ownership of assets on a specific Cardano policy. You can choose how many assets the user needs to own.
  • ADA Holdings Requires members to hold a specific amount of ADA accross their wallets.
  • Pool Delegation Requires members to stake a specific amount of ADA with a pool of your choosing.
  • Asset Ownership Requires ownership of a specific Cardano asset. For fungible tokens, you can set up how many the user should own at a minimum.

For instance, we can click the "Collection Ownership" button to set up a new requirement for our holderrole method. In the example below, we add the Policy ID of the Atomic Heroes collection to require users to own at least 1 Atomic Hero.

The /holderroles command - adding collection requirement

Managing a HolderRole

Navigate to a HolderRole from /holderroles to update its methods, change its settings, or delete the holderrole altogether.

Protection

By default, all new HolderRoles will have Protection Enabled: this means the bot will automatically remove the role from members that do not meet the criteria for at least one method.

In this example, the bot would automatically remove the "Has an Atomic NFT" role from members that do not have any Atomic NFT in their shared wallets. As such, it will also remove the role from members that no longer match the criteria. If they list their Atomic Heroes NFTs for sale, if they unshare their wallet.. they'll lose the role!

The /holderroles command - enable/disable protection

If you don't want the bot to take away the role from members that no longer qualify, simply click "Disable Protection".

Multiple Methods

You can add multiple methods to a holderrole to create multiple ways for members to obtain the role.

In the example below, members will get the "Has an Atomic NFT" role when they own at least 1 Atomic Hero or 1 Atomic Minion, or both!

The /holderroles command - multiple methods

Multiple Requirements

Each method can also have multiple requirements. So you could for instance require someone to delegate at least 1,000 ADA to your stake pool AND own at least 1 NFT in your collection. The user will then only qualify for the holderrole method when he/she passes both criteria!

Refreshing of HolderRoles

The bot will automatically update the wallet contents' of your members and update their holder roles every time they send a message in the server (with a 3 hour cooldown). So normally, you don't have to do anything! The bot will automatically update the roles of members in your server.

In some scenarios, it is helpful to forcefully update all members in your server:

  • When you want to do an export and ensure everyone's roles are up-to-date
  • When you want to clean out inactive members

In these scenarios, you can use the "Refresh Entire Server" button on the /holderroles command.

The /holderroles command - refresh entire server

To forcefully update only one member's wallet contents, use the /wallet command.

Important information

  • The bot will look at a user's shared wallets with the server to determine which assets the user owns. Members can change which wallets they share at any time with /verify
  • If the user is no longer sharing a wallet with the server, they will also lose the holderroles that have protection enabled.
  • The bot automatically updates a user's wallet contents when a user sends a message in the server. This happens at most once every 3 hours.
  • Server admins can forcefully update a member's wallet contents with /wallet
  • Members will lose the holderrole (with protection enabled) if they no longer have the required asset in their wallet. Eg. if they list it for sale on a marketplace, they will also lose the role!

Other relevant commands

  • /verification - to set up wallet verification in your server, as well as configure your verified role or export a list of all wallets that are shared with your server.
  • /wallet - to see which assets a member has and to forcefully update their holderroles
  • /verify - the command members can use to verify themselves in your server

More Tutorials