# Hats Protocol Docs

## Hats Protocol Docs

- [Welcome to Hats Protocol](https://docs.hatsprotocol.xyz/readme.md): Save time, automate onboarding, and manage permissions across the internet with programmable onchain roles
- [Getting Started with Hats](https://docs.hatsprotocol.xyz/getting-started-with-hats.md): Hold on to your hats and let's jump in!
- [Quick Start](https://docs.hatsprotocol.xyz/quick-start.md): Key shortcuts for those who know their way around Hats
- [Essentials For Hat Wearers](https://docs.hatsprotocol.xyz/using-hats/essentials-for-hat-wearers.md): So you received your first hat. Now what?
- [Creating My First Hat](https://docs.hatsprotocol.xyz/using-hats/creating-my-first-hat.md)
- [Admins: Creating, Issuing, and Revising Hats](https://docs.hatsprotocol.xyz/using-hats/admins-creating-issuing-and-revising-hats.md)
- [What Hats Do I Need?](https://docs.hatsprotocol.xyz/using-hats/what-hats-do-i-need.md)
- [Drafting, Exporting, and Deploying Tree Changes](https://docs.hatsprotocol.xyz/using-hats/drafting-exporting-and-deploying-tree-changes.md): How to propose changes in Edit Mode, export those changes to share with others, and deploy those changes through a multisig or DAO contract
- [Setting a Hat's Basic Properties](https://docs.hatsprotocol.xyz/using-hats/setting-a-hats-basic-properties.md)
- [Adding Wearers](https://docs.hatsprotocol.xyz/using-hats/adding-wearers.md)
- [Connecting Hats w/ Permissions & Authorities](https://docs.hatsprotocol.xyz/using-hats/connecting-hats-w-permissions-and-authorities.md)
- [Types of Hat-Powered Authorities](https://docs.hatsprotocol.xyz/using-hats/connecting-hats-w-permissions-and-authorities/types-of-hat-powered-authorities.md)
- [Connecting Hats to Token Gates](https://docs.hatsprotocol.xyz/using-hats/connecting-hats-w-permissions-and-authorities/connecting-hats-to-token-gates.md)
- [Hats Protocol Contract Addresses](https://docs.hatsprotocol.xyz/using-hats/connecting-hats-w-permissions-and-authorities/connecting-hats-to-token-gates/hats-protocol-contract-addresses.md)
- [Finding a Hat's Token ID](https://docs.hatsprotocol.xyz/using-hats/connecting-hats-w-permissions-and-authorities/connecting-hats-to-token-gates/finding-a-hats-token-id.md)
- [Documenting Hat Powers & Responsibilities](https://docs.hatsprotocol.xyz/using-hats/connecting-hats-w-permissions-and-authorities/documenting-hat-powers-and-responsibilities.md)
- [Revocation & Eligibility: Requirements for Wearers](https://docs.hatsprotocol.xyz/using-hats/eligibility-requirements-for-wearers.md)
- [Deactivating & Reactivating Hats](https://docs.hatsprotocol.xyz/using-hats/toggle-activating-and-deactivating-hats.md)
- [Making Hats Claimable](https://docs.hatsprotocol.xyz/using-hats/making-hats-claimable.md)
- [Linking Trees Together](https://docs.hatsprotocol.xyz/using-hats/linking-trees-together.md): Two or more Hats trees can be connected together through linking
- [Hats Protocol Supported Chains](https://docs.hatsprotocol.xyz/using-hats/hats-protocol-supported-chains.md): A complete list of the chains Hats Protocol is currently deployed to
- [Glossary & FAQ](https://docs.hatsprotocol.xyz/using-hats/glossary-and-faq.md): Created by the Hats community
- [Permissions & Authorities](https://docs.hatsprotocol.xyz/hats-integrations/permissions-and-authorities.md): Guides for connecting permissions to a given hat
- [Coordinape](https://docs.hatsprotocol.xyz/hats-integrations/permissions-and-authorities/coordinape.md): How to hat-gate access to a Coordinape circle
- [Council Voting Vault](https://docs.hatsprotocol.xyz/hats-integrations/permissions-and-authorities/council-voting-vault.md): How to only allow specified hats (or hats of a certain type) to vote in a Council voting vault
- [Charmverse](https://docs.hatsprotocol.xyz/hats-integrations/permissions-and-authorities/charmverse.md): How to hat-gate access to specific Charmverse roles, pages, and read/comment/write/admin permissions
- [Discord](https://docs.hatsprotocol.xyz/hats-integrations/permissions-and-authorities/discord.md): How to provide access to specific Discord roles and channels using Hats
- [Collab.Land --> Discord](https://docs.hatsprotocol.xyz/hats-integrations/permissions-and-authorities/discord/collab.land-greater-than-discord.md): How to hat-gate Discord roles and channels with Collab.Land
- [Guild.xyz --> Discord](https://docs.hatsprotocol.xyz/hats-integrations/permissions-and-authorities/discord/guild.xyz-greater-than-discord.md): How to Hat-gate Discord roles using Guild.xyz
- [Farcaster Casting Rights](https://docs.hatsprotocol.xyz/hats-integrations/permissions-and-authorities/farcaster-casting-rights.md): Delegate casting rights for a shared Farcaster account
- [Fileverse](https://docs.hatsprotocol.xyz/hats-integrations/permissions-and-authorities/fileverse.md): Role-based access control for documents, files, and whiteboards
- [Google Workspace](https://docs.hatsprotocol.xyz/hats-integrations/permissions-and-authorities/google-workspace.md): How to hat-gate read, write, or comment access on specific Google docs, sheets, or slides
- [Hats Account](https://docs.hatsprotocol.xyz/hats-integrations/permissions-and-authorities/hats-account.md): How to give every hat a wallet
- [Role-Based Compensation](https://docs.hatsprotocol.xyz/hats-integrations/permissions-and-authorities/role-based-compensation.md): Stream tokens and rewards to hat wearers
- [Safe Multisig Signing Authority](https://docs.hatsprotocol.xyz/hats-integrations/permissions-and-authorities/safe-multisig-signing-authority.md): How to hat-gate signing authority on a Safe multisig
- [Telegram](https://docs.hatsprotocol.xyz/hats-integrations/permissions-and-authorities/telegram.md): How to provide access to specific Telegram channels using Hats
- [Collab.Land --> Telegram](https://docs.hatsprotocol.xyz/hats-integrations/permissions-and-authorities/telegram/collab.land-greater-than-telegram.md): How to hat-gate Telegram channel access with Collab.Land
- [Guild.xyz --> Telegram](https://docs.hatsprotocol.xyz/hats-integrations/permissions-and-authorities/telegram/guild.xyz-greater-than-telegram.md): How to hat-gate Telegram channel access with Guild.xyz
- [Snapshot: Voting, Weight & Proposal Creation](https://docs.hatsprotocol.xyz/hats-integrations/permissions-and-authorities/snapshot-voting-weight-and-proposal-creation.md): How to give specific hats voting access & voting weight in Snapshot polls
- [Wonderverse](https://docs.hatsprotocol.xyz/hats-integrations/permissions-and-authorities/wonderverse.md): How to hat-gate access to Wonderverse orgs and pods
- [Eligibility & Accountability Criteria](https://docs.hatsprotocol.xyz/hats-integrations/eligibility-and-accountability-criteria.md): Requirements for Wearers
- [Agreement Eligibility](https://docs.hatsprotocol.xyz/hats-integrations/eligibility-and-accountability-criteria/agreement-eligibility.md)
- [Allow-List Eligibility](https://docs.hatsprotocol.xyz/hats-integrations/eligibility-and-accountability-criteria/allow-list-eligibility.md)
- [CoLinks Eligibility](https://docs.hatsprotocol.xyz/hats-integrations/eligibility-and-accountability-criteria/colinks-eligibility.md)
- [ERC20 Eligibility](https://docs.hatsprotocol.xyz/hats-integrations/eligibility-and-accountability-criteria/erc20-eligibility.md): Tying hat eligibility to specific ERC20 holdings
- [ERC721 Eligibility](https://docs.hatsprotocol.xyz/hats-integrations/eligibility-and-accountability-criteria/erc721-eligibility.md): Tying hat eligibility to specific ERC721 NFT holdings
- [ERC1155 Eligibility](https://docs.hatsprotocol.xyz/hats-integrations/eligibility-and-accountability-criteria/erc1155-eligibility.md): Tying hat eligibility to specific ERC1155 NFT holdings
- [Hat-Wearing Eligibility](https://docs.hatsprotocol.xyz/hats-integrations/eligibility-and-accountability-criteria/hat-wearing-eligibility.md)
- [Hats Election Eligibility](https://docs.hatsprotocol.xyz/hats-integrations/eligibility-and-accountability-criteria/hats-election-eligibility.md)
- [JokeRace Eligibility](https://docs.hatsprotocol.xyz/hats-integrations/eligibility-and-accountability-criteria/jokerace-eligibility.md): Tying hat eligibility to the results of a JokeRace Contest
- [Pass-Through (Hat-Based) Eligibility](https://docs.hatsprotocol.xyz/hats-integrations/eligibility-and-accountability-criteria/pass-through-hat-based-eligibility.md)
- [Staking Eligibility](https://docs.hatsprotocol.xyz/hats-integrations/eligibility-and-accountability-criteria/staking-eligibility.md): Tying hat eligibility to staking criteria
- [Subscription or Membership Fee (Unlock Protocol)](https://docs.hatsprotocol.xyz/hats-integrations/eligibility-and-accountability-criteria/subscription-or-membership-fee-unlock-protocol.md): Provide subscription- or membership-based access to specific roles and permissions
- [Gitcoin Passport Eligibility](https://docs.hatsprotocol.xyz/hats-integrations/eligibility-and-accountability-criteria/gitcoin-passport-eligibility.md)
- [Activation & Deactivation Criteria](https://docs.hatsprotocol.xyz/hats-integrations/activation-and-deactivation-criteria.md): Activating and deactivating hats
- [Seasonal/ Time-Expiry Toggle](https://docs.hatsprotocol.xyz/hats-integrations/activation-and-deactivation-criteria/seasonal-time-expiry-toggle.md): Making hats automatically expire after a certain period of time, unless they are explicitly renewed
- [Pass-Through (Hat-Based) Toggle](https://docs.hatsprotocol.xyz/hats-integrations/activation-and-deactivation-criteria/pass-through-hat-based-toggle.md)
- [Hatter Modules](https://docs.hatsprotocol.xyz/hats-integrations/hatter-modules.md)
- [Multi Claims Hatter](https://docs.hatsprotocol.xyz/hats-integrations/hatter-modules/making-hats-claimable.md): Making hats claimable with a Multi Claims Hatter contract
- [DAOhaus Moloch v3 Membership & Share Allocation](https://docs.hatsprotocol.xyz/hats-integrations/hatter-modules/daohaus-moloch-v3-membership-and-share-allocation.md): Managing DAOhaus Moloch v3 membership and share allocation using Hats
- [Hats Protocol, for Developers](https://docs.hatsprotocol.xyz/for-developers/hats-protocol-for-developers.md)
- [Hat Properties](https://docs.hatsprotocol.xyz/for-developers/hats-protocol-for-developers/hat-properties.md): The atomic unit of Hats Protocol is a hat.
- [Wearing a Hat](https://docs.hatsprotocol.xyz/for-developers/hats-protocol-for-developers/wearing-a-hat.md): The wearer of a given hat is assigned the responsibilities, authorities, and accountabilities associated with the hat.
- [Hat Admins & Hatter Contracts](https://docs.hatsprotocol.xyz/for-developers/hats-protocol-for-developers/hat-admins-and-hatter-contracts.md)
- [Hats Trees](https://docs.hatsprotocol.xyz/for-developers/hats-protocol-for-developers/hats-trees.md)
- [Hat IDs](https://docs.hatsprotocol.xyz/for-developers/hats-protocol-for-developers/hat-ids.md)
- [Linking Hats Trees](https://docs.hatsprotocol.xyz/for-developers/hats-protocol-for-developers/linking-hats-trees.md)
- [Eligibility Modules](https://docs.hatsprotocol.xyz/for-developers/hats-protocol-for-developers/eligibility-modules.md)
- [Toggle Modules](https://docs.hatsprotocol.xyz/for-developers/hats-protocol-for-developers/toggle-modules.md)
- [Hat Mutability and Editing](https://docs.hatsprotocol.xyz/for-developers/hats-protocol-for-developers/hat-mutability-and-editing.md)
- [Creating Hats](https://docs.hatsprotocol.xyz/for-developers/hats-protocol-for-developers/creating-hats.md)
- [Minting Hats](https://docs.hatsprotocol.xyz/for-developers/hats-protocol-for-developers/minting-hats.md)
- [Transfering Hats](https://docs.hatsprotocol.xyz/for-developers/hats-protocol-for-developers/transfering-hats.md)
- [Renouncing Hats](https://docs.hatsprotocol.xyz/for-developers/hats-protocol-for-developers/renouncing-hats.md)
- [Batch Actions](https://docs.hatsprotocol.xyz/for-developers/hats-protocol-for-developers/batch-actions.md)
- [Hat Image URIs](https://docs.hatsprotocol.xyz/for-developers/hats-protocol-for-developers/hat-image-uris.md)
- [ERC1155 Compatibility](https://docs.hatsprotocol.xyz/for-developers/hats-protocol-for-developers/erc1155-compatibility.md)
- [Supported Chains](https://docs.hatsprotocol.xyz/for-developers/hats-protocol-for-developers/supported-chains.md)
- [v1 Protocol Spec](https://docs.hatsprotocol.xyz/for-developers/v1-protocol-spec.md)
- [Hats.sol](https://docs.hatsprotocol.xyz/for-developers/v1-protocol-spec/hats.sol.md)
- [HatsEvents.sol](https://docs.hatsprotocol.xyz/for-developers/v1-protocol-spec/hatsevents.sol.md)
- [HatsErrors.sol](https://docs.hatsprotocol.xyz/for-developers/v1-protocol-spec/hatserrors.sol.md)
- [HatsIdUtilities.sol](https://docs.hatsprotocol.xyz/for-developers/v1-protocol-spec/hatsidutilities.sol.md)
- [Interfaces](https://docs.hatsprotocol.xyz/for-developers/v1-protocol-spec/interfaces.md)
- [IHats.sol](https://docs.hatsprotocol.xyz/for-developers/v1-protocol-spec/interfaces/ihats.sol.md)
- [IHatsIdUtilities.sol](https://docs.hatsprotocol.xyz/for-developers/v1-protocol-spec/interfaces/ihatsidutilities.sol.md)
- [IHatsEligibility.sol](https://docs.hatsprotocol.xyz/for-developers/v1-protocol-spec/interfaces/ihatseligibility.sol.md)
- [IHatsToggle.sol](https://docs.hatsprotocol.xyz/for-developers/v1-protocol-spec/interfaces/ihatstoggle.sol.md)
- [v1 SDK](https://docs.hatsprotocol.xyz/for-developers/v1-sdk.md)
- [Core](https://docs.hatsprotocol.xyz/for-developers/v1-sdk/core.md)
- [Getting Started](https://docs.hatsprotocol.xyz/for-developers/v1-sdk/core/getting-started.md)
- [Onchain Reads](https://docs.hatsprotocol.xyz/for-developers/v1-sdk/core/onchain-reads.md)
- [Onchain Writes](https://docs.hatsprotocol.xyz/for-developers/v1-sdk/core/onchain-writes.md)
- [Multicall](https://docs.hatsprotocol.xyz/for-developers/v1-sdk/core/multicall.md)
- [Claiming Hats](https://docs.hatsprotocol.xyz/for-developers/v1-sdk/core/claiming-hats.md)
- [Utilities](https://docs.hatsprotocol.xyz/for-developers/v1-sdk/core/hat-and-tree-id-utilities.md)
- [Subgraph](https://docs.hatsprotocol.xyz/for-developers/v1-sdk/subgraph.md)
- [Getting Started](https://docs.hatsprotocol.xyz/for-developers/v1-sdk/subgraph/getting-started.md)
- [Fetching Hats](https://docs.hatsprotocol.xyz/for-developers/v1-sdk/subgraph/fetching-hats.md)
- [Fetching Wearers](https://docs.hatsprotocol.xyz/for-developers/v1-sdk/subgraph/fetching-wearers.md)
- [Fetching Trees](https://docs.hatsprotocol.xyz/for-developers/v1-sdk/subgraph/fetching-trees.md)
- [Misc](https://docs.hatsprotocol.xyz/for-developers/v1-sdk/subgraph/misc.md)
- [Types](https://docs.hatsprotocol.xyz/for-developers/v1-sdk/subgraph/types.md)
- [Hat Details](https://docs.hatsprotocol.xyz/for-developers/v1-sdk/hat-details.md)
- [Getting Started](https://docs.hatsprotocol.xyz/for-developers/v1-sdk/hat-details/getting-started.md)
- [Usage](https://docs.hatsprotocol.xyz/for-developers/v1-sdk/hat-details/usage.md)
- [v1 Subgraphs](https://docs.hatsprotocol.xyz/for-developers/v1-subgraphs.md)
- [Hats Modules](https://docs.hatsprotocol.xyz/for-developers/hats-modules.md)
- [Modules SDK](https://docs.hatsprotocol.xyz/for-developers/hats-modules/modules-sdk.md)
- [Getting Started](https://docs.hatsprotocol.xyz/for-developers/hats-modules/modules-sdk/getting-started.md)
- [Get Available Modules](https://docs.hatsprotocol.xyz/for-developers/hats-modules/modules-sdk/get-available-modules.md)
- [Create New Instance/s](https://docs.hatsprotocol.xyz/for-developers/hats-modules/modules-sdk/create-new-instance-s.md)
- [Composing Modules](https://docs.hatsprotocol.xyz/for-developers/hats-modules/modules-sdk/composing-modules.md)
- [Interact With Instances](https://docs.hatsprotocol.xyz/for-developers/hats-modules/modules-sdk/interact-with-instances.md)
- [Utilities](https://docs.hatsprotocol.xyz/for-developers/hats-modules/modules-sdk/utilities.md)
- [Types](https://docs.hatsprotocol.xyz/for-developers/hats-modules/modules-sdk/types.md)
- [Building Hats Modules](https://docs.hatsprotocol.xyz/for-developers/hats-modules/building-hats-modules.md)
- [Inside a Hats Module](https://docs.hatsprotocol.xyz/for-developers/hats-modules/building-hats-modules/inside-a-hats-module.md)
- [Immutable Arguments](https://docs.hatsprotocol.xyz/for-developers/hats-modules/building-hats-modules/inside-a-hats-module/immutable-arguments.md)
- [Module Setup](https://docs.hatsprotocol.xyz/for-developers/hats-modules/building-hats-modules/inside-a-hats-module/module-setup.md)
- [Versioning](https://docs.hatsprotocol.xyz/for-developers/hats-modules/building-hats-modules/inside-a-hats-module/versioning.md)
- [Creating New Modules](https://docs.hatsprotocol.xyz/for-developers/hats-modules/building-hats-modules/creating-new-modules.md)
- [How Module Instances Are Deployed](https://docs.hatsprotocol.xyz/for-developers/hats-modules/building-hats-modules/how-module-instances-are-deployed.md)
- [Modules Registry](https://docs.hatsprotocol.xyz/for-developers/hats-modules/building-hats-modules/modules-registry.md)
- [About Module Chains](https://docs.hatsprotocol.xyz/for-developers/hats-modules/building-hats-modules/about-module-chains.md)
- [Hats Signer Gate v2](https://docs.hatsprotocol.xyz/for-developers/hats-signer-gate-v2.md): This page describes the second version of Hats Signer Gate.
- [Hats Signer Gate SDK](https://docs.hatsprotocol.xyz/for-developers/hats-signer-gate-sdk.md)
- [Getting Started](https://docs.hatsprotocol.xyz/for-developers/hats-signer-gate-sdk/getting-started.md)
- [Creating New Instances](https://docs.hatsprotocol.xyz/for-developers/hats-signer-gate-sdk/creating-new-instances.md)
- [Hats Signer Gate](https://docs.hatsprotocol.xyz/for-developers/hats-signer-gate-sdk/hats-signer-gate.md)
- [Multi Hats Signer Gate](https://docs.hatsprotocol.xyz/for-developers/hats-signer-gate-sdk/multi-hats-signer-gate.md)
- [HSG & MHSG Handlers](https://docs.hatsprotocol.xyz/for-developers/hats-signer-gate-sdk/hsg-and-mhsg-handlers.md)
- [Hats Account SDK](https://docs.hatsprotocol.xyz/for-developers/hats-account-sdk.md)
- [1 of N Hats Account](https://docs.hatsprotocol.xyz/for-developers/hats-account-sdk/1-of-n-hats-account.md)
- [Getting Started](https://docs.hatsprotocol.xyz/for-developers/hats-account-sdk/1-of-n-hats-account/getting-started.md)
- [Creating New Instances](https://docs.hatsprotocol.xyz/for-developers/hats-account-sdk/1-of-n-hats-account/creating-new-instances.md)
- [Executing From An Instance](https://docs.hatsprotocol.xyz/for-developers/hats-account-sdk/1-of-n-hats-account/executing-from-an-instance.md)
- [Constants](https://docs.hatsprotocol.xyz/for-developers/hats-account-sdk/1-of-n-hats-account/constants.md)
- [Types](https://docs.hatsprotocol.xyz/for-developers/hats-account-sdk/1-of-n-hats-account/types.md)
- [Hats Security Audits](https://docs.hatsprotocol.xyz/for-developers/hats-security-audits.md)
- [Terms](https://docs.hatsprotocol.xyz/legal/terms.md)
- [Terms of Service](https://docs.hatsprotocol.xyz/legal/terms/terms-of-service.md)
- [Acceptable Use](https://docs.hatsprotocol.xyz/legal/terms/acceptable-use.md)
- [Privacy Policy](https://docs.hatsprotocol.xyz/legal/terms/privacy-policy.md)
- [Cookie Policy](https://docs.hatsprotocol.xyz/legal/terms/cookie-policy.md)
- [Attribution](https://docs.hatsprotocol.xyz/legal/terms/attribution.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on a page URL with the `ask` query parameter:

```
GET https://docs.hatsprotocol.xyz/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
