What Are NFTs? A Complete Guide to Non-Fungible Tokens
Understand the technology behind NFTs — the ERC-721 standard, how metadata and ownership work on-chain, NFT marketplaces, and the real use cases beyond digital art.
In this guide
What Is an NFT?
A Non-Fungible Token (NFT) is a unique digital asset recorded on a blockchain. "Non-fungible" means each token is one-of-a-kind and cannot be exchanged 1:1 with another — unlike Bitcoin, where one BTC is identical and interchangeable with any other BTC.
Fungible vs Non-fungible: - Fungible: $10 bill = any other $10 bill. 1 USDC = any other 1 USDC. - Non-fungible: Your house has a unique address, size, and history. A specific painting is one-of-a-kind. A specific CryptoPunk (#7804) is uniquely owned and verifiably distinct from #7805.
What an NFT actually is: A smart contract on a blockchain containing: 1. A unique token ID 2. The current owner's wallet address 3. A link to metadata (the actual image, video, or content) 4. Transfer history (all past owners)
NFT market scale: Peak sales volume was $25 billion in 2021. Blue-chip collections like CryptoPunks and Bored Ape Yacht Club had individual NFTs sell for $500K–$23M. The market cooled dramatically in 2022-2023, but underlying technology adoption continued in gaming, ticketing, and digital identity.
The ERC-721 Standard
ERC-721 is the Ethereum token standard that defines how non-fungible tokens work. Proposed in January 2018 by William Entriken, Dieter Shirley, Jacob Evans, and Nastassia Sachs.
Core ERC-721 functions: ```solidity // Returns the owner of a specific token function ownerOf(uint256 tokenId) external view returns (address);
// Transfer token from one address to another function transferFrom(address from, address to, uint256 tokenId) external;
// Approve another address to transfer a specific token function approve(address to, uint256 tokenId) external;
// Returns total number of tokens owned by an address function balanceOf(address owner) external view returns (uint256); ```
ERC-1155 (Multi-token standard): A more efficient standard that supports both fungible and non-fungible tokens in a single contract. Used widely in gaming — a game can issue 1 million identical common swords (fungible) and 1 unique legendary sword (non-fungible) from the same contract. OpenSea supported ERC-1155 from its launch.
ERC-721A: An optimization by Azuki that dramatically reduces gas costs for minting multiple NFTs in one transaction. Instead of writing to storage once per token, it writes once for the entire batch — reducing mint costs by 5-10×. Now the industry standard for new projects.
Metadata, IPFS, and On-Chain Storage
The most important concept that most NFT buyers don't understand: an NFT does not store the image on the blockchain. Storing a 5MB image on Ethereum would cost thousands of dollars in gas fees.
What the NFT actually stores:
A tokenURI — a URL or hash pointing to a JSON metadata file:
``json
{
"name": "Bored Ape #7804",
"description": "A unique Bored Ape from the BAYC collection",
"image": "ipfs://QmXgK7...",
"attributes": [
{ "trait_type": "Background", "value": "Aquamarine" },
{ "trait_type": "Fur", "value": "Trippy" }
]
}
``
IPFS (InterPlanetary File System): A decentralized content-addressed storage network. Files are referenced by their content hash (CID — Content Identifier), not by a server URL. If the file changes, the CID changes. IPFS is the standard for NFT storage.
The centralization risk: Many early NFTs used regular HTTP URLs pointing to the issuer's servers. If the company shuts down, the URL dies — your "NFT" becomes a broken link. IPFS reduces but doesn't eliminate this risk (nodes can go offline unless content is "pinned").
Truly on-chain NFTs: Projects like Autoglyphs, Nouns, and Chain Runners store everything (image generation algorithm or compressed SVG) directly in the smart contract's bytecode — making them permanent as long as Ethereum exists. These are considered the most durable form of NFT.
NFT Use Cases Beyond Digital Art
The speculative NFT art bubble of 2021 overshadowed genuinely transformative use cases that continue to grow:
Gaming and Virtual Worlds: - True ownership of in-game assets that persist beyond any single game - Players can trade skins, weapons, and characters on open markets without developer permission - Games like Axie Infinity pioneered "play-to-earn" but collapsed due to unsustainable token economics - Next-gen gaming (Immutable X, Parallel, Gods Unchained) focus on game-first, NFT-second
Event Ticketing: - NFT tickets prevent scalping (smart contract limits resale price) - Programmable royalties: original venue earns 5% on all secondary sales - Proof of attendance (POAP — Proof of Attendance Protocol) creates collectible digital stamps for events - Coachella sold lifetime passes as NFTs; holders get VIP access every year
Domain Names: - ENS (Ethereum Name Service): "yourname.eth" — human-readable wallet addresses stored as NFTs - 3M+ .eth names registered. Used for wallets, websites, and digital identity
Digital Identity and Credentials: - Soulbound tokens (SBTs): Non-transferable NFTs representing achievements, diplomas, medical records - Vitalik Buterin proposed SBTs as the basis of a "decentralized society"
Real-World Asset Tokenization: - Tokenized real estate: Fractional ownership of properties as NFTs (RealT, Lofty) - Luxury goods authentication: Rolex, Louis Vuitton exploring NFT certificates of authenticity
How to Buy, Sell, and Create NFTs
Buying NFTs: 1. Set up a Web3 wallet — MetaMask is most common, funded with ETH 2. Go to a marketplace: OpenSea (largest, multi-chain), Blur (pro traders, airdrop incentives), MagicEden (Solana + multi-chain), LooksRare 3. Browse collections, check floor price (lowest ask for any NFT in the collection), volume, and holder distribution 4. Click "Buy Now" (immediate purchase at listed price) or make an offer below listing price 5. Confirm the transaction in MetaMask and pay gas fees
Before buying: - Verify the contract address on the marketplace — scammers create fake collections with similar names - Check the collection's royalty settings (typically 2.5-10%) - Research the team, roadmap, and community activity - Understand that most NFTs are illiquid and may be worth $0 if the project fails
Creating NFTs: - OpenSea's "Create" tool allows anyone to mint an NFT without coding (lazy minting — only minted on-chain when someone buys) - For developers: Use OpenZeppelin's ERC-721 template, deploy via Hardhat or Foundry - Pricing your collection: Dutch auctions (price starts high and decreases), fixed price, or allowlist-based (early access for community)
Tax note: NFT sales are taxable events in most jurisdictions (capital gains on the sale price minus your cost basis).
Practice in a risk-free environment
Apply the concepts using virtual funds and live market data. NexChange is an educational simulation, not a real-money exchange.
Continue learning
Related guides
Smart Contracts 101
Learn what smart contracts are, how they work, and why they are the foundation of decentralized applications.
Understanding the ERC-20 Token Standard
A technical overview of the ERC-20 standard — the specification that defines how fungible tokens work on Ethereum.
How Blockchain Technology Works
A deep dive into the technology that powers cryptocurrencies — blocks, chains, consensus mechanisms, and decentralized networks.