{
  "$schema": "https://degreesofsatoshi.com/encyclopedia/schemas/article-v1.json",
  "schemaVersion": "1.0.0",
  "id": "erc-721-nfts",
  "canonical": "https://degreesofsatoshi.com/encyclopedia/erc-721-nfts/",
  "collection": "ethereum",
  "title": "ERC-721 NFTs: the token, its metadata and what ownership means",
  "description": "Separate an NFT’s onchain ownership record from its image, metadata and outside rights, with a token-ID example and an explanation of approvals.",
  "aliases": [
    "ERC721",
    "NFT ownership",
    "non-fungible token"
  ],
  "dates": {
    "published": "2026-10-02",
    "modified": "2026-10-02",
    "verified": "2026-10-02T15:10:23.134Z",
    "dataAsOf": null
  },
  "authorship": {
    "publisher": "Degrees of Satoshi editorial project",
    "process": "AI-assisted research and drafting with a separate automated source-verification pass; no external expert or named human review is implied."
  },
  "quickAnswer": {
    "text": "ERC-721 defines an interface for individually distinguishable tokens. The contract and token ID identify a token, and its ownership record names an account. Images and descriptions can be linked metadata. The standard does not itself establish copyright, authenticity, permanent file availability or the rights to a physical item.",
    "claimId": "erc-721-nfts-quick-answer",
    "sourceIds": [
      "erc721",
      "contracts"
    ]
  },
  "keyFacts": [
    {
      "label": "Identity",
      "value": "Token ID within a particular contract and network",
      "sourceIds": [
        "erc721"
      ],
      "id": "identity",
      "claimId": "erc-721-nfts-fact-identity"
    },
    {
      "label": "Ownership lookup",
      "value": "ownerOf names the owning account",
      "sourceIds": [
        "erc721"
      ],
      "id": "ownership-lookup",
      "claimId": "erc-721-nfts-fact-ownership-lookup"
    },
    {
      "label": "Metadata",
      "value": "Optional interface may return a token URI",
      "sourceIds": [
        "erc721"
      ],
      "id": "metadata",
      "claimId": "erc-721-nfts-fact-metadata"
    }
  ],
  "prerequisites": [
    "ethereum-smart-contracts",
    "erc-20-tokens"
  ],
  "sections": [
    {
      "id": "distinct-tokens",
      "heading": "A token ID makes each item separately trackable",
      "sourceIds": [
        "erc721",
        "erc20"
      ],
      "paragraphs": [
        "An ERC-20 balance can say an account holds five interchangeable units. ERC-721 instead tracks which account owns a particular token ID. A single contract can hold an entire collection of those distinct records.",
        "The ID is not globally unique. Token 42 in one collection and token 42 in another are different records. A complete identifier includes the network and contract as well as the number."
      ]
    },
    {
      "id": "ownership-example",
      "heading": "Example: transferring token 42 changes a record, not a file",
      "sourceIds": [
        "erc721",
        "interacting"
      ],
      "paragraphs": [
        "Imagine a collection where token 42 belongs to account A. A valid transfer to account B updates the ownership record and emits a transfer event. A wallet can query ownerOf to display the new owner.",
        "The image might still be fetched from a separate URI. Transferring the token does not necessarily copy a file, remove anyone else’s copy or change the terms under which that image may be used."
      ]
    },
    {
      "id": "metadata-and-rights",
      "heading": "Metadata points outward; the standard does not resolve every promise",
      "sourceIds": [
        "erc721",
        "contracts"
      ],
      "paragraphs": [
        "The optional metadata extension can provide a name, description and image reference. Where those bytes live, who can update them and whether they remain retrievable are properties of the actual project.",
        "Likewise, a claim about copyright or a physical asset needs its own evidence and terms. The token interface supplies technical ownership operations; it does not verify an artist’s identity or a warehouse’s inventory."
      ]
    },
    {
      "id": "transfer-permissions",
      "heading": "A single-token approval and an operator approval differ",
      "sourceIds": [
        "erc721",
        "interacting"
      ],
      "paragraphs": [
        "ERC-721 provides approval for a particular token and approval-for-all for an operator over the owner’s tokens in that contract. A marketplace interaction can therefore request a broader permission than one transfer.",
        "Safe transfer methods check whether a contract recipient implements the expected receiving interface. This reduces one type of accidental incompatibility; it does not certify that the recipient or marketplace is trustworthy."
      ]
    }
  ],
  "faq": [
    {
      "question": "Does buying an NFT automatically transfer copyright?",
      "answer": "The ERC-721 standard does not define copyright licensing. Any such rights depend on separate terms and the authority of whoever grants them.",
      "sourceIds": [
        "erc721"
      ]
    },
    {
      "question": "Is the image always stored directly on Ethereum?",
      "answer": "No. The metadata interface can return a URI. A specific project may store data onchain or elsewhere, with different persistence and update properties.",
      "sourceIds": [
        "erc721"
      ]
    },
    {
      "question": "Can two collections both have token number 42?",
      "answer": "Yes. Token IDs are scoped to a contract. The collection’s contract and network are needed to distinguish the records.",
      "sourceIds": [
        "erc721"
      ]
    }
  ],
  "claims": [
    {
      "id": "erc-721-nfts-quick-answer",
      "articleSlug": "erc-721-nfts",
      "statement": "ERC-721 defines an interface for individually distinguishable tokens. The contract and token ID identify a token, and its ownership record names an account. Images and descriptions can be linked metadata. The standard does not itself establish copyright, authenticity, permanent file availability or the rights to a physical item.",
      "sourceIds": [
        "source-b32b4b786f2e09c9",
        "source-1bffcf35253de959"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b32b4b786f2e09c9",
          "locator": "Specification; metadata extension; transfer and operator methods"
        },
        {
          "sourceId": "source-1bffcf35253de959",
          "locator": "What is a smart contract; a digital vending machine; limitations; multisig"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read ownerOf, token-ID scope, optional metadata, operator and token approvals, safe receiver checks;copyright is outside interface."
        ]
      }
    },
    {
      "id": "erc-721-nfts-fact-identity",
      "articleSlug": "erc-721-nfts",
      "statement": "Identity: Token ID within a particular contract and network",
      "sourceIds": [
        "source-b32b4b786f2e09c9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b32b4b786f2e09c9",
          "locator": "Specification; metadata extension; transfer and operator methods"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read ownerOf, token-ID scope, optional metadata, operator and token approvals, safe receiver checks;copyright is outside interface."
        ]
      }
    },
    {
      "id": "erc-721-nfts-fact-ownership-lookup",
      "articleSlug": "erc-721-nfts",
      "statement": "Ownership lookup: ownerOf names the owning account",
      "sourceIds": [
        "source-b32b4b786f2e09c9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b32b4b786f2e09c9",
          "locator": "Specification; metadata extension; transfer and operator methods"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read ownerOf, token-ID scope, optional metadata, operator and token approvals, safe receiver checks;copyright is outside interface."
        ]
      }
    },
    {
      "id": "erc-721-nfts-fact-metadata",
      "articleSlug": "erc-721-nfts",
      "statement": "Metadata: Optional interface may return a token URI",
      "sourceIds": [
        "source-b32b4b786f2e09c9"
      ],
      "sourceLocators": [
        {
          "sourceId": "source-b32b4b786f2e09c9",
          "locator": "Specification; metadata extension; transfer and operator methods"
        }
      ],
      "scope": {
        "collection": "ethereum",
        "dataAsOf": null,
        "blockHeight": null
      },
      "qualification": "",
      "evidenceStatus": "documented",
      "verification": {
        "status": "verified",
        "method": "independent automated source review",
        "checkedAt": "2026-10-02T15:10:23.134Z",
        "reviewer": "automated independent verification",
        "notes": [
          "Read ownerOf, token-ID scope, optional metadata, operator and token approvals, safe receiver checks;copyright is outside interface."
        ]
      }
    }
  ],
  "sources": [
    {
      "id": "erc721",
      "label": "ERC-721: Non-Fungible Token Standard",
      "publisher": "Ethereum Request for Comments",
      "url": "https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-721.md",
      "canonicalUrl": "https://eips.ethereum.org/EIPS/eip-721",
      "version": "583335b7912e51b1ea515bb662532dd29b27e786",
      "checkedAt": "2026-10-02T14:35:55.241155+00:00",
      "locator": "Specification; metadata extension; transfer and operator methods",
      "sha256": "238787165c08ac748928ffad57a24045802174bb38220af9e7b63c44778b7372",
      "note": "Defines token-specific ownership, transfer approvals, metadata pointers and receiving-contract checks.",
      "recordId": "source-b32b4b786f2e09c9",
      "contentSha256": "238787165c08ac748928ffad57a24045802174bb38220af9e7b63c44778b7372"
    },
    {
      "id": "contracts",
      "label": "Introduction to smart contracts",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/smart-contracts/index.md",
      "canonicalUrl": "https://ethereum.org/en/developers/docs/smart-contracts/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:35:40.398357+00:00",
      "locator": "What is a smart contract; a digital vending machine; limitations; multisig",
      "sha256": "e0933f91c6c58d30c1f5f05cac3c45529bf34dcb0711bbaa9a4dfe2b9b9946db",
      "note": "Supports contract code/state, deterministic rules, illustrative vending logic, external-data limits and multisignature access.",
      "recordId": "source-1bffcf35253de959",
      "contentSha256": "e0933f91c6c58d30c1f5f05cac3c45529bf34dcb0711bbaa9a4dfe2b9b9946db"
    },
    {
      "id": "erc20",
      "label": "ERC-20: Token Standard",
      "publisher": "Ethereum Request for Comments",
      "url": "https://raw.githubusercontent.com/ethereum/ERCs/583335b7912e51b1ea515bb662532dd29b27e786/ERCS/erc-20.md",
      "canonicalUrl": "https://eips.ethereum.org/EIPS/eip-20",
      "version": "583335b7912e51b1ea515bb662532dd29b27e786",
      "checkedAt": "2026-10-02T14:35:55.037727+00:00",
      "locator": "Methods: decimals, balanceOf, transfer, approve, transferFrom, allowance",
      "sha256": "50d0bdc535ed8987ac5c124cb5f9c39606806c97e909aae66ef4b747dd9c93dd",
      "note": "Defines fungible token balances, optional display metadata and spending allowance behavior.",
      "recordId": "source-e99ee03961c5d3e7",
      "contentSha256": "50d0bdc535ed8987ac5c124cb5f9c39606806c97e909aae66ef4b747dd9c93dd"
    },
    {
      "id": "interacting",
      "label": "Interacting with smart contracts",
      "publisher": "ethereum.org contributors",
      "url": "https://raw.githubusercontent.com/ethereum/ethereum-org-website/dcc900ff125891da5b6c723b905a7113cf1bd864/public/content/developers/docs/smart-contracts/interacting/index.md",
      "canonicalUrl": "https://ethereum.org/en/developers/docs/smart-contracts/interacting/",
      "version": "dcc900ff125891da5b6c723b905a7113cf1bd864",
      "checkedAt": "2026-10-02T14:35:40.398262+00:00",
      "locator": "Reading; writing; understanding contract ABIs; events and logs; simulating",
      "sha256": "0c969a8627399edfcae7e30d5fa1fcc02218265808be25f52a9a9a46da7dc29f",
      "note": "Supports read-only calls, state-changing transactions, ABI decoding and limits of simulation.",
      "recordId": "source-64ab603c23f79017",
      "contentSha256": "0c969a8627399edfcae7e30d5fa1fcc02218265808be25f52a9a9a46da7dc29f"
    }
  ],
  "related": {
    "articles": [
      "erc-1155-multi-tokens",
      "ethereum-token-approvals",
      "ethereum-block-explorer",
      "nft-minting",
      "nft-royalties",
      "soulbound-tokens"
    ],
    "dossiers": [],
    "wallets": []
  },
  "revisionHistory": [
    {
      "date": "2026-10-02",
      "kind": "published",
      "summary": "First publication after primary-source research and independent automated verification."
    }
  ],
  "citation": "Degrees of Satoshi editorial project. “ERC-721 NFTs: the token, its metadata and what ownership means.” Published 2026-10-02; updated 2026-10-02. https://degreesofsatoshi.com/encyclopedia/erc-721-nfts/"
}
