{"id":"ERC-5521","name":"Referable NFT","status":"Final","chain":"both","category":{"id":"nft","name":"NFT Capabilities","description":"What NFTs can do beyond basic ownership"},"journeyStages":[{"id":"asset-display","name":"Asset Discovery & Display","description":"Seeing tokens, NFTs, and balances"},{"id":"management","name":"Asset Management","description":"Managing assets over time"}],"uxImpact":"NFTs can reference other NFTs — creating a directed graph of relationships (remixes, derivatives, citations). Design implications: show 'References' and 'Referenced By' lists, visualize reference graph/network, indicate derivative relationships, display creation timestamps for ordering. Design decisions: graph visualization complexity, how deep to show reference chains, handling cross-contract references, attribution/citation display format.","hasDetailedContent":true,"content":{"id":"ERC-5521","sources":[{"label":"Official specification","url":"https://eips.ethereum.org/EIPS/erc-5521","type":"official-spec"}],"lastReviewed":"2026-05-25","lastUpdated":"2026-05-25","summary":"NFTs can reference other NFTs — creating a directed graph of relationships (remixes, derivatives, citations).","designerTakeaways":["You can show References and Referenced by lists on every derivative NFT detail page.","Your graph view can limit depth to 2 hops with View full graph for explorers.","You can link cross-contract references to correct collection with verification badge."],"applicability":{"whenToUse":["Remix and derivative culture is core to product.","On-chain citation between tokens matters.","Attribution disputes need transparent lineage."],"whenToAvoid":["Flat unrelated collectibles.","Graph would have single node always.","Indexer cannot resolve cross-contract refs."]},"prototypeFirst":[{"screen":"Reference lists on detail","why":"Default view for lineage without graph complexity.","covers":["Has references","Referenced by others","None"],"include":["References list with thumbs","Referenced by list","Tap to navigate"]},{"screen":"Lineage graph preview","why":"Visual learners see remix tree.","covers":["2-hop graph","Deep graph"],"include":["Mini graph","Expand to full screen","Depth limit label"]},{"screen":"Cross-contract reference link","why":"References span collections.","covers":["Same chain ref","Broken ref"],"include":["Collection name","Verify resolved","Broken link message"]},{"screen":"Remix creation flow","why":"Minter selects parent references at create.","covers":["Pick references","Confirm lineage"],"include":["Reference picker","Preview lineage","Mint with refs"]}],"mentalModel":[{"label":"Reference","description":"This token points to sources it derives from."},{"label":"Referenced by","description":"Other tokens point here — downstream derivatives."},{"label":"Directed graph","description":"Edges one-way — remix points to original, not always reverse indexed automatically."},{"label":"Cross-contract","description":"Reference may be different collection address — link must resolve both."},{"label":"Timestamp ordering","description":"Creation time orders citation chronology."}],"statesToDesign":[{"state":"Has references only","trigger":"Derivative of others.","userNeed":"See sources.","designResponse":"References list prominent."},{"state":"Referenced by many","trigger":"Popular original.","userNeed":"Discover derivatives.","designResponse":"Referenced by with count and preview thumbs."},{"state":"Graph expanded","trigger":"User opens full graph.","userNeed":"Explore without overwhelm.","designResponse":"Pan/zoom with depth filter."},{"state":"Broken reference","trigger":"Burned or invalid ref.","userNeed":"Not broken UI.","designResponse":"Reference unavailable gray node."},{"state":"No references","trigger":"Original work.","userNeed":"Still see if referenced by others.","designResponse":"Original badge; Referenced by if any."}],"designDecisions":[{"question":"Graph or lists default?","recommendation":"Lists default; graph optional expand.","rationale":"Graph overwhelms casual collectors."},{"question":"Max graph depth?","recommendation":"2 hops default; slider to 4 max.","rationale":"Citation chains explode combinatorially."},{"question":"Citation format?","recommendation":"Remixed from [thumb] [name] with date.","rationale":"Academic citation too cold for art."}],"problemsSolved":[{"problem":"Remix attribution disputes","oldWay":"He-said she-said off-chain","newWay":"On-chain reference list on token","impact":"high"},{"problem":"Discovering derivative works","oldWay":"Manual search","newWay":"Referenced by index on originals","impact":"medium"},{"problem":"Cross-collection lineage invisible","oldWay":"Refs only in metadata text","newWay":"Resolvable cross-contract reference links","impact":"medium"}],"uxPatterns":[{"name":"Reference Lineage Lists","description":"References and Referenced by on detail.","mockup":"concept/nft-gallery","components":["ReferenceList","ThumbRow","DateLabel"],"userFlow":["Open NFT","See references","Tap source","Navigate to parent"]},{"name":"Remix Graph Explorer","description":"Optional 2-hop visual graph.","mockup":"concept/reactions","components":["GraphCanvas","DepthControl","NodeCard"],"userFlow":["Tap View graph","See 2-hop","Expand depth","Tap node to open"]}],"seenInTheWild":[{"app":"Sound.xyz","url":"https://www.sound.xyz/","note":"Musical remix lineage and attribution patterns."},{"app":"Zora","url":"https://zora.co/","note":"Creator remix culture on-chain."},{"app":"Foundation","url":"https://foundation.app/","note":"Artist attribution on secondary works."}],"antiPatterns":[{"pattern":"Full graph as only view","why":"Casual users bounce","instead":"Lists first; graph optional","severity":"high"},{"pattern":"Unbounded graph depth render","why":"Browser hang","instead":"Depth limit with expand control","severity":"critical"},{"pattern":"Broken refs shown as active links","why":"404 confusion","instead":"Reference unavailable state","severity":"medium"}],"vocabulary":[{"use":"Remixed from","avoid":"Reference array entry","why":"Creative attribution language."},{"use":"Derivatives","avoid":"Referenced-by subgraph","why":"Collector-friendly term."},{"use":"View lineage","avoid":"Open citation graph","why":"Discovery action language."}],"onMonad":[{"aspect":"Graph indexing","ethereum":"Cross-contract graph slow to build","monad":"Fast indexing enables snappier lineage loads","designImplication":"Prefetch references on detail hover on Monad."},{"aspect":"Remix mints","ethereum":"Reference-heavy mints gas costly","monad":"Lower cost encourages on-chain citation at mint","designImplication":"Reference picker in mint flow on Monad."}],"technicalNotes":"ERC-5521 graph UI needs depth limits; resolve cross-contract refs before showing links.","relatedStandards":[{"id":"ERC-5489","relationship":"Outbound links complement reference graph"},{"id":"ERC-721","relationship":"Referable extension"}]},"sources":[{"label":"Official specification","url":"https://eips.ethereum.org/EIPS/erc-5521","type":"official-spec"},{"label":"Discussion","url":"https://ethereum-magicians.org/search?q=ERC-5521","type":"discussion"},{"label":"Official specification","url":"https://eips.ethereum.org/EIPS/erc-5521","type":"official-spec"}],"urls":{"canonical":"https://www.eipsfordesigners.com/standards/ERC-5521","markdown":"https://www.eipsfordesigners.com/standards/ERC-5521/content.md","agent":"https://www.eipsfordesigners.com/standards/ERC-5521/agent.md","api":"https://www.eipsfordesigners.com/api/standards/ERC-5521","official":"https://eips.ethereum.org/EIPS/erc-5521","discussion":"https://ethereum-magicians.org/search?q=ERC-5521"},"freshness":{"lastReviewed":"2026-05-25","lastUpdated":"2026-05-25"}}