👥 Grouping Module

The Grouping Module enables the creation and management of group IP Assets, supporting a royalty pool for the group.

Registration

Similar to the IP Asset registration process, in which you must have a minted NFT to register and then an IP Account is created, the same applies to Group IP Assets. You must have a minted ERC-721 NFT (that represents the ownership of the group) to register as a group, and then an IP Account for the group is deployed.

Anyone can create a new group.

Group IP Asset Registry

The Group's IP Account will be deployed and registered through the Group IP Asset Registry, which is responsible for managing the registration and tracking of Group IP Assets, including the group members and reward pools.

Group License Terms

Group IP Assets all share the same license. If an IPA already has a license attached, it can be added to a group so long as it has the exact same terms. If no license terms are attached, then it can also be added.

The Group's IP Account

The Group IP Account should function equivalently to a normal IP Account, allowing attachment of license terms, creation of derivatives, execution with modules, and other interactions. It also has the same common interface of IP Account. Hence, the Group IP Account can be applied to anywhere where IP Account can be applied.

Besides the common interfaces of IP Account, the Group IP Account has functions to manage the individual IP Account in the group.

A Group IP Account can be composed of both individual IP Accounts and other Group IPAccounts.

Adding & Removing from a Group

Only the owner of a group can add/remove IP Assets or other Groups to it. You do not have to own an IP Asset or Group to add them to your group.

GroupingModule.sol

🗒️

Contract

View the smart contract here.

GroupingModule.sol is the main entry point for the grouping workflows. It is stateless and responsible for:

  • Registering a new group
  • Adding an IPA to a group
  • Removing an IPA from a group
  • Checking whether a group contains a specific IPA
  • Get total number of IPAs of a group