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 example | Meaning | How to set it up |
|---|---|---|
| Partner | Holds any of collection A or B | holds condition, collections A & B, mode any |
| Collection collector | Holds from all of A, B and C | holds condition, collections A, B, C, mode all |
| Whale | Owns 10 or more of collection C | quantity condition, collection C, min 10 |
| Token whale | Holds ≥ X of a token | quantity condition, the token, min X (balances respect token decimals) |
| Fashion | Owns an NFT whose shirt is green, yellow or purple | attribute condition, trait shirt, those values, mode any |
| Fashion collector | Owns every listed shirt colour | attribute condition, trait shirt, those values, mode all |
| Mixed | Holds A and ≥ X of token Z | a 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
attributecondition 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.