A "Registry" functions as a primary directory/storage for the global states of Story Protocol. Unlike IPAccounts, which manage the state of specific IPs, a Registry oversees the broader states of the protocol.

Types of Registries

IPAsset Registry: This registry is pivotal for registering IPs into the protocol. It deploys a dedicated IPAccount contract for each new IP registered on the protocol. (NOTE: Inherits from IPAccount Registry.)

Because the IPA Registry is fully permission-less, you can also register directly to it as well. The only caveat is that it won't bundle license registration or add custom metadata for you. You will have to do that as an extra step yourself. This is because the IP Asset registry is only responsible for holding the canonical IP metadata. Licenses are added via the licensing module, whereas custom metadata is added to the IP resolver that gets bound to the record. As such, we recommend direct registrations for power users who are looking to build something more customizable.

Module Registry: This registry maintains and updates the global list of modules and hooks registered permissionlessly on Story Protocol. It can enable/disable modules on a per-IPAccount basis for granular control over each IPAccount's interaction with modules and hooks.

License Registry: This registry stores all license-related states within the protocol. Read more here