web3wagmi
← All standards

ERC-7891 Splitting and Merging of NFTs

DraftERCcreated 2025-02-15requires ERC-721, ERC-6150

Interface for hierarchical NFTs, enabling splitting a single NFT and merging multiple NFTs

Authors: Nitin Bhagat (@nitin312), JongWook Bae, Su-Hyun Lee

ERC-165 interface ids

Computed here as the XOR of the selectors each interface defines.

IERC78910x43cb816b

Functions this standard introduces (5)

0x42966c68burn(uint256)
0x35d09c30mintMerge(uint256,uint256[])payable
0xf36d273dmintParent(string)payable
0x1ba5857fmintSplit(uint256,uint8)payable
0xdc45d371sharePass(uint256,uint256,uint8)

Inherited (14)

0x095ea7b3approve(address,uint256)ERC-721
0x70a08231balanceOf(address)ERC-721
0x6f19951cchildrenOf(uint256)ERC-6150
0x081812fcgetApproved(uint256)ERC-721
0xe985e9c5isApprovedForAll(address,address)ERC-721
0xcce3c13bisLeaf(uint256)ERC-6150
0xe527b966isRoot(uint256)ERC-6150
0x6352211eownerOf(uint256)ERC-721
0xcfa3c132parentOf(uint256)ERC-6150
0xb88d4fdesafeTransferFrom(address,address,uint256,bytes)ERC-721
0x42842e0esafeTransferFrom(address,address,uint256)ERC-721
0xa22cb465setApprovalForAll(address,bool)ERC-721
0x01ffc9a7supportsInterface(bytes4)ERC-165
0x23b872ddtransferFrom(address,address,uint256)ERC-721

Events (2)

Topic0 is the keccak256 hash of the signature, which is what a log filter matches on.

0xbc1a0c70721fe917933171a656bba0b5cbd7a1e8454dc865ad05317d08742ac3Split(uint256,uint256,uint8)
0x7d5aea5b1c72048d8c24439566f67ca9c171b3c8c9a37d011e739ec2bd325a30Merged(uint256,uint256[])

Depends on (2)

Proposals this one names in its requires field.

What the specification covers

Compare with

Parsed from the canonical specification · discussion