Written by Pablo Gómez
Founder & CEO at Metlabs · Reviewed on October 11, 2026
An ERC-721 contract represents a collection, and each tokenId within it is individual. The standard rests on two core functions. ownerOf(tokenId) returns the owner of a specific token, the axis of the uniqueness model, and balanceOf(owner) counts how many NFTs an address holds. Transfers use transferFrom or safeTransferFrom, which checks that a contract recipient implements onERC721Received. Management is delegated with approve and setApprovalForAll, central to marketplaces. The metadata extension defines tokenURI, which returns a pointer to a JSON with name, description and image, without dictating where it is stored (on-chain, IPFS or a server).
ERC-721 is the foundation of the NFT ecosystem. ERC-2981 (royalties), ERC-3525 (semi-fungible by value) and ERC-6551 (accounts for NFTs) all build on it. The EIP-721 specification, Final and authored by William Entriken, Dieter Shirley, Jacob Evans and Nastassia Sachs, uses ERC-165 for interface detection and emits the Transfer, Approval and ApprovalForAll events. It matters because it sets a common way to represent unique assets: digital art, collectibles, domains or tickets.
In tokenization, ERC-721 fits when the real-world asset is unique and indivisible, such as a specific property or a certificate. It is worth separating from the fungible security token: ERC-3643 (T-REX) starts from a permissioned ERC-20 base, not ERC-721. Real examples include CryptoKitties (Dapper Labs, 2017), Bored Ape Yacht Club (Yuga Labs) and Ethereum Name Service (ENS) domains, which are ERC-721 NFTs.
Also known as
- ERC721
- Non-Fungible Token Standard





