ERC-721 Non-Fungible Token Standard
ERC-165 interface ids
Computed here as the XOR of the selectors each interface defines.
| ERC721 | 0x80ac58cd |
Functions this standard introduces (9)
0x095ea7b3 | approve(address,uint256) | payable |
0x70a08231 | balanceOf(address) | view |
0x081812fc | getApproved(uint256) | view |
0xe985e9c5 | isApprovedForAll(address,address) | view |
0x6352211e | ownerOf(uint256) | view |
0xb88d4fde | safeTransferFrom(address,address,uint256,bytes) | payable |
0x42842e0e | safeTransferFrom(address,address,uint256) | payable |
0xa22cb465 | setApprovalForAll(address,bool) | |
0x23b872dd | transferFrom(address,address,uint256) | payable |
Inherited (1)
0x01ffc9a7 | supportsInterface(bytes4) | ERC-165 |
Optional extensions (3)
Interfaces the spec defines alongside the core one, which an implementation may or may not carry.
ERC1650x01ffc9a7
0x01ffc9a7 | supportsInterface(bytes4) |
ERC721Metadata0x5b5e139f
0x06fdde03 | name() | |
0x95d89b41 | symbol() | |
0xc87b56dd | tokenURI(uint256) |
ERC721Enumerable0x780e9d63
0x18160ddd | totalSupply() | |
0x4f6ccce7 | tokenByIndex(uint256) | |
0x2f745c59 | tokenOfOwnerByIndex(address,uint256) |
Events (3)
Topic0 is the keccak256 hash of the signature, which is what a log filter matches on.
0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef | Transfer(address,address,uint256) | |
0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925 | Approval(address,address,uint256) | |
0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31 | ApprovalForAll(address,address,bool) |
Depends on (1)
Proposals this one names in its requires field.
Built on by (146)
Later proposals that name this one in their requires field.
What the specification covers
Compare with
Parsed from the canonical specification · discussion