Opensea

Opensea royalties can be enforced through ERC721-C compatible contracts

Updated -

Opensea royalties are payments to a collection’s designated payout address, calculated as a percentage of an NFT’s resale price. Sellers choose whether to pay optional earnings. With enforcement enabled, ERC721-C or ERC1155-C compatible contracts let the marketplace check royalty conditions before the NFT transfer completes.

In short: Enabling transfer-based royalty enforcement can restrict the marketplaces that are able to settle sales of a collection’s NFTs.

The royalty percentage and payout address

The configured percentage determines the creator payment calculated from the sale price, and the recipient address determines its destination. Creator earnings scale with the sale price, so the calculation does not track the seller’s profit or original purchase cost. Enforced earnings can apply even when the seller resells below their original purchase price. The collection owner sets the payout address and preferred rate in Creator Earnings. Those fields specify a payment request; they do not establish whether that request is mandatory. Enforcement depends on the collection’s contract configuration.

Opensea also uses the Royalty Registry for creator-earnings configuration. That supplies royalty information; mandatory payment requires the separate enforcement mechanism.


How does ERC721-C enforce creator payments?

ERC721-C enforcement connects the NFT contract’s transfer validator with Seaport order checks that require the configured creator payments. Seaport 1.6 introduced hooks that let validation contracts participate during order fulfillment, including a zone acting as an authorizer. The SignedZone calls the configured registry around the NFT transfer, temporarily authorizing the operator, token identifier, or a specified quantity of that token.

The NFT contract checks that authorization when its transfer logic calls the registry. Missing authorization causes the transfer to revert, blocking that noncompliant settlement.

These checks run during the sale’s settlement transaction, without requiring a separate royalty payment afterward. Restricted Seaport orders supply the zone and authorization data that this integration requires. The marketplace supplies the required signed authorization data as part of order fulfillment.

Contract eligibility and activation in Studio

A collection needs compatible transfer-validation logic before its owner can activate this enforcement method in Studio. Entering a percentage cannot add missing contract functionality. An upgradeable custom contract may gain compatibility through a suitable upgrade. The Initializable variants in Limit Break’s creator-token library target minimal-proxy clones. That label does not establish compatibility with an upgradeable proxy or its storage layout.

Studio deployment timing

Studio contracts deployed after 10:00 a.m. Pacific Time on April 2, 2024, support earnings enforcement. Contracts deployed before that cutoff support optional earnings through their existing configuration. This boundary concerns the deployment of the smart contract, not the date of a later listing or resale.

Custom contract compatibility

The token’s validation interface

Compatible custom contracts expose the ICreatorToken interface and call the assigned validator from their token-transfer logic. That interface lets the contract identify and update its transfer validator. Opensea supports both ERC721-C and ERC1155-C enforcement. ERC-721 identifies individual NFTs, while ERC-1155 transfers can include a quantity for a token identifier. Amount-aware validation can authorize that quantity and reduce the remaining transferable allowance. It prevents the transfer from exceeding the amount that the registry permits.

The active validator

The owner activates enforcement through the Creator Earnings settings, and activation can replace the collection’s previous validator with the supported registry. Custom lists and security policies from the previous validator need reconfiguration in the new registry. This change can affect existing transfer restrictions.

Optional payments, royalty reporting, and enforcement

Optional creator earnings, ERC-2981 reporting, and transfer-based enforcement describe different parts of an NFT sale. Optional earnings give the seller a payment choice, while a royalty interface supplies the amount and destination for a given NFT and sale price. Transfer enforcement adds a condition that settlement must satisfy. A collection can report royalty information through ERC-2981 and enforce its trading rules through a transfer validator.

Illustration: Opensea royalties - Optional payments, royalty reporting, and enforcement

Optional payments, royalty reporting, and enforcement

Optional creator earnings, ERC-2981 reporting, and transfer-based enforcement describe different parts of an NFT sale. Optional earnings give the seller a payment choice, while a royalty interface supplies the amount and destination for a given NFT and sale price. Transfer enforcement adds a condition that settlement must satisfy. A collection can report royalty information through ERC-2981 and enforce its trading rules through a transfer validator.

  • Royalty mechanism: Optional creator earnings Effect on a resale: The seller chooses the royalty contribution. Payment or transfer limit: The seller can choose no payment.
  • Royalty mechanism: ERC-2981 reporting Effect on a resale: A query returns the royalty recipient and amount. Payment or transfer limit: The interface alone does not transfer payment.
  • Royalty mechanism: ERC721-C or ERC1155-C with enforcement enabled Effect on a resale: Settlement checks authorize the NFT transfer. Payment or transfer limit: Missing required authorization causes the transfer to revert.

ERC-2981 does not itself enforce royalty payments. Its royaltyInfo function returns a recipient address and payment amount for the NFT identifier and sale price. The sale price and royalty amount must use the same currency unit. An implementation can support token-specific royalty settings that override a collection-wide default. A displayed collection percentage therefore does not establish what every token’s contract reports. Retrieving a royalty amount also does not establish that the recipient has received it.

View full-size image

Royalty mechanism Effect on a resale Payment or transfer limit
Optional creator earnings The seller chooses the royalty contribution. The seller can choose no payment.
ERC-2981 reporting A query returns the royalty recipient and amount. The interface alone does not transfer payment.
ERC721-C or ERC1155-C with enforcement enabled Settlement checks authorize the NFT transfer. Missing required authorization causes the transfer to revert.

ERC-2981 does not itself enforce royalty payments. Its royaltyInfo function returns a recipient address and payment amount for the NFT identifier and sale price. The sale price and royalty amount must use the same currency unit. An implementation can support token-specific royalty settings that override a collection-wide default. A displayed collection percentage therefore does not establish what every token’s contract reports. Retrieving a royalty amount also does not establish that the recipient has received it.


Does the buyer pay royalties on top of the item price?

For NFT sales through Seaport on Opensea, included creator earnings come from the item price that the buyer pays. The creator receives that portion, while applicable sale deductions affect the seller’s proceeds. For an Opensea-created Solana listing with creator earnings, the buyer pays them on top of the listed price. When a seller accepts a Solana offer, any creator earnings and the marketplace fee come out of the offer amount, so the buyer’s purchase payment equals the bid. Opensea’s marketplace fee is separate from creator earnings, and network fees cover transaction processing. The royalty percentage does not describe the buyer’s entire network cost or the seller’s final receipt.

Optional collections allow sellers to adjust creator earnings when listing an item or accepting an offer. Enforced collections lock the creator-earnings toggle on, and checkout reflects those earnings. A collection preference describes the requested rate; the sale terms determine the included payment. Enforced creator earnings reach the configured recipient at the time of sale.

When does an enforcement change take effect?

An enforcement change takes effect when the transactions that update the contract’s transfer validator have been mined. The API builds those transactions for the collection owner to sign and send. Building them or approving a request does not, by itself, change the contract. Only the wallet that owns the contract onchain can request those changes, including removing the validator when turning enforcement off. The enforcement-status response separately reports whether the contract supports activation and whether enforcement is active. Neither status establishes a royalty payment for an individual sale.

Visual outline: Opensea royalties: When does an enforcement change take effect?

View full-size image


Marketplace compatibility after enforcement

Transfer-based enforcement can restrict the marketplaces that can settle sales of a collection’s NFTs. Opensea’s supported integration includes marketplaces powered by Limit Break’s Payment Processor. A separate marketplace needs its own creator-earnings configuration; the token’s active security policy governs additional permitted operators or transfer paths. Marketplace display support alone does not establish settlement compatibility. A venue may show an NFT while lacking the authorization that its transfer validator requires.

Changing validators can change those permissions, giving contract-level enforcement a wider effect than a voluntary royalty setting. Optional earnings leave the contribution to the seller without imposing this royalty-enforcement restriction. Enforced earnings condition the permitted settlement path on payment, which can exclude trading integrations that do not meet the collection’s transfer rules.

Visual summary: Marketplace compatibility after enforcement (Opensea royalties)

View full-size image

Before you start with Opensea royalties

What is the maximum creator earnings percentage on Opensea?

Opensea currently caps the creator earnings setting at 10% of the NFT sale price. This is a platform setting limit, not a universal royalty rate. A collection can request a lower percentage, and optional earnings remain subject to the seller’s payment choice.

Can a collection collaborator change the royalty recipient?

Only the collection owner can edit creator-earnings recipient addresses and percentages on Opensea. Collection collaborators can change other collection settings, but their collaborator access does not grant permission to redirect royalty payments.

Why might Opensea apply a lower royalty percentage than the collection requests?

Opensea may match a lower creator-earnings percentage available on another marketplace when a contract configuration would otherwise charge its collectors more. This earnings-matching policy concerns differences across marketplaces. It does not affect a collection that configures the same percentage across those marketplaces, and it does not create a universal minimum royalty.

Is the primary drop payout address the same setting as the resale royalty address?

Primary drop proceeds and resale creator earnings use separate settings. The Drop Earnings section holds the payout address for primary mint sales. The Creator Earnings section sets the royalty recipient and percentage for secondary sales. Even when both use the same address, mint proceeds and resale royalties remain different payment streams.

Does moving an NFT between my own wallets trigger a resale royalty?

Moving an NFT between wallets does not by itself establish a sale or a royalty payment. ERC-2981 reports payment information using a supplied sale price; it does not charge every token transfer. A collection’s transfer validator may still apply restrictions to that movement, independently of whether it represents a paid resale.

What does an empty transaction list mean when enabling royalty enforcement through the API?

An empty transaction list can mean that enforcement already matches the requested state. The API then has no change to build or transaction to send.