{"id":"ERC-6150","name":"Hierarchical NFTs","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":"Filesystem-like hierarchical NFTs — tokens have parent/child relationships like folders and files. Design implications: show folder tree navigation, display breadcrumb paths, enable create-under-parent flows, indicate root vs leaf tokens, show children count. Design decisions: max depth visualization, whether to support drag-drop reorganization, handling permission inheritance in hierarchy, folder vs file visual treatment.","hasDetailedContent":true,"content":{"id":"ERC-6150","sources":[{"label":"Official specification","url":"https://eips.ethereum.org/EIPS/erc-6150","type":"official-spec"}],"lastReviewed":"2026-05-25","lastUpdated":"2026-05-25","summary":"Filesystem-like hierarchical NFTs — tokens have parent/child relationships like folders and files.","designerTakeaways":["You can show folder icon for parent tokens and file icon for leaves in tree sidebar.","Your breadcrumbs can read Collection › Season › Episode › Item for orientation.","You can offer Create inside folder with parent pre-selected in mint flow."],"applicability":{"whenToUse":["Collection has natural hierarchy — courses, seasons, albums.","Users navigate hundreds of related tokens.","Parent-child minting is on-chain."],"whenToAvoid":["Flat 10k PFP drop with no structure.","Hierarchy depth breaks mobile layout without design.","No parent id in contract."]},"prototypeFirst":[{"screen":"Tree sidebar navigation","why":"Primary navigation for hierarchical collections.","covers":["Expand folders","Select leaf","Deep path"],"include":["Tree component","Icons folder/file","Selected highlight"]},{"screen":"Breadcrumb header","why":"Deep items need path context.","covers":["3-level path","Root item"],"include":["Clickable crumbs","Truncate middle on mobile"]},{"screen":"Create under parent","why":"Creators mint into folder structure.","covers":["Pick parent","Mint child"],"include":["Parent selector","Child preview","Confirm mint"]},{"screen":"Folder detail with children grid","why":"Opening folder shows contained items.","covers":["Empty folder","Many children"],"include":["Children count","Grid of leaves","Back to parent"]}],"mentalModel":[{"label":"Root token","description":"Top of tree — collection or volume."},{"label":"Folder token","description":"Parent with children — may not be tradable art itself."},{"label":"Leaf token","description":"Item with no children — the actual collectible."},{"label":"Path","description":"Root to current token — breadcrumbs encode this."},{"label":"Inherited permissions","description":"Rules on parent may affect children — disclose if applicable."}],"statesToDesign":[{"state":"Viewing root collection","trigger":"User at tree top.","userNeed":"See top-level folders.","designResponse":"Grid or tree of root children only."},{"state":"Inside folder","trigger":"Opened parent token.","userNeed":"See children and navigate up.","designResponse":"Breadcrumb plus children grid."},{"state":"Deep leaf detail","trigger":"Selected leaf at depth 4+.","userNeed":"Know location in hierarchy.","designResponse":"Full breadcrumb; sidebar sync."},{"state":"Empty folder","trigger":"Parent with zero children.","userNeed":"Understand empty not error.","designResponse":"Empty folder illustration plus Mint here if allowed."},{"state":"Mobile depth limit","trigger":"Tree too deep for screen.","userNeed":"Still navigate.","designResponse":"Breadcrumb-only mode; sidebar as drill-down pages."}],"designDecisions":[{"question":"Max tree depth in sidebar?","recommendation":"Indent max 4 levels then breadcrumb-only.","rationale":"Mobile cannot fit deeper indents."},{"question":"Drag-drop reorganize?","recommendation":"Avoid unless contract supports; use explicit Move to folder.","rationale":"Accidental drags restructure valuable trees."},{"question":"Folder tokens tradable?","recommendation":"If yes, warn Selling folder includes N children.","rationale":"Bundle sale surprise otherwise."}],"problemsSolved":[{"problem":"Flat grid unusable for structured collections","oldWay":"1000 items one page","newWay":"Folder tree navigation","impact":"high"},{"problem":"Users lost in deep collections","oldWay":"No idea where item lives","newWay":"Breadcrumb path on every detail","impact":"medium"},{"problem":"Minting without structure","oldWay":"All tokens sibling flat","newWay":"Create under parent mint flow","impact":"medium"}],"uxPatterns":[{"name":"NFT Folder Tree","description":"Sidebar tree with folder and leaf icons.","mockup":"concept/nft-gallery","components":["TreeSidebar","FolderIcon","Breadcrumb"],"userFlow":["Open collection","Expand folders","Select item","Breadcrumb updates"]},{"name":"Create Under Parent","description":"Mint child token into selected folder.","mockup":"concept/permit-approval","components":["ParentPicker","MintForm","PathPreview"],"userFlow":["Select folder","Tap Create here","Mint child","Appears in folder"]}],"seenInTheWild":[{"app":"Google Drive","url":"https://drive.google.com/","note":"Folder tree mental model users already have."},{"app":"OpenSea","url":"https://opensea.io/","note":"Collection hierarchy patterns for large sets."},{"app":"Catalog","url":"https://catalog.works/","note":"Music NFT organization informs hierarchical browsing."}],"antiPatterns":[{"pattern":"Flat grid for 500-item hierarchical collection","why":"Unbrowseable","instead":"Tree or folder drill-down","severity":"high"},{"pattern":"Drag-drop reorg without confirm","why":"Accidental structure changes","instead":"Explicit Move with confirmation","severity":"high"},{"pattern":"No breadcrumb on deep items","why":"Disorientation","instead":"Always show path to root","severity":"medium"}],"vocabulary":[{"use":"Folder","avoid":"Parent token node","why":"Filesystem metaphor."},{"use":"Collection path","avoid":"Parent id chain","why":"Breadcrumb language."},{"use":"Create here","avoid":"Mint with parentId","why":"Creator action language."}],"onMonad":[{"aspect":"Tree loading","ethereum":"Deep tree queries slow","monad":"Fast reads enable eager tree prefetch","designImplication":"Prefetch one level of children on folder hover."},{"aspect":"Structured mints","ethereum":"Many child mints costly","monad":"Lower fees enable building deep trees on-chain","designImplication":"Bulk create-under-parent on Monad."}],"technicalNotes":"ERC-6150 hierarchy uses parent pointers; cap sidebar depth and always show breadcrumbs.","relatedStandards":[{"id":"ERC-7401","relationship":"Alternative nesting model owning child NFTs"},{"id":"ERC-721","relationship":"Hierarchical extension"}]},"sources":[{"label":"Official specification","url":"https://eips.ethereum.org/EIPS/erc-6150","type":"official-spec"},{"label":"Discussion","url":"https://ethereum-magicians.org/search?q=ERC-6150","type":"discussion"},{"label":"Official specification","url":"https://eips.ethereum.org/EIPS/erc-6150","type":"official-spec"}],"urls":{"canonical":"https://www.eipsfordesigners.com/standards/ERC-6150","markdown":"https://www.eipsfordesigners.com/standards/ERC-6150/content.md","agent":"https://www.eipsfordesigners.com/standards/ERC-6150/agent.md","api":"https://www.eipsfordesigners.com/api/standards/ERC-6150","official":"https://eips.ethereum.org/EIPS/erc-6150","discussion":"https://ethereum-magicians.org/search?q=ERC-6150"},"freshness":{"lastReviewed":"2026-05-25","lastUpdated":"2026-05-25"}}