ERC1155 and EIP2981 Royalties - where are the standards heading to?


I am exploring ERC 721 and 1155 with possible EIP 2981 royalties implementation.
I would like to have the opinion of more experienced developers to better understand what can be done and where the standards are heading to.

There are some instances in which a digital assets, let's say a song from a music album, has the necessity of its unique ID in order to be distinguished from the other songs on the same album.

At the same time the author does not want the asset to be sold as an individual NFT but rather as a token with limited supply.

For this it would make sense to mint the album in batch as per OZ 1155: every song has its own ID and supply amount.

Several developers are trying to extend this with EIP2981, adding two arrays to define ONE address for every token ID and their relative % of royalties, hopefully to be received on compliant secondary sales.

Unfortunately it is very likely that a digital asset (like the above mentioned song) has more than one author who would like to receive royalties on secondary sales and a one-to-one relationship between the token ID and address of the royalty owner is not enough.

For this I have also seen a possible implementation of FNFT, with ERC721 for the type of token and ERC20 to introduce fractional ownership of the NFT.

This would solve the one-to-one issue and it would be possible to identify multiple royalty owners for a digital asset... but it would also introduce another problem: the fans who buy tokens would be identified as partial owners as well, possibly set to receive royalties that should only go to the actual authors.

As I find the FNFT (ERC721+ERC20) not viable in this instance, are you aware of any other solution being explored to identify and differentiate between the multiple creators of an asset and the current owners?

Additionally, is the EIP2981 actually excluding the possibility to implement an array of addresses to receive royalties for one token ID?

Thank you for your replies,


I'd assume the cleanest, most efficient approach is an ERC 1155 with an EIP 2981 that points to a different payment splitter for each tokenID.

Then, you'd just need to find an efficient way to add a new splitter address for each new tokenID.

1 Like

anyone found a way to add new splitters?