Hats Protocol Docs
hatsprotocol.xyzGithub
  • 👋Welcome to Hats Protocol
  • 🧢Getting Started with Hats
  • ⭐Quick Start
  • Using The Hats App
    • 🤠Essentials For Hat Wearers
    • 🎩Creating My First Hat
    • 🧙Admins: Creating, Issuing, and Revising Hats
    • 👥What Hats Do I Need?
    • 🌳Drafting, Exporting, and Deploying Tree Changes
    • 🏗️Setting a Hat's Basic Properties
    • 🥳Adding Wearers
    • 🔐Connecting Hats w/ Permissions & Authorities
      • Types of Hat-Powered Authorities
      • Connecting Hats to Token Gates
        • Hats Protocol Contract Addresses
        • Finding a Hat's Token ID
      • Documenting Hat Powers & Responsibilities
    • 🌟Revocation & Eligibility: Requirements for Wearers
    • ⚡Deactivating & Reactivating Hats
    • ✅Making Hats Claimable
    • 🔗Linking Trees Together
    • ⛓️Hats Protocol Supported Chains
    • ❓Glossary & FAQ
  • Hats Integrations
    • 🔐Permissions & Authorities
      • Coordinape
      • Council Voting Vault
      • Charmverse
      • Discord
        • Collab.Land --> Discord
        • Guild.xyz --> Discord
      • Farcaster Casting Rights
      • Fileverse
      • Google Workspace
      • Hats Account
      • Role-Based Compensation
      • Safe Multisig Signing Authority
      • Telegram
        • Collab.Land --> Telegram
        • Guild.xyz --> Telegram
      • Snapshot: Voting, Weight & Proposal Creation
      • Wonderverse
    • 🌟Eligibility & Accountability Criteria
      • Agreement Eligibility
      • Allow-List Eligibility
      • CoLinks Eligibility
      • ERC20 Eligibility
      • ERC721 Eligibility
      • ERC1155 Eligibility
      • Hat-Wearing Eligibility
      • Hats Election Eligibility
      • JokeRace Eligibility
      • Pass-Through (Hat-Based) Eligibility
      • Staking Eligibility
      • Subscription or Membership Fee (Unlock Protocol)
      • Gitcoin Passport Eligibility
    • ⚡Activation & Deactivation Criteria
      • Seasonal/ Time-Expiry Toggle
      • Pass-Through (Hat-Based) Toggle
    • 👷Hatter Modules
      • Multi Claims Hatter
      • DAOhaus Moloch v3 Membership & Share Allocation
  • For Developers
    • 👷Hats Protocol, for Developers
      • Hat Properties
      • Wearing a Hat
      • Hat Admins & Hatter Contracts
      • Hats Trees
      • Hat IDs
      • Linking Hats Trees
      • Eligibility Modules
      • Toggle Modules
      • Hat Mutability and Editing
      • Creating Hats
      • Minting Hats
      • Transfering Hats
      • Renouncing Hats
      • Batch Actions
      • Hat Image URIs
      • ERC1155 Compatibility
      • ⛓️Supported Chains
    • 🤖v1 Protocol Spec
      • Hats.sol
      • HatsEvents.sol
      • HatsErrors.sol
      • HatsIdUtilities.sol
      • Interfaces
        • IHats.sol
        • IHatsIdUtilities.sol
        • IHatsEligibility.sol
        • IHatsToggle.sol
    • 🖥️v1 SDK
      • Core
        • Getting Started
        • Onchain Reads
        • Onchain Writes
        • Multicall
        • Claiming Hats
        • Utilities
      • Subgraph
        • Getting Started
        • Fetching Hats
        • Fetching Wearers
        • Fetching Trees
        • Misc
        • Types
      • Hat Details
        • Getting Started
        • Usage
    • 🔭v1 Subgraphs
    • 🧩Hats Modules
      • 🔌Modules SDK
        • Getting Started
        • Get Available Modules
        • Create New Instance/s
        • Composing Modules
        • Interact With Instances
        • Utilities
        • Types
      • ⚒️Building Hats Modules
        • Inside a Hats Module
          • Immutable Arguments
          • Module Setup
          • Versioning
        • Creating New Modules
        • How Module Instances Are Deployed
        • Modules Registry
        • About Module Chains
    • 🔏Hats Signer Gate v2
    • 👒Hats Signer Gate SDK
      • Getting Started
      • Creating New Instances
      • Hats Signer Gate
      • Multi Hats Signer Gate
      • HSG & MHSG Handlers
    • 💼Hats Account SDK
      • 1 of N Hats Account
        • Getting Started
        • Creating New Instances
        • Executing From An Instance
        • Constants
        • Types
    • 🌐Hats Security Audits
  • Legal
    • Terms
      • Terms of Service
      • Acceptable Use
      • Privacy Policy
      • Cookie Policy
      • Attribution
Powered by GitBook
On this page
  • Toggle Modules
  • Digging Deeper
  • Building Modules
  1. Hats Integrations

Activation & Deactivation Criteria

Activating and deactivating hats

PreviousGitcoin Passport EligibilityNextSeasonal/ Time-Expiry Toggle

Last updated 1 year ago

The that can be accessed via a hat can be granted and revoked by designated individual or group admins, as well as based on a wide range of automated eligibility and accountability criteria using Hats Modules.

are programmable extensions for roles. Modules can be connected to hats to expand their functionality, such as enabling automatic granting and revocation of hats (and their associated permissions) based on specific conditions.

Any combination of permissions and authorities can be granted or revoked automatically based on a customizable set of criteria, including:

  • Tokens, NFTs, and attestations, including ERC20 token balance, ERC721 NFTs, ERC1155 NFT tokenIDs, and EAS attestations

  • Elections and allowlists, including election results from JokeRace, Snapshot, or Tally, automatic term limits, and manually-created allowlists

  • Achievements and reputation, like badges, onchain points, Colinks, or Gitcoin passport score

  • Prerequisite actions, like staking, signing an agreement, holding other roles, or being a subscriber

  • And more: combine multiple criteria with and/or logic, introduce AI agents, or create granular onchain or offchain triggers

Toggle Modules

A hat’s toggle module is an address that determines whether the hat is active or inactive for all wearers. Toggle modules can activate or deactivate hats automatically based on pre-defined triggers.

See the subpages within this section for detailed guides for specific Toggle modules you can use with Hats:

Digging Deeper

Building Modules

Modules customize, automate, and extend the behavior of Hats Protocol, and can also serve as adapters or integration points with other protocols and applications.

In a sense, modules are the lifeblood of Hats Protocol. The design space is wide open, ready to be filled with all the possible building blocks of human organization and coordination.

Anyone can create their own eligibility or accountability criteria, or tap into the Hats ecosystem of —programmable extensions for roles—built permissionlessly by community developers and distributed via the , which is curated by via the . Likewise, any app can tap into the same infrastructure to offer the fast-growing suite of Hats Modules options to their end-users.

For more details on Hats Modules, including what they can unlock and how builders can create new modules, . You can also for a general guide about Toggle Modules.

For more technical details on how Hats toggle modules work, see the page within the "For Developers" section of these docs.

There are two primary ways for developers to work with Hats Modules. Whether you're or using the to interact with or build applications for existing modules, we have a number of developer tools to make your job easier. See the page below to get started.

⚡
Hats Modules
Hats Modules Registry
Hats protoDAO
Modules Registry Curator hat
see this blog post
visit this docs page
Seasonal/ Time-Expiry Toggle
Pass-Through (Hat-Based) Toggle
Toggle Modules
building new modules
Modules SDK
🧩Hats Modules
permissions and authorities
Hats Modules
Ways to automate hat granting and revocation