Rarible Multichain Protocol supports several types of royalties:

  • RoyaltiesV1 — defines an interface to query royalties from a contract. This interface has 2 functions: getFeeRecipients and getFeeBps. This is the first version of the Rarible Royalties standard. v2 is preferable now
  • RoyaltiesV2 — also defined an interface to query royalties from a contract. It has only 1 function and it's easier to use than v1 and more effective (as it requires only one external call instead of 2)
  • EIP-2981 — allows contracts, such as NFTs that support ERC-721 and ERC-1155 interfaces, to signal a royalty amount to be paid to the NFT creator or rights holder every time the NFT is sold or re-sold. This interface solves pretty the same goal, but it doesn't support multiple royalty receivers

Exchange contract queries royalties from contracts which support these standards and automatically pays them to creators