Agreement Eligibility
Last updated
Last updated
The agreement eligibility module requires someone to sign an agreement as a condition for claiming a given hat. This can be used for legal contracts, commitments of responsibility, or codes of conduct.
When an individual signs the agreement, they also receive a hat that grants them access to the community. If a new agreement is published, community members must sign the new agreement in order to keep wearing the hat.
Adding an agreement module to a hat automatically creates a unique claim page for that hat, where users can view the agreement, sign it, claim the hat, and access the hatโs powers (like admission to a Discord server or multisig signing authority) all from a dedicated UI.
Case Study: Hats protoDAO has automated the onboarding of over 200 community members into its communication channels and workspaces via the Hats Community Member hat, with minimal operational oversight. To claim the Community Member hat, individuals have to first sign a transaction confirming they agree to the Hats Community Agreements and Code of Conduct. Once claimed, the Community Member hat gives wearers access to the Community Telegram group, Charmverse workspace, and provides them with voting power in Snapshot and JokeRace. See the full case study here.
Go to the tree that includes the hat you wish to create the module for
Select "Edit Tree"
Locate and select the hat
Open the "Revocation & Eligibility" section
Choose "Agreement Eligibility" in the module type
Fill in the module-specific parameters
Choose "Deploy & Return" to deploy the module and return to the hat edit form. The module address will be automatically updated on the hat's eligibility property in the form. Once you deploy these changes, the hat's eligibility will be updated.
Once the module is attached to the hat, you can view the hat's updated eligibility criteria:
Select the hat
In the eligibility section, you can view:
The module's public actions
The module's general description
The module's live parameters
Current agreement
Grace period ending (relevant when the agreement was updated)
Useful links
The module's source code on GitHub