For the complete documentation index, see llms.txt. This page is also available as Markdown.

Royalties

Royalties are enforced on liquidity pools at the contract level. Royalties are automatically enabled for collections implementing the ERC2981 royalty standard.

Royalty Engine

The RoyaltyEngine contract is a fork of the Royalty Engine created by Manifold as part of the Royalty Registry initiative. This contract determines the provisional value of royalties due for a swap of given value and the address that should receive them. If a collection implements ERC2981, the RoyaltyEngine retrieves royalty information from the collection contract itself.

Royalty information returned from the engine is used in the _calculateRoyalties function on pair contracts, which is called internally by all swap methods, unless:

  • The royalty exceeds the sale price, in which case no royalty is applied.

  • A Setting is in place for the pool.

When a Setting is in place for a given pair, the _calculateRoyalties function will overwrite the royalty value returned by the RoyaltyEngine using the getFeeSplitBps view on the Setting contract.

Last updated