πWelcome to Hats Protocol
Save time, automate onboarding, and make better decisions with programmable onchain roles
Last updated
Save time, automate onboarding, and make better decisions with programmable onchain roles
Last updated
Hats turns organizations into a digital object, ready to be programmed. All of the properties of your organization and its individual roles and permissions can now be automated, just like any other software system.
At Hats Protocol, we are building public infrastructure for the next era of humanity. Here's an overview of what Hats is and how it works.
Hats is a full-stack solution for organizing onchain. Create your roles onchain to streamline permission management and introduce real accountability for your contributors.
Roles β which we call βhatsβ β are rich objects that conform to the ERC-1155 standard and that bundle responsibilities, permissions, and incentives. They are represented as tokens, which are held by agents (Ethereum accounts). Because of the flexibility of accounts in the EVM, they can easily be controlled by individuals, groups, DAOs, smart accounts, or AI agents, with any decision-making structure you can think of onchain.
The connections between the nodes of an organizational structure are the admin and accountability relationships between roles. Admins get certain in-protocol permissions, like being able to create new roles, select which agents will get each role, and modify the permissions delegated to a role so the agent can accomplish its responsibilities.
Accountability relationships make it possible for any agent in the organization to hold the responsibility for evaluating and aligning another agentβs performance. They can revoke hats that are misused or no longer needed.
In Hats Protocol, all of these interfaces are extensible by developers. Organizations can easily automate the granting and revoking of roles, admin relationships, and accountability using any criteria or logic. Hats ecosystem developers have already created over 15 automations that organizations can plug into their graphs without writing any code.
Of course, it is the permissions delegated to a hat that make it powerful. Specifically, weβve seen that there are a few categories of permissions that are particularly important for organizational operations:
Control of funds, operational budgets, and compensations streams
Ownership or voting power in domain-specific decisions
Access to data, communication channels, and workspaces
Ability to modify, publish, and execute code
Identity that you can use to represent the organization in other contexts
Organizational efficiency is a function of pushing both decision-making and execution as close to the edges of the organization as possible. Hats enables this for onchain organizations, making it possible to get things done even with a widely distributed set of owners and stakeholders.
Hats are programmable, revocable, and legible roles, which can be collectively controlled by the wearer of the "Top Hat", which could be an individual or a group, such as an organization. Hat-based roles can be flexibly imbued with responsibilities, authorities, accountabilities, context, and more.
Hats are represented onchain by tokens that conform to the ERC-1155 standard. They are connected together in a tree structure (aka a "Hats tree") to create flexible organizational structures that are controlled by an organization or its designees, which can then be visualized in any Hats front-end.
Hats tokens can be held by any address including an EOA, multisig, or contract. When an address has a balance of 1 of a given Hats token, it is considered a "wearer" of that "hat". Then, by way of various integrations and token-gates, that address is granted the authorities that have been associated with that hat.
Each hat can have any number of wearers up to the hatβs max supply. Hats are granted and revoked by the organization, or agents/smart contracts that are designated by the org. Wearers can renounce a hat, but they cannot transfer it.
The Using the Hats App section of these docs is devoted to documentation for Hats usage and setup by hat wearers, governance facilitators, and operations managers.
In these pages, we emphasize the usage of the first front-end built by Haberdasher Labs for this purpose, but recognize that there will be many apps that are able to interact with Hats Protocol in our open-source ecosystem.
π§’Getting Started with HatsIf you're a developer looking for more technical documentation, including contract functions, SDK details, subgraph information, and integration help, please jump directly to the For Developers section of these docs:
π·Hats Protocol, for Developers