4.2 ERC-721: The Original NFT Standard
4.2 ERC-721: The Original NFT Standard
The Breakthrough Moment
In November 2017, digital cats crashed Ethereum. CryptoKitties, a game where players collected, bred, and traded unique virtual cats, went viral. Within days, the game accounted for over 10% of all Ethereum network traffic [1]. Gas prices spiked. Transaction times ballooned from seconds to hours. The network slowed to a crawl. One virtual cat sold for $170,000 [2].
This wasn't a disaster. It was proof of concept. People would pay real money for provably unique digital assets. The problem was that no standardized way existed to create them. CryptoKitties had implemented an early draft of what would become ERC-721, and its success proved the market desperately needed this standard.
CryptoPunks had already shown the appetite six months earlier. Launched in June 2017 by Larva Labs, the 10,000 unique pixel-art characters used a modified ERC-20 contract because no NFT standard existed yet [3]. The project demonstrated demand but also highlighted the problem. Every team was building custom solutions. Wallets couldn't display these assets. Marketplaces needed unique integrations for each project. The ecosystem was fragmented and inefficient.
William Entriken, Dieter Shirley, Jacob Evans, and Nastassia Sachs formalized ERC-721 through the Ethereum Improvement Proposal process in 2018 [4]. The standard defined "Non-Fungible Token" and established the technical blueprint for digital collectibles. Within months, projects rushed to implement it. Within years, it supported a market worth tens of billions of dollars at peak.
What ERC-721 Actually Does
ERC-721 solves one problem: proving who owns which unique digital item.
Every NFT combines a contract address with a token ID. CryptoPunk #7804 exists at contract 0xb47e3cd837dDF8e4c57F05d70Ab865de6e193BBB with token ID 7804. This pair creates a globally unique identifier. The smart contract maintains a mapping: token ID 7804 belongs to address 0x123.... Query the blockchain, get the answer. No ambiguity. No disputes.
Three core capabilities make the standard work:
Ownership Tracking: The ownerOf() function returns the current owner of any token ID. Your wallet, every marketplace, any block explorer can verify who owns what. This single function creates the entire foundation for digital property rights.
Transfer Mechanics: Owners can send NFTs to other addresses or approve third parties to transfer tokens on their behalf. This approval system enables marketplaces to facilitate sales without ever holding customer assets. You approve OpenSea to transfer your NFT, they execute the sale when someone buys it, the token moves directly from your wallet to the buyer's. No custodial risk.
Safe Transfer Protection: ERC-721 includes a critical safety feature that prevents tokens from becoming permanently locked. The safeTransferFrom function requires receiving smart contracts to implement onERC721Received, confirming they can handle NFTs. Without this confirmation, the transfer reverts. This prevents the common mistake of sending NFTs to contracts that cannot manage them, where the tokens would become irretrievable. Regular transferFrom still exists for transfers to wallet addresses, but safeTransferFrom has become the standard for marketplace and protocol interactions.
Metadata Links: The tokenURI() function points to a JSON file containing the token's name, description, image, and attributes. This file lives off-chain (usually on IPFS or centralized servers) while the token itself lives on-chain. The blockchain proves ownership. The metadata file provides meaning.
Here's what a typical metadata file looks like, taken from Pudgy Penguin #1:
The attributes array enables rarity calculations and filtering. Marketplaces query these traits to show "only penguins with beards" or "rank by rarity score." The structure isn't mandated by ERC-721 itself, but the entire industry adopted it. OpenSea popularized this format, and now virtually every NFT collection follows it [5].
The standard includes optional extensions for enumerating tokens and retrieving collection metadata, but the core functionality boils down to: prove ownership, enable transfers, link to descriptive data. Everything else builds on these primitives.

Current Usage and Scale
ERC-721 processes roughly 500,000 to 1 million transactions weekly on Ethereum mainnet as of late 2024, down from peaks exceeding 2 million weekly during the 2021-2022 NFT boom [6]. The crash eliminated speculation but revealed sustainable use cases.
Transaction costs vary wildly with network congestion. A simple NFT transfer costs 50,000-80,000 gas units. At 20 gwei, that's $2-3. During peak demand in early 2022, gas spiked to 200+ gwei, making single transfers cost $30-50 [7]. Layer 2 solutions like Arbitrum and Optimism reduce this by 90%+, processing ERC-721 transfers for under $1.
Over 50,000 ERC-721 contracts have been deployed on Ethereum mainnet [8]. The standard dominates NFT infrastructure despite competition from ERC-1155 and chain-specific alternatives. Why? Network effects. Every wallet supports it. Every marketplace integrates it. Every developer knows how to build with it.
The standard's success created its own limitations. High gas costs pushed many projects to Layer 2 networks or alternative Layer 1 blockchains. Gaming projects particularly struggled with ERC-721's one-token-per-transaction model. But for high-value collectibles where individual pieces sell for thousands or millions, gas fees remain acceptable overhead.
The Creator's Perspective
Developers choose ERC-721 for one overwhelming reason: instant ecosystem access.
Deploy an ERC-721 contract, and your tokens automatically work with MetaMask, Ledger, Rainbow Wallet, and every other Ethereum wallet without custom integration. List them on OpenSea, which supports all ERC-721 tokens by default. LooksRare, X2Y2, and other marketplaces add your collection automatically. Block explorers like Etherscan display your transfers and current owners immediately.
This universality means you're building on infrastructure worth billions in existing investment. You don't convince wallets to add support. You don't negotiate marketplace listings. You don't write custom indexing logic. The standard handles it all.
The technical implementation is straightforward. OpenZeppelin provides audited reference contracts that most teams copy with minor modifications. Want a 10,000-piece generative art collection? Use their ERC721Enumerable extension. Need pause functionality in case of exploits? Add their Pausable module. Building from tested components beats writing custom code from scratch.
Royalty enforcement used to be another advantage. Royalties were never part of the ERC-721 specification itself. Instead, marketplaces like OpenSea implemented them as a convention, later formalized through separate standards like EIP-2981. Through 2022, major marketplaces honored creator royalties automatically. Sell an NFT on OpenSea, and 5-10% of the sale price flowed to the original creator on every resale. This created sustainable creator economics that physical art could never match.
Then competition intensified. Blur launched in late 2022 with optional royalties, prioritizing trader profits over creator revenues [9]. OpenSea followed suit, making royalties optional for most collections to compete [10]. The creator advantage that seemed built into ERC-721 evaporated. Now projects must implement on-chain royalty enforcement through allowlist systems or accept reduced revenues.
The gas costs hit creators hard during minting. Deploying a 10,000-piece collection in 2021 required hundreds of thousands in gas fees. Many projects shifted to lazy minting, where tokens only get created when first purchased, passing gas costs to buyers. Others moved to Layer 2 networks where deployment costs a few hundred dollars instead of six figures.
Despite these challenges, ERC-721 remains the default for serious NFT projects. The standard's maturity, security track record, and universal support outweigh the limitations for most use cases.
Want to deploy your own ERC-721 collection?
Our step-by-step tutorial walks you through deploying a complete NFT collection, from writing the smart contract to listing on OpenSea. You'll learn contract deployment, metadata configuration, and marketplace integration using the same tools discussed here.
Read the tutorial: Mint Your First NFT Collection with ERC-721 →
The Collector's Perspective
Owning an ERC-721 token means holding the private keys to a wallet that the blockchain recognizes as the token's owner. That's it. No company verifies your ownership. No database administrators can revoke it. No platform policy can delete it.
This ownership is portable. Your NFT works across any compatible platform. Display it in your wallet. List it on any marketplace. Use it as collateral in DeFi lending protocols. The token moves with you, not locked in a platform's ecosystem.
But ownership has limits that confuse new collectors. Buying an NFT doesn't automatically transfer copyright or commercial rights. You own the token. The creator typically retains the copyright. Think of it like buying a physical painting. You own that painting. You can't start printing posters and selling them without the artist's permission.
Bored Ape Yacht Club broke this pattern by granting full commercial rights to token holders [11]. Own Ape #1234, and you can make merchandise, create derivative works, or use the image commercially. This positioned BAYC differently from most collections and helped justify premium pricing. Other projects followed, but most still reserve commercial rights for creators.
The metadata storage question matters more than most collectors realize. If your NFT's tokenURI points to a centralized server and that server goes offline, your token's image and attributes disappear. The token still exists. You still own it. But viewing platforms can't display it anymore.
IPFS storage improves this. The image lives on a decentralized file network addressed by its cryptographic hash. Change one pixel, and the hash changes completely. This makes the data tamper-evident and resistant to single points of failure. However, IPFS availability depends on pinning services maintaining copies of the data. If no nodes pin your NFT's metadata, it becomes inaccessible despite being "on IPFS." Long-term preservation requires reliable pinning strategies through paid services, DAOs, or self-hosting. CryptoPunks moved their images to IPFS in 2021 for this reason [12].
On-chain storage solves it completely. Art Blocks renders generative art directly from on-chain code. No external servers. No IPFS nodes. The blockchain itself contains everything needed to recreate the artwork. This permanence costs significantly more in deployment gas but guarantees the asset's accessibility as long as Ethereum exists.
Collectors also gain access through ownership. BAYC holders attend ApeFest, an annual event that drew 4,000+ attendees in 2022 [13]. VeeFriends grants access to VeeCon, a multi-day conference where tickets trade for $50,000+ on secondary markets during peak demand [14]. The NFT functions as both collectible and membership credential.
Real-World Applications
Three projects demonstrate ERC-721's range, from technical experiments to billion-dollar brands.
CryptoPunks: The Accidental Genesis
Larva Labs launched CryptoPunks in June 2017, initially giving them away for free to anyone with an Ethereum wallet. The 10,000 unique characters used a modified ERC-20 contract because ERC-721 didn't exist yet.
The project's value exploded years later. In March 2021, Punk #7804 sold for $7.6 million [15]. By August 2021, the collection's total trading volume exceeded $1 billion [16]. Floor prices, the cheapest available Punk, peaked above 100 ETH ($300,000+) before crashing to 30-50 ETH by late 2024.
Yuga Labs acquired CryptoPunks from Larva Labs in March 2022, granting full commercial rights to holders [17]. This positioned Punks as the "genesis" NFT collection, valuable primarily for historical significance rather than utility.
The technical implementation required wrapping. Since Punks predated ERC-721, they didn't follow the standard. Larva Labs created a wrapper contract that converted original Punks into standard ERC-721 tokens, enabling compatibility with modern marketplaces and wallets [18]. Most Punks remain unwrapped, but the wrapper demonstrates how the ecosystem standardized around ERC-721 even for legacy projects.
Bored Ape Yacht Club: Building a Brand
Yuga Labs launched BAYC in April 2021 with 10,000 unique ape characters. Unlike CryptoPunks' free distribution, BAYC sold for 0.08 ETH ($200-300) each. The collection sold out quickly, attracting celebrity collectors including Jimmy Fallon, Snoop Dogg, and Paris Hilton [19].
The project's commercial rights grant distinguished it. Owners could create merchandise, animations, and derivative products using their specific ape. This spawned an entire ecosystem. Bored Ape holders launched clothing lines, created animated series, and opened physical retail stores.
Floor prices peaked above 150 ETH ($430,000+) in early 2022 before declining to 10-30 ETH by late 2024. Total trading volume exceeds $3 billion across all secondary markets [20].
Yuga Labs expanded the ecosystem through multiple launches. Mutant Ape Yacht Club in August 2021 provided "mutant" versions to BAYC holders. Bored Ape Kennel Club gave holders free dog NFTs. Each expansion used ERC-721, layering collections while maintaining the standard's interoperability.
The ApeCoin launch in March 2022 added a fungible token (ERC-20) to the ecosystem, demonstrating how projects combine token standards. BAYC holders received APE tokens as airdrops. The Otherside metaverse land sale in April 2022 raised $320 million in under three hours, though at the cost of $180 million in gas fees that temporarily crippled the Ethereum network [21].
Ethereum Name Service: Utility Over Art
ENS domains like "vitalik.eth" are ERC-721 tokens that resolve wallet addresses to human-readable names. Over 2.7 million names have been registered since the protocol launched in 2017 [22].
Registration costs $5 annually for names five characters or longer, scaling up to $640 annually for three-character domains. The pricing discourages squatting while keeping common names accessible.
ENS demonstrates utility-focused NFTs. These tokens aren't collectibles. They solve a user experience problem. Sending crypto to "alice.eth" beats copying and pasting "0x71C7656EC7ab88b098defB751B7401B5f6d8976F" and hoping you didn't make a typo.
The names also function as Web3 identity. Your ENS domain can point to your website, social profiles, and other blockchain addresses across multiple networks. Third-party services like Coinbase integrated ENS, letting users send funds to .eth names directly from the exchange.
Secondary markets emerged for premium names. "000.eth" sold for 300 ETH ($322,000) in 2022 [23]. Short domains and dictionary words command premiums. The speculation shows even utility NFTs develop collector markets when scarcity meets demand.
Where It Falls Short
ERC-721's design excels for unique, high-value items. It struggles with volume and efficiency.
Gas Costs Scale Poorly: Transferring 10 NFTs requires 10 separate transactions. During 2021's peak congestion, this meant $500+ in gas fees for what should be a simple batch operation. Games managing hundreds or thousands of items per player found this economically unsustainable.
Inflexible Structure: The standard handles one token type per contract. A game needs gold coins (fungible), health potions (semi-fungible with fixed supply), and legendary weapons (unique). ERC-721 requires managing NFTs alongside separate ERC-20 contracts for currencies and items with multiple copies. This creates complexity and wastes gas.
No Native Batch Operations: Want to approve a marketplace to sell your entire collection? You approve each token individually or grant blanket approval for all tokens. There's no middle ground for "approve these 20 specific NFTs as a group." User experience suffers when moving multiple assets.
Contract Deployment Overhead: Every new collection deploys a separate contract. Similar logic gets duplicated across thousands of contracts. This bloats the blockchain with redundant code.
These limitations didn't break ERC-721 for its original use case. CryptoPunks, BAYC, and Art Blocks work fine with single-item transfers and high per-piece values. When your NFTs sell for thousands of dollars each, $10 in gas is acceptable overhead.
But games needed something different. Managing an inventory of 100 items shouldn't cost $1,000 in gas fees. Trading 50 health potions for one rare sword shouldn't require 51 transactions. When Enjin, Horizon Games, and other gaming-focused teams encountered these constraints, they designed the standard that would solve them.
ERC-1155 emerged directly from ERC-721's limitations. Instead of one contract per token type, manage unlimited fungible and non-fungible tokens in a single contract. Instead of one transfer per transaction, batch hundreds of assets together. Instead of separate standards for currencies and collectibles, unify them under one interface.
ERC-721 created the NFT market. ERC-1155 made NFTs practical for applications beyond speculation and collecting. We'll examine how in the next section.
References
[1] CryptoKitties craze slows down transactions on Ethereum - https://www.bbc.com/news/technology-42237162
[2] Loveable Digital Kittens Are Clogging Ethereum's Blockchain - https://www.coindesk.com/markets/2017/12/04/loveable-digital-kittens-are-clogging-ethereums-blockchain
[3] CryptoPunks - https://www.cryptopunks.app
[4] ERC-721: Non-Fungible Token Standard - https://eips.ethereum.org/EIPS/eip-721
[5] Metadata Standards - https://docs.opensea.io/docs/metadata-standards
[6] NFT Activity Dashboards - https://dune.com/browse/dashboards?tags=nft
[7] Ethereum Gas Tracker - https://etherscan.io/gastracker
[8] ERC-721 Contract Dashboards - https://dune.com/browse/dashboards?search=erc-721
[9] Blur Marketplace - https://blur.io
[10] On Creator Fees - https://opensea.io/blog/news/on-creator-fees
[11] BAYC Terms & Conditions - https://www.boredapeyachtclub.com/licenses/bayc
[12] On-Chain CryptoPunks - https://www.larvalabs.com/blog/2021-8-18-18-0/on-chain-cryptopunks
[13] NFT NYC Was The Top NFT Event Of 2022 - https://nftevening.com/nft-nyc-was-the-top-nft-event-of-2022-heres-what-you-missed/
[14] VeeCon 2024 Tickets Out Now! A Guide to Ticketing and Registration - https://blog.veefriends.com/veecon-2024-tickets-out-now-a-guide-to-ticketing-and-registration-35c1f3eadc65
[15] 'CryptoPunk' NFT Sells for $11.8 Million at Sotheby's - https://www.reuters.com/technology/cryptopunk-nft-sells-118-million-sothebys-2021-06-10/
[16] CryptoPunks Statistics - https://dappradar.com/ethereum/collectibles/cryptopunks
[17] Yuga Labs Acquires CryptoPunks and Meebits - https://larvalabs.com/blog/2022-3-11-18-0/yuga-labs-acquires-cryptopunks-and-meebits
[18] Wrapped CryptoPunks - https://wrappedpunks.com
[19] Bored Ape Yacht Club: Overview, Market Impact, and Celebrity Ownership - https://www.investopedia.com/bored-ape-yacht-club-6747275
[20] Bored Ape Yacht Club All-Time Sales - https://cryptoslam.io/bored-ape-yacht-club
[21] Bored Ape Yacht Club Creator’s Metaverse Mint Rocks the Ethereum Blockchain - https://www.theverge.com/2022/5/1/23051974/bored-ape-yacht-club-metaverse-mint-rocked-ethereum-blockchain-otherside-otherdeeds-yuga-labs
[22] What Is Ethereum Name Service? - https://www.binance.com/en-IN/square/post/2966111243273
[23] Meet ENS - https://thenamespace.substack.com/p/meet-ens
Last updated

