{"id":"ERC-4910","name":"Royalty Bearing NFT","status":"Final","chain":"both","category":{"id":"nft","name":"NFT Capabilities","description":"What NFTs can do beyond basic ownership"},"journeyStages":[{"id":"management","name":"Asset Management","description":"Managing assets over time"}],"uxImpact":"Hierarchical on-chain royalty distribution — derivative NFTs pay royalties up the ancestry chain automatically. Design implications: show royalty tree visualization (who gets paid from this sale), display ancestor relationships, indicate derivative status, show accumulated royalty earnings. Design decisions: complexity of showing multi-level royalty splits, whether to expose full royalty hierarchy or summarize, handling deep ancestry chains in UI.","hasDetailedContent":true,"content":{"id":"ERC-4910","summary":"ERC-4910 creates a comprehensive on-chain royalty system for NFTs. Unlike ERC-2981 which only provides royalty information, ERC-4910 actually tracks and distributes royalties. It maintains a royalty tree showing who gets paid what, handles multi-level splits (original creator, collaborators, resellers), and enables royalties to be queried, claimed, and even traded as their own assets.","applicability":{"whenToUse":["Your product addresses: eRC-2981 royalties aren't enforced, marketplaces can ignore them.","Your product addresses: no way to split royalties between multiple creators.","The flow should deliver: royalty entitlements tracked on-chain, claimable by rights holders.","You are designing a creator royalty dashboard experience with visible states and recovery paths."],"whenToAvoid":["Show complete breakdown: price + royalties + who receives what.","Prominent \"Claim\" button, notifications when royalties available.","Badge: \"On-chain enforced\" vs \"Marketplace dependent\".","Assets are fungible tokens only with no unique-item semantics."]},"designerTakeaways":["You can design UI that delivers royalty entitlements tracked on-chain.","You can design UI that delivers on-chain royalty tree with automatic distribution.","You can design UI that delivers royalty bearer tokens can be transferred like any asset."],"problemsSolved":[{"problem":"ERC-2981 royalties aren't enforced, marketplaces can ignore them","oldWay":"Marketplace queries royalty info, may or may not pay it","newWay":"Royalty entitlements tracked on-chain, claimable by rights holders","impact":"critical"},{"problem":"No way to split royalties between multiple creators","oldWay":"Single royalty recipient, manual off-chain splitting","newWay":"On-chain royalty tree with automatic distribution","impact":"high"},{"problem":"Royalty rights can't be transferred or traded","oldWay":"Royalties locked to original address forever","newWay":"Royalty bearer tokens can be transferred like any asset","impact":"high"},{"problem":"No transparency on royalty accumulation","oldWay":"Creators don't know what they're owed until payment arrives","newWay":"Query pending royalties anytime, claim when ready","impact":"medium"}],"uxPatterns":[{"name":"Creator Royalty Dashboard","description":"Track all royalties across collections","mockup":"concept/nft-gallery","userFlow":["Creator opens royalty dashboard","See total claimable across all NFTs","View breakdown by collection","See share percentage for each","Claim individual or all at once","Funds transfer to wallet"]},{"name":"Royalty Split Configuration","description":"Set up multi-party royalty distribution","mockup":"generic/vault-deposit","userFlow":["Creator sets total royalty percentage","Add recipients with addresses","Allocate share to each recipient","Visualize distribution","Save configuration on-chain","All parties can claim their share"]},{"name":"Royalty Bearer Token","description":"View and transfer royalty rights","mockup":"concept/tx-status","userFlow":["User holds royalty bearer token","View allocation percentage","See pending and historical earnings","Claim accumulated royalties","Or transfer/sell the rights to someone else","New holder receives future royalties"]},{"name":"Buyer Royalty Transparency","description":"Show buyers where royalties go","mockup":"concept/nft-gallery","userFlow":["Buyer views NFT listing","See complete price breakdown","Royalty recipients shown transparently","Understand where money goes","On-chain enforcement indicator","Complete purchase with confidence"]}],"uiComponents":[{"name":"RoyaltyClaimWidget","description":"Shows claimable royalties with claim action","states":["loading","has-royalties","empty","claiming","claimed"],"props":["balance","collections","onClaim","onClaimAll"]},{"name":"SplitConfigurator","description":"UI for setting up multi-party splits","states":["editing","validating","saving","locked"],"props":["recipients","totalPercentage","onChange","onSave"]},{"name":"RoyaltyTreeView","description":"Visual hierarchy of royalty distribution","states":["collapsed","expanded","loading"],"props":["root","recipients","amounts","depth"]},{"name":"RoyaltyBearerCard","description":"Displays royalty token as tradeable asset","states":["owned","for-sale","pending-claim"],"props":["token","allocation","earnings","onAction"]}],"antiPatterns":[{"pattern":"Not showing royalty split before purchase","why":"Buyers surprised by hidden fees, lose trust","instead":"Show complete breakdown: price + royalties + who receives what","severity":"critical"},{"pattern":"Making royalty claiming complicated","why":"Creators don't claim, lose money","instead":"Prominent \"Claim\" button, notifications when royalties available","severity":"high"},{"pattern":"Hiding that royalty rights can be transferred","why":"Creators don't know they can monetize rights now vs waiting","instead":"Clearly show \"Transfer\" and \"Sell\" options for royalty tokens","severity":"medium"},{"pattern":"No visualization of split percentages","why":"Hard to understand complex multi-party splits","instead":"Use visual bars, charts showing distribution clearly","severity":"medium"},{"pattern":"Not distinguishing enforced vs suggested royalties","why":"Creators think all royalties are enforced when they're not","instead":"Badge: \"On-chain enforced\" vs \"Marketplace dependent\"","severity":"high"}],"onMonad":[{"aspect":"Royalty Distribution Speed","ethereum":"Royalties may take multiple transactions to distribute","monad":"Instant distribution to all parties in split","designImplication":"Real-time royalty updates, no distribution delays"},{"aspect":"Claim Costs","ethereum":"Gas costs may exceed small royalty amounts","monad":"Even tiny royalties worth claiming","designImplication":"Can show \"Claim\" for any amount, not just minimum thresholds"},{"aspect":"Complex Splits","ethereum":"Deep royalty trees expensive to process","monad":"Complex distributions remain cheap","designImplication":"Support more sophisticated revenue sharing models"},{"aspect":"Real-time Tracking","ethereum":"Querying royalty state is slow","monad":"Sub-second queries for balances","designImplication":"Live updating royalty dashboards feasible"}],"keyTakeaways":["ERC-4910 = on-chain tracked and distributed royalties","Supports multi-party splits with visual representation","Royalty rights are tradeable as bearer tokens","Always show buyers the complete royalty breakdown","On Monad: instant distribution, micro-royalties viable"],"technicalNotes":"ERC-4910 extends ERC-721 with royalty tracking infrastructure. It maintains a royalty tree where each node represents a recipient and their percentage. Royalty bearer tokens (RBTs) represent ownership of future royalty payments and can be transferred. The standard defines getRoyalties(), claimRoyalties(), and royaltyBalanceOf() for comprehensive royalty management."},"sources":[{"label":"Official specification","url":"https://eips.ethereum.org/EIPS/eip-4910","type":"official-spec"},{"label":"Discussion","url":"https://ethereum-magicians.org/search?q=ERC-4910","type":"discussion"}],"urls":{"canonical":"https://www.eipsfordesigners.com/standards/ERC-4910","markdown":"https://www.eipsfordesigners.com/standards/ERC-4910/content.md","agent":"https://www.eipsfordesigners.com/standards/ERC-4910/agent.md","api":"https://www.eipsfordesigners.com/api/standards/ERC-4910","official":"https://eips.ethereum.org/EIPS/eip-4910","discussion":"https://ethereum-magicians.org/search?q=ERC-4910"},"freshness":{"lastReviewed":"2026-04-05","lastUpdated":"2026-04-05"}}