NFTs: What They Really Are
ERC-721, ERC-1155, onchain or IPFS metadata, a buyer's real rights, royalties and scams: understand what you really own with an NFT.
The essentials
Fungible or non-fungible?
An asset is fungible when each unit is interchangeable with another: one euro is worth one euro, one USDC is worth one USDC. Ordinary tokens on Ethereum (the ERC-20 standard) are fungible.
An NFT (non-fungible token), by contrast, is unique: each token has its own identity. The ERC-721 standard's text uses a telling example, a collection of digital kittens of which "no two are alike," and presents NFTs as a kind of "deeds" for tracking ownership of distinct assets, digital or physical.
Uses are varied: digital artworks, video game items, event tickets, blockchain domain names, membership cards, certificates. The technical principle is always the same.
The two main standards on Ethereum
ERC-721: one token, one identifier
ERC-721, proposed in January 2018, is the historical NFT standard. Each NFT has a numeric identifier, the tokenId. According to the standard, the "contract address + tokenId" pair forms a globally unique identifier for a given asset on an Ethereum chain.
Concretely, the contract keeps a register: for each tokenId, it records which address owns it. Transferring an NFT means asking the contract to update that line.
Remember this: two NFTs with the same image but coming from different contracts are not the same NFT. Only the contract address tells you whether you have a collection's original or a copy.
ERC-1155: several token types in a single contract
ERC-1155 is a so-called "multi-token" standard: a single contract can manage fungible tokens, non-fungible tokens or other configurations all at once. It also allows batch transfers (several tokens in a single transaction), which reduces fees.
It's widely used in games, where one contract can manage a unique sword and 1,000 identical potions, or for multiple editions of the same artwork.
| Standard | Principle | Typical uses |
|---|---|---|
| ERC-721 | One tokenId = one unique token | Art, collections, domain names |
| ERC-1155 | Several types and quantities per contract | Games, editions, tickets |
Other blockchains (Solana, Bitcoin with Ordinals, etc.) have their own NFT formats, with comparable logic.
Where is the image really? Onchain vs offchain metadata
This is the most misunderstood question. In most cases, the image is not stored in the blockchain.
ERC-721 provides an optional metadata extension: for each tokenId, the contract returns an address (URI) pointing to a JSON file. That file contains a name, a description and a link to the image. With ERC-1155, the URI can contain an {id} placeholder that the application replaces with the token's identifier.
So there is often a chain of links: contract → metadata file → image. Each link can be stored in different ways.
The three main options
- Onchain: the metadata, or even the image itself (often a small vector drawing), is written into the blockchain. This is the most durable solution, but also the most expensive, so it's reserved for lightweight files.
- IPFS: a decentralized storage network where each file is identified by its CID, a cryptographic fingerprint of its content. If the file changes, the CID changes, which makes any modification visible. IPFS documentation recommends using links of the form
ipfs://<CID>rather than links to a specific web gateway, which depends on its operator surviving. - Traditional server (an https link to the project's site or a host): the file can be modified or disappear if the project shuts down or stops paying for hosting.
IPFS is not eternal by default
Beware of a common misconception: a file on IPFS only remains available as long as at least one node keeps it. The IPFS documentation explains that, without "pinning," data is temporary and can be deleted. Projects therefore need to have their files hosted durably, either themselves or through a pinning service.
To check an NFT, you can open the contract on a block explorer, read the value returned by tokenURI (or uri in ERC-1155) and see whether it starts with ipfs://, https://, or whether the data is encoded directly in the contract.
What you really own
When you buy an NFT, you become the owner of the token: the blockchain records that your address holds a given tokenId of a given contract. You can keep it, transfer it, sell it.
You do not, however, automatically buy the artwork in the legal sense. The analysis published by a16z crypto in 2022 sums it up this way: the buyer receives a tokenId and metadata pointing to a file, but under US copyright law this doesn't automatically give them the right to reproduce, adapt or display the work. Without an explicit license, they hold only the token.
The same text points to frequent problems: projects with no license, unclear bespoke terms, terms stored offchain and modifiable. a16z crypto proposed standardized license templates ("Can't Be Evil"), inspired by Creative Commons, that specify, for example, whether commercial use or derivative works are allowed.
For a buyer in France, the prudent rule is the same: treat as yours only what the project's terms explicitly grant. Read them before buying. This guide is general information and does not constitute legal or investment advice.
The royalties debate
Royalties are a percentage of the resale price meant to go back to the creator on each secondary sale. This was one of the big promises of NFTs for artists.
The ERC-2981 standard lets a contract indicate how much royalty should be paid and to whom. But the standard's text is explicit: payment must remain voluntary, because a transfer function is also used to move an NFT between two wallets without any sale taking place. In other words, the blockchain can't tell a sale from a simple transfer.
In practice, the payment of royalties therefore depends on marketplaces, which choose whether to enforce them. Both camps have arguments:
- for: durably paying creators and funding projects;
- against: a levy that the technology can't guarantee, and that sellers can get around.
Before buying, simply look at which policy applies to the collection and the platform.
Marketplaces
To buy or sell an NFT, you generally go through a marketplace (OpenSea, Magic Eden or Blur are well-known examples, cited here for illustration). They display collections, prices and history, but ownership remains recorded in the NFT's contract, not with the platform.
Points to watch:
- a single collection can have copies: check the contract address from the project's official site or account;
- a verification badge helps, but doesn't replace that check;
- to list an item for sale, the platform generally asks you for an approval on your collection, which you need to understand (see below).
NFT-specific scams
NFTs received unsolicited
MetaMask's help center describes a very widespread scenario: scammers send an NFT to your wallet, whose image or metadata contains a link to a fraudulent site, with a promise of free assets or privileged access. The site then tries to get your recovery phrase or to make you sign a transaction capable of draining your wallet. The advice is simple: don't interact with NFTs you weren't expecting. Hide them.
setApprovalForAll: the approval that gives everything away
ERC-721 and ERC-1155 include a setApprovalForAll function. It lets another address, called an "operator," manage all your NFTs from a given contract: transfer them however it likes. It's useful for a legitimate marketplace, but it is also the drainers' favorite weapon.
If an unknown site asks you for this kind of approval, read carefully what your wallet displays: it means granting access to a whole collection, not a single token. Refuse if you're not on a trusted platform, and regularly revoke unnecessary approvals.
Other traps
- fake "mints" (NFT creation) on clone sites advertised by impersonator accounts;
- fake purchase offers that make you sign something other than a sale;
- collections copied with the same image but a different contract.
A concrete example
Sophie wants to buy an NFT from a collection by an illustrator she follows.
- She gets the contract address from the artist's official site and compares it with the one shown on the marketplace.
- On the block explorer, she checks the
tokenURI: the metadata points toipfs://…, which reassures her a little, without a full guarantee of preservation. - She reads the artist's terms page: personal use allowed, no commercial use. She therefore knows she won't be able to print the image on T-shirts to sell.
- She buys from a wallet separate from her savings. A few days later, an unknown NFT appears with a "Claim your reward" link. She hides it.
- When she decides to list her NFT for sale, the platform asks her for a
setApprovalForAllapproval for this collection. She checks that she is on the platform's actual site, then revokes the approval after the sale.
Mistakes to avoid
- Believing that buying an NFT gives you the copyright: read the project's license.
- Judging an NFT by its image: only the contract address identifies the original.
- Ignoring where the metadata is stored: a simple link to a server can disappear.
- Clicking links in an NFT received for no reason.
- Signing a
setApprovalForAllon an unknown site, or leaving old approvals lying around. - Counting on royalties as guaranteed income: their payment isn't enforced by the blockchain.
- Keeping valuable NFTs in the wallet you use to test mints.
Key takeaways
- An NFT is a unique token identified by a contract address and a tokenId, according to standards such as ERC-721 or ERC-1155.
- The image is rarely in the blockchain: it's often on IPFS or on a server, with very different levels of durability.
- Owning the token doesn't automatically give rights over the work; only the project's license specifies that.
- ERC-2981 royalties are technically voluntary and depend on marketplaces.
- Don't touch NFTs received for no reason, and beware of
setApprovalForAll, which gives access to a whole collection.
Sources
- Ethereum Improvement Proposals — ERC-721: Non-Fungible Token Standard
- Ethereum Improvement Proposals — ERC-1155: Multi Token Standard
- Ethereum Improvement Proposals — ERC-2981: NFT Royalty Standard
- IPFS Docs — Best practices for storing NFT data using IPFS
- a16z crypto — The Can't Be Evil NFT Licenses
- MetaMask Help Center — NFT airdrop scams