{
  "id": 18842381,
  "title": "ERC-2981 in practice: what a 5% royalty actually pays out",
  "url": "https://urgent.news/2026/11/08/erc-2981-in-practice-what-a-5-royalty-actually-pays-out",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-11-08T02:21:28.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/mujin/erc-2981-in-practice-what-a-5-royalty-actually-pays-out-3ock"
  },
  "original_language": "en",
  "account": "An ERC-2981 royalty's payout is determined by the address and amount, which are calculated before the sale through a method called royaltyInfo. This function takes the token ID and sale price as inputs and returns the recipient address and the royalty amount. When a Seaport listing is created, the royaltyInfo function is called before signing the order. The returned royalty amount and recipient are then added to the order's consideration array.\n\nThe seller net amount, after accounting for the marketplace fee and the royalty, can be calculated using the formula: price - royalty - F. Here, 'price' refers to the sale price, 'royalty' is the calculated royalty amount based on a 5% rate, and 'F' represents the marketplace fee. The seller net amount is derived from the seller's startAmount in the consideration array, which is the amount the seller agrees to receive.\n\nWhen using this system, it's important to verify that the royalty consideration in the signed order matches the result of the royaltyInfo function. This involves checking three sources: the direct call to royaltyInfo, the decoded signed Seaport order, and the fulfilled transaction's payment transfers. Any discrepancy between these records indicates a deviation from the standard ERC-2981 royalty payment process.",
  "summary": "How an ERC-2981 royalty actually lands in a sale: in Seaport it is an extra consideration item with a fixed recipient, not a post-hoc transfer ERC-2981 does not transfer a royalty. It answers a question: for this token and sale price, which address should receive the royalty, and how much should it receive? (address receiver, uint256 royaltyAmount) = royaltyInfo(tokenId, salePrice); When I build…",
  "key_points": [
    "ERC-2981 royalty payout calculated via royaltyInfo function.",
    "Seaport listing triggers royaltyInfo before signing order.",
    "Seller net amount = price - royalty - marketplace fee."
  ],
  "editors_take": "Standardizing royalty calculations through the royaltyInfo function ensures that creators receive predictable payouts by integrating specific recipient addresses and amounts directly into the signed marketplace order.",
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}