EIP 721: ERC-721 Non-Fungible Token Standard

Return to Ethereum ERCs

Note: The following is an excerpt from the official Ethereum site. It is provided here as a convenience and is not authoritative. Refer to the original document as the authoritative reference.

Data sheet for Non-Fungible Token Standard

Title	Non-Fungible Token Standard
Author	William Entriken, Dieter Shirley, Jacob Evans, Nastassia Sachs
Status	Final
Created	2018-01-24
Description	http://eips.ethereum.org/EIPS/eip-721
Specification	http://eips.ethereum.org/EIPS/eip-721#Specification
Category	ERC
Requires	ERC-165

Abstract

The following standard allows for the implementation of a standard API for Non-Fungible Token (NFT) within smart contracts. This standard provides basic functionality to track and transfer NFTs.

We considered use cases of NFTs being owned and transacted by individuals as well as consignment to third party brokers/wallets/auctioneers (“operators”). NFTs can represent ownership over digital or physical assets. We considered a diverse universe of assets, and we know you will dream up many more:

Physical property — houses, unique artworkVirtual collectables — unique pictures of kittens, collectable cards“Negative value” assets — loans, burdens and other responsibilitiesIn general, all houses are distinct and no two kittens are alike. NFTs are distinguishable and you must track the ownership of each one separately.

Motivation

A standard interface allows wallet/broker/auction applications to work with any NFT on Ethereum. We provide for simple ERC-721 smart contracts as well as contracts that track an arbitrarily large number of NFTs. Additional applications are discussed below.

This standard is inspired by the ERC-20 token standard and builds on two years of experience since EIP-20 was created. EIP-20 is insufficient for tracking NFTs because each asset is distinct (non-fungible) whereas each of a quantity of tokens is identical (fungible).

Differences between this standard and EIP-20 are examined below.