Hats Account

How to give every hat a wallet


Hats Account gives every Hats Protocol hat a smart contract account, following the ERC-6551 standard. A Hats Account instance is only controlled by the current wearers of its hat.

By Using Hats Account, DAOs are able to delegate certain authorities to predefined roles rather than directly to individuals/groups. Then, individuals/groups that hold these roles can access these authorities, while staying accountable to the DAO.

A Hats Account can perform any operations that EOAs or other smart contract accounts can, for example:

  • Send/receive ETH, ERC20, ERC721 and/or ERC1155 tokens

  • Become a member of a DAO and make and/or vote on proposals, e.g. in a Moloch DAO

  • Be assigned permissions in address-based onchain access control schemes, e.g. via Zodiac or OpenZeppelin access control contracts.

  • Call functions on any other contracts

Using Hats Account

A Hats Account instance address is deterministically determined by the hat it is tied to. This fact allows using the account even before it was deployed, e.g. setting up permissions or sending tokens to it.

To deploy the account:

  1. Select the hat you want to deploy the account for

  2. Select the Hats Account authority card

  1. Select "Deploy" in order to create the Hats Account instance, or "Got to HatsWallet" in order to view its address on a blockchain explorer.

Last updated