# Hats Modules

A Hats Module is any contract that serves as an [Eligibility module](/for-developers/hats-protocol-for-developers/eligibility-modules.md), a [Toggle module](/for-developers/hats-protocol-for-developers/toggle-modules.md), and/or a [Hatter contract](/for-developers/hats-protocol-for-developers/hat-admins-and-hatter-contracts.md#hatter-contracts). 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.&#x20;

### Building with Modules

Open-source developers, modules are for you! They are where you can express your creativity and ingenuity to bring new ideas into reality quickly.

There are two primary ways for developers to work with Hats Modules. Whether you're [building new modules](/for-developers/hats-modules/building-hats-modules.md) or using the [Modules SDK](/for-developers/hats-modules/modules-sdk.md) to interact with or build applications for existing modules, we have a number of developer tools to make your job easier.

{% content-ref url="/pages/GI7qObXo0NHZzaQze9mo" %}
[Modules SDK](/for-developers/hats-modules/modules-sdk.md)
{% endcontent-ref %}

{% content-ref url="/pages/i1sReAXPWalCcwOplajX" %}
[Building Hats Modules](/for-developers/hats-modules/building-hats-modules.md)
{% endcontent-ref %}


---

# 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/hats-modules.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.
