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
  • Organizations work better with Hats
  • What is Hats?
  • How Does Hats Work?
  • Create Your Organizational Structure with Hats Protocol
  • Developer Documentation

Welcome to Hats Protocol

Save time, automate onboarding, and manage permissions across the internet with programmable onchain roles

NextGetting Started with Hats

Last updated 7 months ago

Organizations work better with Hats

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.

Quick links:

What is Hats?

Hats is a full-stack solution for organizing onchain. Create your roles onchain to streamline permission management and introduce real accountability for your contributors.

β€” 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 (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.

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.

  • 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.

How Does Hats Work?

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.

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.

Create Your Organizational Structure with Hats Protocol

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.

Developer Documentation

The connections between the nodes of an organizational structure are the admin and accountability relationships between roles. 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.

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.

Of course, it is the 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:

RareDAO is bringing its organizational graph onchain to create committees with accountability increase the efficiency of council transitions.

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 that have been associated with that hat.

The section of these docs is devoted to documentation for Hats usage and setup by hat wearers, governance facilitators, and operations managers.

If you're a developer looking for more technical documentation, including contract functions, SDK details, subgraph information, and integration help, please jump directly to the section of these docs:

πŸ‘‹
Admins
Accountability relationships
permissions
authorities
Using the Hats App
🧒Getting Started with Hats
For Developers
πŸ‘·Hats Protocol, for Developers
Website
Use cases & case studies
App
Foundational vision post
Blog
Join the Hats Community & protoDAO
Roles
agents
See this and other case studies here.