Factory for ongoing revenue sharing, using Superfluid IDA, storing data on IPFS.
This project has 2 parts: a Royalty Payment splitter and an NFT minter. Users create a new ERC777 token, whose tokens act as shares. When this contract recieves royalty payments, they are split and distributed to tokenholders, proportional to their holdings. Users can then mint an NFT, specifying a royalty sell-on percentage. When this NFT is sold on marketplaces implementing ERC2981, the fee is sent to the royalty payment splitter, where it is distributed to holders. These holders are free to trade their shares with others. A great use-case for this is Ticketing. Ticket resales often do not benefit the primary seller, but with this, they are able to recieve sell-on royalties, and have them distributed to stakeholders without first being held by any one party.
The royalty payment splitter (created by a factory) receives tokens via the ERC777 tokensRecieved hook, and disburses these to tokenholders using a SuperFluid IDA. The shares of the IDA are represented by tokens managed by this contract. NFTs are stored using Protocol Labs' NFT.Storage, and the whole frontend is hosted on IPFS, so users can ensure their created tokens and the tools to interact with them are always available.