# For Developers

- [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)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

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

```
GET https://docs.hatsprotocol.xyz/for-developers.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.
