Requirements
The conditions a member must meet to get a role.
A requirement is a condition a member must meet to get a role: hold a token, follow an account on X, be in a Discord server, hold another role, and so on. A role can have one requirement or many, combined the way you choose. Guild checks them against the wallets and accounts the member has connected.
Add a requirement to a role
- In the admin panel, open Spaces & roles and select the role. Its inspector opens.
- Under Who gets it, press Requirement.
- In Add requirement, search or browse the types and pick one.
- Choose Should satisfy, or Should not satisfy to keep out people who meet the condition.
- Fill in the form. Each type's fields are listed on its page under the requirement families.
- Optionally, under Custom image and name, give the requirement your own image, name and an action link. Otherwise Guild names it from its settings.
- Press Add requirement.
The requirement is added to the role straight away. To change or remove it later, open it from the same list.
[!WARNING] Adding a requirement to a role people already hold changes who qualifies. Members who don't meet the new requirement lose the role, and its rewards, when they are next checked. If that is not what you want, create a new role instead, or tell your members first.
All, any one, or some
Above the requirement list, Members should meet sets how the requirements combine:
- All: every requirement must be met.
- Any one: meeting one of them is enough. Offered once a role has two requirements.
- Some: at least a number you pick, for example 2 of 5. Offered once a role has three requirements.
Changes to this setting wait in the inspector until you press Save.
Groups
For logic like "hold the NFT, or follow on X and be in the Discord", split the requirements into groups:
- Press Group. Your existing requirements become the first group and an empty group is added after it.
- Add requirements to each group with its own Requirement button.
- Set Members should meet inside each group, and once more at the top for how the groups combine.
An empty group can be deleted with Remove group.
How requirements are checked
Guild checks a member's requirements when they join the guild and whenever they press Check access. It also refreshes the data behind requirements in the background, so a token sale or a new follow reaches Guild without anyone pressing a button. When the data changes, access changes with it: a member who stops meeting a role's requirements loses the role.
If Guild can't read a member's data for a while, for example while it is being refreshed, it keeps the roles they already have instead of taking them away. It never grants a role on missing data. See How Guild works for the whole picture.
Some requirements depend on something only the member can do, such as opening a link or filling out a form. Those update when the member does it.
What members see
On a role card, each requirement shows one of these:
- Met: the member meets it.
- Not met: they don't, often with what they have and what they need.
- Checking: Guild is checking it right now.
- Not checked yet: Guild can't tell yet, for example because the member is signed out, hasn't joined, or the check hasn't run.
When a requirement needs an account the member hasn't connected, the card offers a fix such as Connect X or Connect wallet. Some types offer a direct action instead, such as Visit link, Fill out the form or Join the Discord. If you set an action link under Custom image and name, members see Complete requirement. See Joining a guild for the member's side.
Requirements that need a plan
Two types are part of the Pro plan and above:
- Custom API call, which asks your own API about a member.
- Submitted a form, which checks that a member has filled out one of your gated forms.
On a lower plan the picker shows them locked, and choosing one opens the plan page. See Plans.
Every requirement
Guild offers 49 kinds of requirement today, grouped below.
| Group | What it checks | Types |
|---|---|---|
| Tokens and NFTs | Hold a coin, a token or an NFT, now. | 4 |
| Holding history | Held a balance at a past block, or without a break for days. | 2 |
| Wallet activity | First transaction, transaction count and contract calls. | 5 |
| Contract query | Call any read function of a contract and check the answer. | 1 |
| Attestations (EAS) | Be attested by an address on the Ethereum Attestation Service. | 1 |
| POAP | Have attended an event that issued a POAP. | 1 |
| X (Twitter) | Follow, like, repost, or have something in an X profile. | 4 |
| Discord | Be a member of a server, or have an account old enough. | 2 |
| Telegram | Be a member of a Telegram group. | 1 |
| Farcaster | Follow a profile, have followers, or something in a profile. | 3 |
| GitHub | Star a repository, have commits, or an account old enough. | 3 |
| YouTube | Subscribe to a channel, or like or comment on a video. | 3 |
| Verify an email address at a domain. | 1 | |
| Guild activity | Roles, rewards, forms, memberships and accounts on Guild. | 11 |
| Points | Have enough points in one of a guild's point systems. | 1 |
| Allowlist | Be on a list of wallet or email addresses you upload. | 1 |
| Custom API call | Ask your own API about a member and check its answer. | 1 |
| Visit link | Open a link you choose. | 1 |
| World ID | Have a World ID profile. | 1 |
| Scores and lists | A Community Intelligence score, or a CryptoRank watchlist. | 2 |