{
  "$schema": "https://degreesofsatoshi.com/encyclopedia/schemas/article-v1.json",
  "schemaVersion": "1.0.0",
  "id": "nft-royalties",
  "canonical": "https://degreesofsatoshi.com/encyclopedia/nft-royalties/",
  "collection": "ethereum",
  "title": "NFT royalties: what ERC-2981 specifies and what it does not enforce",
  "description": "Understand what ERC-2981 reports, how a royalty amount is calculated and why the standard alone does not enforce payment.",
  "aliases": [
    "NFT royalties ERC2981",
    "are NFT royalties enforced"
  ],
  "dates": {
    "published": "2026-10-02",
    "modified": "2026-10-02",
    "verified": "2026-10-02T19:27:58.939Z",
    "dataAsOf": "2026-10-02"
  },
  "authorship": {
    "publisher": "Degrees of Satoshi editorial project",
    "process": "AI-assisted research and drafting with a separate automated source-verification pass; no external expert or named human review is implied."
  },
  "quickAnswer": {
    "text": "ERC-2981 lets an NFT contract report a royalty recipient and amount for a given sale price. It standardizes royalty information, not automatic payment on every transfer. A marketplace or other seller must implement the payment behavior; an ordinary token transfer does not reveal whether a sale occurred or what its price was.",
    "claimId": "nft-royalties-quick-answer",
    "sourceIds": [
      "x425-eth-erc2981"
    ]
  },
  "keyFacts": [
    {
      "label": "Query",
      "value": "royaltyInfo returns a recipient and calculated amount.",
      "sourceIds": [
        "x425-eth-erc2981"
      ],
      "id": "query",
      "claimId": "nft-royalties-fact-query"
    },
    {
      "label": "Units",
      "value": "The royalty amount uses the same monetary unit as the supplied sale price.",
      "sourceIds": [
        "x425-eth-erc2981"
      ],
      "id": "units",
      "claimId": "nft-royalties-fact-units"
    },
    {
      "label": "Enforcement",
      "value": "ERC-2981 itself does not force marketplaces to pay.",
      "sourceIds": [
        "x425-eth-erc2981"
      ],
      "id": "enforcement",
      "claimId": "nft-royalties-fact-enforcement"
    }
  ],
  "prerequisites": [
    "erc-721-nfts"
  ],
  "sections": [
    {
      "id": "information",
      "heading": "The contract provides a payment instruction",
      "sourceIds": [
        "x425-eth-erc2981"
      ],
      "paragraphs": [
        "A marketplace supplies the token ID and sale price to royaltyInfo and uses the response to determine the requested royalty. The interface does not itself transfer funds to the recipient.",
        "A transfer between two wallets might be a gift, custody move or sale. That is why a generic transfer method cannot infer the sale price required for a percentage royalty."
      ]
    },
    {
      "id": "example",
      "heading": "Keep the royalty in the sale-price currency",
      "sourceIds": [
        "x425-eth-erc2981"
      ],
      "paragraphs": [
        "Assume a contract reports a 5% royalty. For a hypothetical sale of 2 ETH, the amount is 0.1 ETH. For a sale priced at 200 units of another currency, it is 10 units of that currency, not 10 ETH.",
        "The implementation may use a royalty percentage that changes under its rules. Query the relevant token and sale context rather than assuming an earlier displayed percentage is permanent."
      ]
    },
    {
      "id": "limits",
      "heading": "An advertised royalty and a paid royalty are separate facts",
      "sourceIds": [
        "x425-eth-erc2981"
      ],
      "paragraphs": [
        "Standard support shows that royalty information can be requested. To establish that a particular sale paid it, inspect the marketplace’s payment implementation and the actual transfers.",
        "Collections can use additional restrictions or marketplace arrangements, but those are separate designs. Do not attribute their enforcement guarantees to ERC-2981 alone."
      ]
    }
  ],
  "faq": [
    {
      "question": "Does every wallet-to-wallet NFT transfer owe an automatic royalty?",
      "answer": "ERC-2981 does not impose an automatic charge on transfers. It reports sale-related royalty information for participants that implement payment.",
      "sourceIds": [
        "x425-eth-erc2981"
      ]
    },
    {
      "question": "Can a marketplace ignore the royalty information?",
      "answer": "The standard alone cannot force a payment. Its specification describes voluntary adoption by marketplaces and other sale participants.",
      "sourceIds": [
        "x425-eth-erc2981"
      ]
    }
  ],
  "claims": [
    {
      "id": "nft-royalties-quick-answer",
      "articleSlug": "nft-royalties",
      "statement": "ERC-2981 lets an NFT contract report a royalty recipient and amount for a given sale price. It standardizes royalty information, not automatic payment on every transfer. A marketplace or other seller must implement the payment behavior; an ordinary token transfer does not reveal whether a sale occurred or what its price was.",
      "sourceIds": [
        "source-60a18e2fb1fc4fbb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-60a18e2fb1fc4fbb",
          "locator": "Abstract; royaltyInfo; specification; voluntary payments"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read ERC2981 Specification/royaltyInfo and voluntaryadoption language.5percentof2ETH=.1ETH;5percentof200units=10units. Samecurrency required,percentagecanvarybyvalidcontractrules. Reportingnotuniversal enforcement."
        ]
      }
    },
    {
      "id": "nft-royalties-fact-query",
      "articleSlug": "nft-royalties",
      "statement": "Query: royaltyInfo returns a recipient and calculated amount.",
      "sourceIds": [
        "source-60a18e2fb1fc4fbb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-60a18e2fb1fc4fbb",
          "locator": "Abstract; royaltyInfo; specification; voluntary payments"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read ERC2981 Specification/royaltyInfo and voluntaryadoption language.5percentof2ETH=.1ETH;5percentof200units=10units. Samecurrency required,percentagecanvarybyvalidcontractrules. Reportingnotuniversal enforcement."
        ]
      }
    },
    {
      "id": "nft-royalties-fact-units",
      "articleSlug": "nft-royalties",
      "statement": "Units: The royalty amount uses the same monetary unit as the supplied sale price.",
      "sourceIds": [
        "source-60a18e2fb1fc4fbb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-60a18e2fb1fc4fbb",
          "locator": "Abstract; royaltyInfo; specification; voluntary payments"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read ERC2981 Specification/royaltyInfo and voluntaryadoption language.5percentof2ETH=.1ETH;5percentof200units=10units. Samecurrency required,percentagecanvarybyvalidcontractrules. Reportingnotuniversal enforcement."
        ]
      }
    },
    {
      "id": "nft-royalties-fact-enforcement",
      "articleSlug": "nft-royalties",
      "statement": "Enforcement: ERC-2981 itself does not force marketplaces to pay.",
      "sourceIds": [
        "source-60a18e2fb1fc4fbb"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-60a18e2fb1fc4fbb",
          "locator": "Abstract; royaltyInfo; specification; voluntary payments"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": "2026-10-02",
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T19:27:58.939Z",
        "reviewer": "Independent automated verification agent verify_bitcoin_stablecoins_100",
        "notes": [
          "Read ERC2981 Specification/royaltyInfo and voluntaryadoption language.5percentof2ETH=.1ETH;5percentof200units=10units. Samecurrency required,percentagecanvarybyvalidcontractrules. Reportingnotuniversal enforcement."
        ]
      }
    }
  ],
  "sources": [
    {
      "id": "x425-eth-erc2981",
      "label": "NFT royalty standard",
      "publisher": "Ethereum Improvement Proposals",
      "url": "https://eips.ethereum.org/EIPS/eip-2981",
      "locator": "Abstract; royaltyInfo; specification; voluntary payments",
      "note": "Royalty information calculation in sale-price units does not enforce marketplace payment.",
      "version": "ERC-2981",
      "checkedAt": "2026-10-02T18:55:25.506Z",
      "contentSha256": "683728beef00d1d8122451b082ba5d89efb1fcf39ef93d4992668e2e299b1b63",
      "recordId": "source-60a18e2fb1fc4fbb"
    }
  ],
  "related": {
    "articles": [
      "erc-721-nfts",
      "erc-1155-multi-tokens",
      "smart-contract-events",
      "nft-listings-and-offers",
      "nft-burning"
    ],
    "dossiers": [],
    "wallets": []
  },
  "revisionHistory": [
    {
      "date": "2026-10-02",
      "kind": "published",
      "summary": "First publication after primary-source research and separate automated verification."
    }
  ],
  "citation": "Degrees of Satoshi editorial project. “NFT royalties: what ERC-2981 specifies and what it does not enforce.” Published 2026-10-02; updated 2026-10-02. https://degreesofsatoshi.com/encyclopedia/nft-royalties/"
}
