What is ERC-721?
ERC-721 is the Ethereum standard for non-fungible tokens (NFTs): tokens that are each unique and not interchangeable. Every ERC-721 token has its own ID and a single owner recorded on-chain.
On this page 7
ERC-721 is the Ethereum standard for non-fungible tokens (NFTs): tokens that are each unique and cannot be swapped one-for-one. With ERC-20, every unit of a token is identical; with ERC-721, each token has its own ID and a single owner. Digital art, in-game items, domain names and collectibles are all represented this way.
Where did ERC-721 come from?
CryptoKitties, a 2017 game in which players bought and bred digital cats with distinct traits, showed the need for a common standard for unique assets. EIP-721, proposed by a group of developers including Dieter Shirley, was finalized in 2018. Today, NFT marketplaces and wallets on Ethereum are built around it.
How does ERC-721 work?
Each NFT collection is a smart contract that records which token ID belongs to which address. The main functions are:
- ownerOf: returns the owner of a specific token ID.
- balanceOf: returns how many NFTs from the collection an address holds.
- transferFrom and safeTransferFrom: move an NFT to another address.
- approve: grants another address permission to transfer one specific NFT.
- setApprovalForAll: grants an address control over every NFT you hold in that collection.
To identify an NFT precisely you need three things together: the network, the contract address and the token ID. Tokens #125 and #126 in the same collection can have different artwork, traits and market values.
What do you actually own when you buy an NFT?
ERC-721 only records which address owns a given token. Copyright in the artwork, commercial usage rights or ownership of a physical item apply only if the project’s license explicitly grants them.
The image itself usually isn’t stored on the blockchain either. The contract’s “tokenURI” points to a file containing the image and its attributes, which may sit on decentralized storage such as IPFS or on the project’s own server. If that server goes offline, the token survives but the artwork may become unreachable.
ERC-721 vs. ERC-20 vs. ERC-1155
- ERC-20: fungible tokens where every unit is equal, such as USDC.
- ERC-721: every token is unique and tracked individually.
- ERC-1155: a multi-token standard that can hold both fungible and unique tokens in one contract, popular in gaming.
Staying safe with NFTs
Approving a marketplace to sell one NFT is very different from “approve for all” (setApprovalForAll), which hands over every NFT you hold in that collection and is a favorite request in phishing scams. Revoke approvals you no longer need. Fake collections often copy names and images, so verify the contract address through official channels before buying. Our guide on protecting yourself from phishing has more practical steps.
Frequently asked questions
Is every NFT an ERC-721 token?
No. ERC-1155 is also common on Ethereum, and other networks such as Solana have their own NFT standards.
What do I need to transfer an ERC-721 NFT?
Transfers on Ethereum mainnet pay fees in ETH, so you need some ETH in the same wallet as the NFT.
Can an NFT’s image be changed later?
Yes, if the contract allows the tokenURI to be updated or the file sits on the project’s own server. That’s why some projects “freeze” their metadata and move files to content-addressed storage like IPFS. It’s worth checking the project documentation before you buy.