Written by Pablo Gómez
Founder & CEO at Metlabs · Reviewed on October 11, 2026
An on-chain NFT is essentially an ownership record. In the ERC-721 standard it is a unique tokenId within a contract, tied to an owner address. The token almost never contains the image or the attributes, only a pointer. The tokenURI(tokenId) function in ERC-721, or uri(id) in ERC-1155, returns a URI that the client (a marketplace or a wallet) resolves to fetch the JSON. The ERC-721 Metadata JSON Schema standardizes the base fields, name, description and image, and the attributes extension, popularized by OpenSea, adds the asset's traits.
This clears up a common misunderstanding. Buying an NFT is not buying the file, it is owning a token that points to some metadata. The durability and truthfulness of that metadata determine what you actually own. The URI can point to HTTP, to IPFS, to Arweave or encode the JSON directly as a data URI. If it points to a centralized server and that server stops responding, the content can become unavailable even though the token persists on-chain.
OpenSea's metadata documentation is the de facto standard most projects follow, with fields such as image, attributes and animation_url. Bored Ape Yacht Club, by Yuga Labs, hosts its metadata and images on IPFS, with traits in the attributes field. Art Blocks produces the artwork generatively and serves metadata that references the script generating it, so the JSON describes a piece created by code.
Also known as
- NFT metadata





