NFTs Royalty Pallet

@AlexD10S and I have been building a pallet for NFT royalties. This pallet couples with the already existing NFTs pallet that is live on Asset Hub.

You can find our work here:

We would like to get feedback from the community on what they would like to see as nice-to-have features around the concept of NFT royalties that could be added into this pallet.

Features that are already included:

  • Setting a royalty percentage
  • Allowing for multiple royalty recipients
  • Setting a royalty percentage per recipient

An example of setting the NFT royalty in the Royalties pallet code:

NftsRoyalty::set_item_royalty(
	RuntimeOrigin::signed(account(1)),
	0,
	mint_id,
	Permill::from_percent(5),
	vec![
		RoyaltyDetails {
			royalty_recipient: account(1),
			royalty_recipient_percentage: Permill::from_percent(25),
		},
		RoyaltyDetails {
			royalty_recipient: account(2),
			royalty_recipient_percentage: Permill::from_percent(25),
		},
		RoyaltyDetails {
			royalty_recipient: account(3),
			royalty_recipient_percentage: Permill::from_percent(25),
		}
	]
)

In order to prevent bypassing of royalties, the NFT is locked once the royalty is set, the Royalty pallet has a buy extrinsic that handles all the royalty logic within.

Looking forward to feedback from the community.

6 Likes

I would like to see opt-in royalties.

The reason for that is not all artists/buyers seem to have equal views on those royalties, and some prefer to go w/o royalties.

Yet transforming it into tips as those resale fees.

OpenSea, the biggest NFT marketplace still fully enforcing royalty fees, said today that it plans to stop the mandatory collection of resale fees for artists. Starting March 2024, those fees will essentially be tips — an optional percentage of a sale price that sellers can choose to give the original artist. If the seller doesn’t want to hand over any money, that’ll be their choice.

1 Like

Thanks for the feedback. Right now is up to the creator who decides if he wants to set royalties at item level or not.
As you suggested, I think is a great idea to add the opt-in functionality and let the creator decide whether the royalties are optional. However I believe this has to be decided by the creator (artist) and not by the buyers.