Skip to content
  1. Home
  2. ERC Standards
  3. ERC Standards
  4. ERC-2981 Explained: The NFT Royalty Standard and Its Limits
ERC Standards

ERC-2981 Explained: The NFT Royalty Standard and Its Limits

ERC-2981 lets an NFT tell marketplaces who should receive royalties and how much. Learn how royalty info works, why payment is voluntary, and how to use it for creators and licensed assets.

NUVZ Tokenization Team Updated 4 min read Technically reviewed

ERC-2981 is a simple standard that lets an NFT contract answer one question: “If this token sells for X, who should receive a royalty and how much?” It exposes a single function, royaltyInfo(tokenId, salePrice), that marketplaces can call to calculate and pay royalties to creators or rights holders. It is widely supported, but it does not force payment — marketplaces decide whether to honour it.

Key takeaways

  • One function: royaltyInfo(tokenId, salePrice) → (receiver, royaltyAmount).
  • Works with both ERC-721 and ERC-1155, detected through ERC-165.
  • Royalties are signalled, not enforced — payment depends on marketplace policy.
  • For enforceable revenue sharing on real-world assets, put the economics in the asset’s legal structure and smart-contract distributions, not only in ERC-2981.

How it works

function royaltyInfo(uint256 tokenId, uint256 salePrice)
    external view returns (address receiver, uint256 royaltyAmount);

The contract typically stores a default royalty (e.g. 5% to the creator) and optional per-token overrides. Royalties are usually expressed in basis points; the amount returned is in the same unit as salePrice, so it works for any payment currency.

Why enforcement is hard

ERC-2981 cannot see sales — NFT transfers do not carry price information. A marketplace (or OTC buyer) that ignores royalties can simply transfer the token. Approaches to improve enforcement include:

  • Operator filtering — blocking transfers via marketplaces that do not pay royalties (controversial, can harm liquidity).
  • Sales via your own marketplace contract that pays royalties atomically.
  • Transfer fees in the token itself (changes token behaviour and may break integrations).
  • Legal agreements for licensed or institutional assets.
Turn this into a working platformFrom smart contracts and investor onboarding to marketplaces and income distribution, NUVZ builds the full tokenization stack.
Chat with an expert

Use cases

  • Digital art and collectibles — the original purpose.
  • Music and media rights — royalties flowing to artists, labels and rights holders on resale.
  • Licensed brand assets — brand owners earn on secondary trading of licensed digital goods.
  • Gaming items — studios earn when players trade items. See our Web3 development services.

ERC-2981 and real-world assets

For tokenized RWAs, “royalties” are usually something else: management fees, performance fees, platform fees or income distributions. These belong in the issuance terms and are better handled by distribution contracts — like the fee and income distribution logic on our real estate platform — or by transfer-fee compliance modules in permissioned tokens. ERC-2981 can still signal a platform fee to marketplaces, but should not be the only mechanism.

Implementation tips

  • Use a well-audited base implementation and set a sensible cap on royalty percentage.
  • Make the receiver a splitter contract if several parties share royalties.
  • Keep royalty configuration changes behind multisig and emit events.
  • Advertise support through supportsInterface.

Example implementation

// Illustrative: ERC-721 with ERC-2981 royalties — not audited.
contract LicensedAsset is ERC721, ERC2981, AccessControl {
    constructor(address royaltyReceiver) ERC721("Licensed Asset", "LIC") {
        _setDefaultRoyalty(royaltyReceiver, 500); // 5.00% in basis points
    }
    function setTokenRoyalty(uint256 id, address r, uint96 bps) external onlyRole(DEFAULT_ADMIN_ROLE) {
        require(bps <= 1000, "max 10%");
        _setTokenRoyalty(id, r, bps);
    }
    function supportsInterface(bytes4 i) public view override(ERC721, ERC2981, AccessControl) returns (bool) {
        return super.supportsInterface(i);
    }
}

Royalty splits

When several parties share revenue — an artist, a label and a platform — set the receiver to a payment-splitter contract. The splitter holds incoming royalties and lets each party withdraw its share. This keeps the token simple and makes changes (e.g. a rights transfer) a governance action on the splitter rather than the NFT.

Designing a royalty policy

  • Rate: keep it reasonable; high royalties suppress secondary trading.
  • Scope: decide whether royalties apply to all sales or only above a threshold.
  • Changes: document whether and how rates can change, and by whom.
  • Marketplace strategy: prioritise marketplaces that honour royalties, or run your own sale contract that pays them atomically.

Royalties versus revenue rights

A royalty on secondary NFT sales is different from a right to the asset’s ongoing revenue (e.g. streaming income). The latter is usually a financial right — potentially a security — and belongs in a properly structured token with distribution contracts. See what is RWA tokenization.

Frequently asked questions

No. The standard provides information; marketplaces choose whether to pay.

Yes. It is token-standard agnostic and works with ERC-721 and ERC-1155.

Yes — set the receiver to a payment-splitter contract that divides incoming royalties.

Only as a signal. Enforce fees through issuance terms, distribution contracts or compliance modules.

The same unit as the salePrice passed in — marketplaces pass the price in their payment currency.

Yes, if the contract allows it. Changes should be restricted and transparent.

Written by the NUVZ Tokenization Team

NUVZ is the RWA and Web3 engineering brand of ESS ENN Associates (est. 1993). Our team has designed and shipped tokenization platforms for real estate, education loans, solar PPAs, energy, carbon credits, bank deposits and trade documents. About us · Case studies

This article is for general information only and is not legal, tax or investment advice. Token standards evolve — always confirm the current status of an ERC at eips.ethereum.org and take advice from qualified counsel in each jurisdiction before issuing tokens.

Keep reading

Related guides

All insights →

Get Expert Advice on Your Token Design

Questions about this standard or your own tokenization use case? Send us a note. A NUVZ engineer will reply within one business day.

Prefer a call? Pick a 30-minute slot with our team.

Book a 30-min expert call
  • Mutual NDA available before you share details
  • Reply within one business day
  • Your data is used only to answer your enquiry

Protected against spam. We never sell or share your data with third parties for marketing.

Chat with our experts