Skip to main content

Advanced Roles (cross-collection & combined rules)

Advanced Roles let you grant a Discord role based on rules that span more than one collection or combine several conditions — something the basic per-collection roles (holder role, role-per-quantity, role-per-attribute) can't express on their own. They work alongside those basic roles, not instead of them.

An advanced role is built from one or more conditions joined with AND/OR logic, and a member receives the Discord role the moment they satisfy the rule. Roles are independent: a member can hold many advanced roles at once, and losing eligibility for one never affects the others.

What you can build

Role exampleMeaningHow to set it up
PartnerHolds any of collection A or Bholds condition, collections A & B, mode any
Collection collectorHolds from all of A, B and Cholds condition, collections A, B, C, mode all
WhaleOwns 10 or more of collection Cquantity condition, collection C, min 10
Token whaleHolds ≥ X of a tokenquantity condition, the token, min X (balances respect token decimals)
FashionOwns an NFT whose shirt is green, yellow or purpleattribute condition, trait shirt, those values, mode any
Fashion collectorOwns every listed shirt colourattribute condition, trait shirt, those values, mode all
MixedHolds A and ≥ X of token Za group with two conditions: holds(A) and quantity(Z, X)

Conditions

Each condition checks one thing about a member's wallets:

  • Holds — member owns at least one item in the listed collection(s).
    • Any → owning one of the listed collections is enough (OR).
    • All → the member must own something in every listed collection (AND).
  • Quantity — member owns at least N of a single collection. For tokens, the check uses the member's balance with the token's decimals applied.
  • Attribute — member owns an NFT with a given trait.
    • Any → owning any one of the listed values qualifies.
    • All → the member must own the full set of listed values (across their NFTs).
    • You can scope an attribute to a specific collection, or leave it unscoped to match the trait across every collection you track.

Groups: combining conditions

Conditions are organised into groups:

  • Conditions inside a group must all be true (AND).
  • A member qualifies if any group is satisfied (OR).

Most roles need just one condition in one group. Use multiple conditions in a group only when you need a genuine combination — for example the Mixed role above needs holds(A) and quantity(Z, X) in the same group.

Tips & gotchas

  • Advanced and basic roles coexist. Your existing holder / quantity / attribute roles keep working exactly as before; advanced roles are evaluated on top of them.
  • One Discord role per rule. If two different advanced rules point at the same Discord role, a member who satisfies either keeps the role (the rules act as an implicit OR). The builder warns you when you reuse a Discord role so this is always intentional.
  • "Green or red" is a single attribute condition. List both values on one attribute condition with mode any — don't create two separate conditions, which would instead require an NFT that is both colours at once.
  • Removing eligibility removes only that role. Selling the NFTs behind your Whale role won't touch your Partner role.