How are royalties implemented?

The main on-chain implementation of royalties is ERC2981. ERC2981 is a standard that advises on a particular amount royaltyAmount and royalty receiver address receiver given a tokenId and overall salePrice. (https://eips.ethereum.org/EIPS/eip-2981) For example, to say that royalties are 1% would be to input 10000 in salePrice and get 100 as the royaltyAmount

Other royalties numbers can be off-chain by collection owners on third party websites such as Opensea or Looksrare, but can only be gotten periodically and thus done on a error-prone best effort basis.

The advisory nature of ERC2981 makes it an incomplete solution. As the most widely adopted royalty standard at the moment, we integrate with it in a nuanced way: We use the derived royalty percentage as an override, while in order to prevent pool creators from siphoning off royalties from NFT collections maliciously, we allow royaltyRecipient to be set as a fallback, a place to be sent if the receiver is not set to any value, as per ERC2981

Last updated

Logo

© 2023 Collection. All rights reserved