Early NFT Claimants, Examined

Last update:

Why this page exists

The record of the earliest NFTs is absolutely awash with disinformation. How awash it is seems almost unbelievable until you understand the 2021 NFT frenzy economics that left the space in this condition. Once CryptoPunks exploded in popularity behind their “first NFTs on Ethereum” claim, there was a mad rush to find other old crypto objects, attach a “first” or “old” narrative to them and hype them to the moon.

“CryptoPunks lore is largely steeped in the assertion that they are the oldest NFT project on the Ethereum blockchain. It’s a line that was floated by almost all of the punk owners I spoke with as the main reason they had dumped hundreds of thousands of dollars into the platform.”

— Lucas Matney, “The Cult of CryptoPunks” (archived), TechCrunch, 8 April 2021

Everyone had a part to play. Holders talked up their bags. Influencers dug up forgotten projects, bought in and led the hype, no matter how absurd. Founders cut deals with influencers and some lied about being “first” for years. Auction houses put the claims on the auction block, and news outlets and even record books repeated them until they looked like settled fact. Corrections, where they happen at all, are quiet edits; admissions of fault and apologies are essentially non-existent.

What this page is

This page sorts the claims out. It takes each project that has been publicly called the first NFT, or one of the earliest, in the order they appeared, and tests it against the definitions in What Is an NFT?: the technical definition, and the collectible definition’s three hard and three soft requirements. Each entry shows where its “NFT” label came from, how it measures up, and the sources, so every finding can be checked.

What it isn’t

It is not a catalogue of every early contract; goatishduck’s Early Ethereum NFTs list covers far more. Projects nobody has called first are left out unless they are older than Etheria, the first project here to meet all three hard requirements. Only two are: Documents and Oracles.

Method

Each project is judged on the contract or asset its own claim rests on. Dates are UTC and come from the blockchain wherever possible, and findings come from each contract’s verified source code and from reading the chain directly. Etheria’s four 2015 versions are judged together, as are CryptoPunks’ two 2017 contracts, which score the same. CryptoCats’ four contracts, v0 to v3, score differently, so they are judged side by side in one entry and get a row each in the table. Where an owner can avoid a flaw by their own action, such as wrapping a token or setting a price no one will pay, deterministic ownership is marked as met, with a note. Where anyone else keeps power over owners’ tokens, it is not. Every contract source behind the marks, verified or rebuilt, is in the early_ethereum_contract_sources repository, which checks each one against the chain with one command. The table’s data, with every mark, reason, source and on-chain check, is also published as JSON.

✓ meets   ◐ partly   ✗ fails  ·  On-chain: High / Medium / Low

At a glance

ProjectOriginal purposeTechnical NFTHard requirements (all must be met)Soft requirements
Real blockchainDeterministic ownershipAuthor-defined setUniqueLimited supplyOn-chain
Namecoin names and “collections”17 April 2011Utility✓✓✗✗✓✗Medium
Colored Coins27 March 2012Utility◐✗✗✗◐✗Low
Quantum/Monegraph3 May 2014Collectible✓✓✗✗✓✗Medium
OLGA12 June 2014Collectible✗✗✗✗✓1Low
Spells of Genesis11 March 2015Collectible✗✗✗✗✗◐Low
Terra Nullius7 August 2015Utility✗✗✗✗✗✗High
The 69er contracts (ICAPRegistrar)7 August 2015Utility✓✓✓✗✓✗High
GlobalRegistrar (incl. Linagee)8 August 2015Utility✓✓✓✗✓✗High
Documents12 August 2015Utility✓✓✓✗✓✗Low
Oracles24 August 2015Utility✓✓✓✗✓3High
Etheria19 October 2015Collectible✓✓✓✓✓4 × 457High
Rare Pepes9 September 2016Collectible✗✗✗✗✗◐Low
Etherization16 September 2016Collectible✗✓✗◐✓✗High
PixelMap17 November 2016Collectible✓✓✓✓✓3,970High
Peperium14 April 2017Collectible✗✓◐✗✗◐Medium
Curio Cards9 May 2017Collectible✗✓◐✗✗◐Medium
CryptoPunks v1/v29 June 2017Collectible✓✓✓✓✓10,000Medium
MoonCatRescue9 August 2017Collectible✓✓✓✓✓25,600High
CryptoCats v012 November 2017Collectible✓✓✓✓✓12Medium
CryptoCats v125 November 2017Collectible✓✓✓◐✓◐Low
CryptoCats v219 December 2017Collectible✓✓✗◐✓◐Low
CryptoCats v324 December 2017Collectible✓✓✗◐✓◐Low
CryptoKitties23 November 2017Collectible✓✓◐✓✓◐Medium

Namecoin names and retroactively curated “collections” 17 April 2011

Namecoin · Genesis block (announced 18 April 2011); the “collection” names were registered from May 2011 (the first Punycodes) to 2017 and grouped years later

A fork of Bitcoin whose ledger records names and attached values as well as coins. Register a name, attach a value, and renew it, or lose it. A renewal is an update that writes the value again, overwriting whatever was attached. The “collections” are ordinary Namecoin names, picked out years after they were registered because they share a trait, then named and sold as collections. Punycodes are domain names whose encoded characters decode to symbols or ASCII art. Twitter Eggs (277) and Blockheads (42) are personal profiles from 2014 and 2015, made through sign-up services such as Onename, which registered a Namecoin name for each new user, paid the fee itself (“about 7 US cents”) and wrote the user’s profile into it, including a link to their picture. Anyone who still had Twitter’s default egg picture got an egg; Blockheads are pictures from the EightBit avatar builder. Namecoin Identities are names in the identity namespace, registered from 2012. The people who registered these names were setting up websites and profiles, not making collections, and most let them lapse. The Twitter Eggs promoters said so themselves: “most users didn’t renew their accounts. This meant their NFTs were up for grabs.”1 Emblem Vault lists each group on OpenSea as a “curated” collection, “retroactively curated” in its own words,2 and keeps the names it holds renewed, so that they do not expire again.

Where the “NFT” label came from: The Twitter Eggs promoters, on Medium, 12 November 2021, called them “one of the oldest PFP NFTs” and said they had “been trading between 15–80 ETH each.” Jake Gallen’s Namecoin NFT directory (archived) on Medium, 11 March 2022, went further: “Namecoin assets are the first known implementation of non-fungible tokens.” The collector chainleft.eth wrote in an essay of 27 June 2022 that “Namecoin NFTs are the first NFTs,” and described the catch in a follow-up of 21 July 2022: “When a Namecoin domain expires, the colored coin becomes unspendable. In practice, it can be called ‘burnt’, because when the domain name is re-registered later, a new UTXO chain starts.” The same essay says: “I own 11 Namecoin assets.” The collections’ own listings repeat it: Emblem Vault calls Punycodes “some of the earliest attempts at on-chain art in the cryptocurrency realm,” and the Namecoin Identities listing calls itself “the third-oldest NFT collection, after .bit domains (April 2011) and Punycodes (May 2011).”

Verdict: An NFT in the technical sense and a genuine precursor, but not a collectible NFT: names expire and belong to no set. Each “collection” is a set drawn up years later, from registrations nobody made as art. Many of the names had lapsed and been registered anew, so the 2014 and 2015 dates on them belong to registrations that ended long ago. By the same method, any old domain names that share a trait could be grouped, renewed and sold as the first NFT collection.

1 One Twitter Egg, u/a_aslau, shows the pattern. Its history: it was registered on 18 September 2015 as someone’s Onename-style profile, holding a name, a two-word bio, links to Twitter and Facebook accounts and a link to a picture file on Amazon’s servers (archived), which is the green egg. It was last updated that same day, so it expired in 2016. On 27 July 2021 the name was registered again and the 2015 profile written back in, word for word. That registration lapsed too, and the name was taken the moment it expired, on 16 September 2022; it has pointed to “domaindeals.pro” ever since. OpenSea still lists it among the Twitter Eggs, as “[EXPIRED ITEM] u/a_aslau.” On 17 October 2026 the collection’s OpenSea page showed 89 items, not 277, and marked 7 of the first 50 as expired.

2 Emblem Vault, whose contract issues these collections’ tokens, became part of Crosschain Ventures LLC in May 2024. Its announcement names the owners: “The initial ownership group of Crosschain Ventures includes Eric Porper, Shannon Code, Adam McBride, and Jake Gallen, with Jake serving as CEO.” Jake Gallen wrote the 2022 Namecoin NFT directory quoted above; Adam McBride is the promoter of Terra Nullius.

Sources: Namecoin FAQ (archived); Namecoin announcement, Bitcointalk (archived); Punycodes, curated by Emblem Vault (OpenSea); Twitter Eggs, curated by Emblem Vault (OpenSea); Blockheads, curated by Emblem Vault (OpenSea); Namecoin Identities (OpenSea); Pete Rizzo, “How OneName Makes Bitcoin Payments as Simple as Facebook Sharing,” CoinDesk, 27 March 2014 (archived); TwitterEggs, “TwitterEggs — The NFTs From Namecoin,” Medium, 12 November 2021 (archived).

Colored Coins 27 March 2012

Bitcoin (overlay) · Yoni Assia’s “bitcoin 2.X (or currency 2.x) – initial specs”; Meni Rosenfeld’s “Overview of Colored Coins” followed on 4 December 2012

An idea for “coloring” particular bitcoins so that they stand for something else, such as shares, property or coupons. Several incompatible implementations followed. It is a concept, not a single collection.

Where the “NFT” label came from: The idea grew out of Bitcointalk discussions in 2012, including “Investigating the need for MasterCoin” (archived) (17 August 2012) and Alex Mizrahi’s colored-bitcoins proof of concept (archived) (7 September 2012). The NFT framing came much later, in Andrew Steinwold’s history of NFTs (archived) (7 October 2019): “One could argue that Colored Coins are the very first NFTs to exist.”

  • ◐ Fits the technical NFT definition. A coin can be colored to stand for a unique asset, but the color exists only for software that tracks it.
  • ✗ Hard 1: defined and enforced by a real blockchain. Bitcoin itself does not know a coin is colored; color-aware software decides what each coin represents.
  • ✗ Hard 2: deterministic ownership. Bitcoin enforces who holds a coin, not what it stands for; owning the colored asset depends on color-aware software agreeing on the coloring.
  • ✗ Hard 3: author-defined, blockchain-enforced set. Bitcoin cannot define or enforce a set; which coins carry a color exists only in color-aware software.
  • ◐ Soft 1: uniqueness. Usually issued as many interchangeable units, like an ERC-20 token; only a color issued as a single unit stands for one thing.
  • ✗ Soft 2: limited supply. Bitcoin enforces no limit on how much of a color is issued; any limit is only the issuer’s word.
  • Low Soft 3: on-chain. Colors and asset definitions live in color-aware software and off-chain files; the chain holds ordinary transactions, plus a short marker in some schemes.

Verdict: An important precursor, but a concept rather than a collection, and its colors are not enforced by Bitcoin. Not an NFT under either definition.

Sources: Yoni Assia, “bitcoin 2.X (or currency 2.x) – initial specs” (archived 2012); Meni Rosenfeld, “Overview of Colored Coins” (PDF) (archived).

Quantum/Monegraph 3 May 2014

Namecoin · Name registered on 2 May 2014 (US time; 3 May UTC). Sotheby’s gives 3 May, Guinness 5 May

Kevin McCoy’s Namecoin entry, registered while he and Anil Dash were building Monegraph, a system for registering digital art on Namecoin, at Rhizome’s Seven on Seven event in New York. Its value asserts title to a GIF on his web server, gives the file’s SHA-256 hash, links to a tweet, and declares that “title transfers to whoever controls this blockchain entry.” See What Is an NFT? for the full case.

Where the “NFT” label came from: The earliest “first NFT” claim found is Axios, 25 March 2021 (archived): “The first-ever NFT was minted by artist Kevin McCoy in 2014.” McCoy’s collaborator Anil Dash wrote in The Atlantic (archived) that April, “When we invented non-fungible tokens…”, and Sotheby’s (June 2021) and Guinness World Records (archived) amplified it.

Verdict: Not an NFT under the collectible definition. The Quantum sold at Sotheby’s in June 2021 was a new ERC-721 token McCoy minted on Ethereum on 28 May 2021.

Sources: Rhea Myers, “Regarding Quantum” (archived); The 2014 Namecoin entry (archived); Sotheby’s lot page (archived).

OLGA 12 June 2014

Counterparty (on Bitcoin) · Asset issued at Bitcoin block 305,451

A Counterparty asset issued as a single, indivisible unit with the description “Моя Вечная One & Only” (“My Eternal One & Only”). An image was broadcast separately from the same address in August 2015 (archived), without naming the asset.

Where the “NFT” label came from: OLGA’s own issuer, JP Janssen, after a Telegram user rediscovered it in March 2021. The earliest dated claim found is his post of 8 May 2021 (archived): “…discovered OLGA, the oldest known NFT.”

Verdict: Not an NFT under either definition.

Sources: OLGA asset record (archived).

Spells of Genesis 11 March 2015

Counterparty (on Bitcoin) · First card, FDCARD, issued. The game itself launched on 20 April 2017

Card assets for the Spells of Genesis mobile game. The game’s own list of its significant early cards (archived) includes ten issued before Etheria’s first deployment, beginning with FDCARD on 11 March 2015.

Where the “NFT” label came from: Its own developer, on the Counterparty forum, 3 November 2014 (archived): “the first onchain economy game ever made.” That is a claim about games, not NFTs; later NFT histories, such as Steinwold’s in 2019, call it a pioneer of in-game assets on a blockchain.

Verdict: Not an NFT under either definition.

Sources: Spells of Genesis documentation (archived); FDCARD asset record (archived).

Terra Nullius 7 August 2015

Ethereum · Contract deployed at block 49,880

A guestbook contract, and the whole of it fits in one sentence: claim(message) appends the caller’s address, a message and the block number to a list. The first entry reads “Peter was here.”

Where the “NFT” label came from: Fraudulently hailed as the oldest NFT on Ethereum by Adam McBride, on X, 28 September 2021 (archived) (still 27 September in US time zones), within a day of the 2021 “wrapper” going live: “The oldest NFT on Ethereum is now Terra Nullius.”1 Guinness World Records (archived) later listed it as the “First Ethereum NFT,” with a description the contract itself contradicts; see What Is an NFT? for both.

Verdict: Not an NFT under either definition. Signing a guestbook leaves your name on a list; it does not give you anything to own, sell or give away. The tokens traded today come from a separate token contract written in 2021, which wraps nothing: it holds no guestbook entries and cannot move them, and only mints new tokens beside them. 3,978 of its 4,000 tokens were minted from September 2021 on.

1 The 2021 contract McBride credited to “the team behind the project” was deployed by an address funded two minutes earlier with 0.499 ETH from FTX, which minted 27 of the first 80 tokens to itself. The address that deployed Terra Nullius in 2015 has not sent a transaction since 7 November 2015. McBride minted two for himself, tokens 44 and 522, on 27 September 2021 in US time zones, the date of his article.

Sources: Terra Nullius contract; The 2021 contract; Adam McBride, “Terra Nullius — The First NFT on Ethereum,” Medium, 27 September 2021 (archived the next morning, UTC).

The 69er contracts (ICAPRegistrar) 7 August 2015

Ethereum · First contract deployed at block 50,500, under three hours after Terra Nullius; a second, from the same deployer, at block 52,426 on 8 August, three hours after the first GlobalRegistrar

Two deployments of ICAPRegistrar, the registry behind ICAP, an IBAN-style address format for Ethereum in which an address can name a four-character institution code, such as an exchange’s, instead of an account. Marek Kotewicz added the contract to Ethereum’s dapp-bin repository on 6 August 2015, a cut-down copy of Gavin Wood’s FixedFeeRegistrar: reserve a name for 69 ether, point it at an address, transfer it, or disown it for a 69-ether refund. The first deployment lacks the two lookup functions. Nothing was ever registered on it, and it holds no ether. Seventy-two minutes after the second was deployed, Kotewicz’s web3.js commit “iban namareg address” made it web3.js’s ICAP registry, and it was still hard-coded there in web3.js 0.20.7, the last 0.x release. On 10 August 2015 the address Etherscan labels Kraken 1 reserved KRAK, and the one it labels Bittrex reserved BTRX. KRAK, BTRX, YUNB and HHKB are still registered. The contract holds 314 ether: 276 of it is those four names’ refundable deposits, and the other 38, sent in stray transfers and failed reservations, can never leave.

Where the “NFT” label came from: Found by @fivedogit on X, 11 October 2022 (archived), who searched every contract deployed between Ethereum’s first contract and the first GlobalRegistrar for the functions of a name registrar. The thread was sarcastic. It mocked the influencers who kept announcing yet another “first NFT,” above all the GlobalRegistrar copy sold as Linagee, by holding them to their own loose standard: “So this title screen was sarcastic. We don’t think anybody should really care that much about infinite mint name registries that didn’t do anything new vs Namecoin (2011).” It closed: “Case closed. ‘First NFT on Ethereum’ has been found and it’s poetically stupid which really highlights how pointless this was in the first place.”

Verdict: NFT contracts in the technical sense. The first is about six hours older than the first GlobalRegistrar, though it was never used. Not collectible NFTs: the registry was built to route ICAP payments to institutions such as exchanges, and there is no author-defined set. Their “first NFT on Ethereum” label was a joke at the expense of the Linagee claim, not a claim.

1 Neither contract has verified source on Etherscan. Compiled with Solidity 0.1.1 and the optimizer on, dapp-bin’s ICAPRegistrar.sol reproduces the second contract byte for byte once transfer is placed before disown. Without its two lookup functions, and with setAddr placed second, it reproduces the first. The order matters only because that compiler laid out function bodies by memory address, which decides which of two identical blocks of code it keeps.

Sources: First 69er contract; Second 69er contract; ICAPRegistrar.sol in dapp-bin, 6 August 2015; The reordered sources that reproduce both contracts; FixedFeeRegistrar.sol in dapp-bin; web3.js commit “iban namareg address,” 8 August 2015; web3.js 0.20.7, namereg.js; ICAP specification (archived); @fivedogit thread, 11 October 2022 (archived); goatishduck, Early Ethereum NFTs (archived).

GlobalRegistrar (incl. Linagee Name Registrar) 8 August 2015

Ethereum · First deployment at block 51,807, 8.5 hours after Terra Nullius

Gavin Wood’s name registrar, which he began as NameReg in August 2014 and rewrote in Solidity in January 2015. The Frontier Guide, the user documentation for Ethereum’s first release, presented it as the chain’s basic registrar service: “GlobalRegistrar to associate names (strings) to accounts (addresses).” geth 1.0 and 1.1 shipped it compiled, with no registrar address set, so the guide’s deployment command, admin.setGlobalRegistrar("", primary), deployed a fresh copy. Copies were deployed at least 19 times (archived) between August 2015 and February 2016, from different addresses; goatishduck’s list (archived) includes six of the copies (v0, v1, v6, v9, v13 and v18) as having names registered before 2021. The first deployment is the one now called the Linagee Name Registrar; the tenth was hardcoded into geth as the official Frontier registrar.

Where the “NFT” label came from: Rediscovered in late September 2022 by Mason Keresty, as Crypto Briefing reported on 4 October 2022 (archived). Leonidas, on X, 30 September 2022 (archived): “It appears that potentially the oldest and now first NFT on Ethereum was just rediscovered.” Bankless and others followed within days. Etheria’s account disputed it on 4 October 2022 (archived): the contract is Gavin Wood’s GlobalRegistrar, and “has 18 other identical copies, all OG, deployed from August 2015 to January 2016.”

Verdict: An NFT in the technical sense, as any name registry is. Not a collectible NFT: there is no author-defined set.

1 No copy has verified source on Etherscan. The six copies in goatishduck’s list are byte for byte the compiled registrar that geth 1.0.0 to 1.1.x carried as GlobalRegistrarCode, next to its source, GlobalRegistrarSrc. That binary predates every Solidity build the Solidity project archives (it lacks the memory setup that every archived build emits, starting with 0.1.1 in August 2015), so it cannot be recompiled from the source today.

Sources: Ethereum Frontier Guide, “Registrar services” (archived August 2015); Gavin Wood’s registrar in Ethereum’s dapp-bin repository; geth 1.0.1’s registrar code and source; geth 1.0.1’s setGlobalRegistrar; geth’s hardcoded Frontier registrar (2015); First deployment (Linagee); Tenth deployment (geth’s official registrar); @etheria_feed thread, 4 October 2022 (archived).

Documents 12 August 2015

Ethereum · Contract deployed at block 74,814; no source verified on Etherscan

A document registry: newDocument registers an unused 32-byte document hash to the caller, and transferDocument lets the hash’s current holder pass it to another address. Every registration and transfer is recorded in a history. The only privileged function, empty, sends the contract’s ether to its deployer. goatishduck counts 9 items (archived) owned before 2021.

Where the “NFT” label came from: No “first NFT” claim found. It is listed in goatishduck’s Early Ethereum NFTs (archived) spreadsheet, whose stated rules for inclusion are that the contract can generate multiple distinct items, that ownership and the ability to transfer are unconditional, and that either a limit was set before 2021 or at least one item was owned in 2015–20.

Verdict: An NFT in the technical sense, as a registry of owned, transferable document hashes. Not a collectible NFT: there is no author-defined set.

1 No source is verified on Etherscan, and no original source has been found. A source written from the deployed code compiles, with Solidity 0.1.1 and the optimizer on, to exactly that code, constructor included, and the marks above come from it.

Sources: Documents contract; Source rebuilt from the deployed code; goatishduck, Early Ethereum NFTs (archived).

Oracles 24 August 2015

Ethereum · Contract deployed at block 136,950; no source verified on Etherscan

An oracle with three reporting seats (oracle1 to oracle3). Each seat’s holder can report one value with setWinningOutcome, and getWinningOutcome turns the value two seats agree on into an outcome number from 1 to 10,001; without agreement it returns a fallback that anyone could set with hardSet after 1 November 2015. Its deployer was building prediction-market contracts at the time, holds all three seats, and reported the same value from each on 14 October 2015. goatishduck lists it with a limit of 3 (archived).

Where the “NFT” label came from: No “first NFT” claim found. It is listed in goatishduck’s Early Ethereum NFTs (archived) spreadsheet, whose stated rules for inclusion are that the contract can generate multiple distinct items, that ownership and the ability to transfer are unconditional, and that either a limit was set before 2021 or at least one item was owned in 2015–20.

Verdict: An NFT in the technical sense, but infrastructure, not a collectible: an oracle’s three reporting seats.

1 No source is verified on Etherscan, and no original source has been found. A source written from the deployed code compiles, with Solidity 0.1.1 and the optimizer on, to exactly that code, constructor included, and the marks above come from it. Two of its function names, setWinningOutcome and hardSet, are in no public signature database and were recovered by testing candidate names against the code.

Sources: Oracles contract; Source rebuilt from the deployed code; goatishduck, Early Ethereum NFTs (archived).

Etheria 19 October 2015

Ethereum · v0.9 deployed at block 407,810 on 19 October 2015; v1.0 on 22 October, v1.1 on 29 October and v1.2 on 1 November

Four versions of the same 33×33 hexagonal map, each of 1,089 tiles, 457 of them ownable land, with ownership, names and voxel builds stored on-chain. The four maps are now shown together as one. Before v0.9, Etheria’s creator deployed 104 test contracts with Etheria’s tile functions, all from one account, ranging from a 9×9 prototype on 26 September 2015 to near-final versions, many of them quick redeploys. A published search of every contract deployed before v0.9 found no others. All but four self-destructed or never had code. The four that remain, v0.6, v0.7, v0.8 and v0.85, each have a fatal bug: v0.6’s tiles all belong to a corrupted address that nobody controls, so they can never move, and in the other three anyone can accept any offer on any tile, including their own, and so take any tile for 0.01 ether.1

Where the “NFT” label came from: Etheria’s own account, on X, 13 March 2021 (archived): “the first NFT project ever deployed to the Ethereum blockchain.” The earliest third-party description found is a Wikipedia edit the next day (archived), “One of the earliest NFT art projects was a 2015 project called Etheria,” followed by Decrypt (archived) the same day.

Verdict: Meets the technical definition and every hard and soft requirement. Hence, the first true NFT project.

1 All eight, the four versions and the four surviving tests, have source verified on Etherscan, and each source compiles to exactly the deployed code, constructor included, with the Solidity compilers of autumn 2015 and the optimizer on. Solidity 0.1.6’s output depended on what it had compiled before in the same session, so v0.9 and v1.1 match when their source is compiled four times and twice in a row, and v1.0 and v1.2 when compiled after two unrelated contracts, with lines of spaces added around the source. The etheria_source repository gives the steps.

2 v0.9 tiles can be wrapped safely by getting the wrapper’s offer into the first position of the tile’s offer list and accepting it, with ordinary Ethereum transactions. Wrapped tiles trade safely.

Sources: Etheria source code, all versions; v0.9 contract; v1.0 contract; v1.1 contract; v1.2 contract; The four surviving test versions and their bugs; Search of every contract deployed before v0.9; Steps to reproduce the deployed code.

Rare Pepes 9 September 2016

Counterparty (on Bitcoin) · First card, RAREPEPE, issued (8 September in US time zones)

Pepe the Frog trading cards issued on Counterparty and approved for listing by the Rare Pepe Directory website.

Where the “NFT” label came from: No source from 2016 to 2018 found calling Rare Pepes non-fungible tokens. The earliest NFT framing found is Andrew Steinwold’s history of NFTs (archived), 7 October 2019.

Verdict: Not an NFT under either definition.

Sources: RAREPEPE asset record (archived); Rare Pepe Directory (archived).

Etherization 16 September 2016

Ethereum · Contract deployed at block 2,269,698

A strategy game whose 2016 contract records cities, buildings and units on-chain.

Where the “NFT” label came from: Adam McBride, Medium, 14 December 2021 (archived): “NFT archaeology has uncovered the very first in-game NFTs on Ethereum.” The project’s wrapper listing repeats it.

Verdict: Not an NFT under either definition as deployed.

Sources: Etherization contract.

PixelMap 17 November 2016

Ethereum · Official contract deployed at block 2,641,527; three test contracts at blocks 2,633,625, 2,633,643 and 2,640,213 on 15 and 16 November

A map of tiles whose owners store each tile’s image on-chain. Three test contracts came first, deployed from a different address on 15 and 16 November 2016. They share identical bytecode and each has 3,970 tiles, but in them the 2 ether paid for an unowned tile goes back to the buyer, so their tiles cost only gas; in August 2021 a single contract claimed almost all of them. The official contract followed on 17 November. Its tiles have no gift transfer and change hands only by sale. Unsold tiles were hard-coded at 2 ether, so in August 2021 its creator bought the unsold tiles and relisted them at 0.35 ether, and the 2021 wrapper wraps a tile by buying its owner’s own listing and unwraps one by listing it for sale. The map has room for only 3,969 tiles, so tile 3,969 exists in the contract but is hidden; its creator called this “my math in 2016 was a fail.”

Where the “NFT” label came from: Rediscovered by Adam McBride, Medium, 23 August 2021 (archived), as a “Lost 2016 NFT Project”; he did not call it the first. He had first contacted its creator, Ken Erwin, and offered to relaunch it. In the words of This American Life (archived) (30 April 2022), he said he knew “a group of guys who love the early historic NFTs” and “they’ll all talk it up on Twitter.” He advised cutting the unsold tiles to 0.35 ether, and Erwin told the show, “I gave him a half million dollars as a thank you.” Its marketplace listing now calls it the oldest verified collection on OpenSea.

Verdict: Meets the collectible definition.

Sources: PixelMap contract; Test contract 1; Test contract 2; Test contract 3; Wrapped PixelMap (2021); Adam McBride, “Pixel Map — Lost 2016 NFT Project” (archived); Adam McBride, “PixelMaps Secret Tile” (archived); goatishduck on PixelMap, 6 July 2025 (archived); This American Life 769, “The Reluctant Explorer,” 30 April 2022 (archived).

Peperium 14 April 2017

Ethereum · First card, KFPEPE, created

A card platform on which each card is a separate ERC-20 token created through a shared factory contract. A test factory came 14 minutes before the first (14 April 2017, 23:16 UTC), and a second factory, Series 2, followed on 27 August 2017; Series 2 also lets its owner import existing cards (importRare).

Where the “NFT” label came from: The earliest NFT framing found is its marketplace listing after a January 2023 rediscovery: “the earliest 1/1 artworks and art editions on Ethereum.” The project’s own site says “Probably the FIRST art collection on Ethereum.”

Verdict: Not an NFT under the technical definition, and fails the set requirement under the collectible one.

Sources: KFPEPE card contract; Peperium (archived).

Curio Cards 9 May 2017

Ethereum · First card contract created

Thirty artworks, each a separate ERC-20 token, created through a shared card factory contract. A test factory, deployed from a different address, came 16 hours earlier (9 May 2017, 01:24 UTC).

Where the “NFT” label came from: The project’s own website, before its March 2021 rediscovery: by January 2021 it read “Curio was the first Non-Fungible Token (NFT) marketplace for artists on mainnet Ethereum.” Christie’s sale of a full set in October 2021 amplified it.

Verdict: Not an NFT under the technical definition, and its 30-card set was not defined on-chain until 2021.

Sources: Curio Cards card 1; Curio card factory; Curio Cards documentation (archived).

CryptoPunks v1/v2 9 June 2017

Ethereum · v1 deployed at block 3,842,489 on 9 June 2017, and the first punks were claimed the same day; v2 deployed at block 3,914,495 on 22 June, with all 10,000 punks assigned on 23 June

10,000 characters, claimable for free, with a built-in market. The original contract, v1, had a bug in that market, and Larva Labs replaced it two weeks later with v2, the contract CryptoPunks’ own site dates: “First released on June 23, 2017.” Both contracts still work.

Where the “NFT” label came from: The earliest third-party NFT framing found is the ERC-721 proposal by Dieter Shirley of the CryptoKitties team, September 2017: “Examples of existing or planned NFTs are LAND in Decentraland, the eponymous punks in CryptoPunks…” Larva Labs learned it was not first in January 2018. At the R.A.R.E. Digital Art Festival, Matt Hall’s slide (archived) called CryptoPunks “The first digital collectible on Ethereum (as far as we know),” and he said it aloud “so that if I’m wrong, someone will certainly correct me afterwards.” In the questions (archived), a member of the Curio Cards team told him, “we launched our first Curio art in May on Ethereum,” and Hall answered, “Okay, you know, we were the second.”2 Larva Labs’ own site nonetheless began calling them “the first ‘Non-Fungible Token’” by February 2019, and softened that to “one of the earliest examples” in mid-2021 (archived) after being called out directly by Etheria’s founder (archived). No acknowledgement or apology was ever issued.

  • ✓ Fits the technical NFT definition. Every punk is unique and owned, and only its owner can transfer it. v2 adds an atomic built-in market.
  • ✓ Hard 1: defined and enforced by a real blockchain. Punks and owners are defined and enforced by each contract.
  • ✓ Hard 2: deterministic ownership. No expiry and no creator powers over claimed punks; only an owner can transfer one. In v2 the deployer’s power to assign punks ended when allInitialOwnersAssigned was called, and sales are atomic. v1’s market should not be used for sales.1
  • ✓ Hard 3: author-defined, blockchain-enforced set. 10,000 punks, enforced by each contract. v1 enforced the count but not which 10,000: getPunk never checked that a claimed index was below 10,000. Three claims in June 2017 used indices outside the set (76,623, 9,845,944 and 2256−1), which used up the count, so punks #1416, #1838 and #1841 can never be claimed in v1.
  • ✓ Soft 1: uniqueness. Every punk is unique.
  • ✓ Soft 2: limited supply. 10,000.
  • Medium Soft 3: on-chain. A hash of one composite image of all 10,000 punks is on-chain; the image is off-chain, and which part of it is which punk follows Larva Labs’ convention, not anything on-chain. Larva Labs put each punk’s image on-chain by index in a separate contract in 2021, which neither contract can refer to.

Verdict: Both contracts meet the collectible definition.

1 v1’s built-in market credited each sale’s payment to the buyer instead of the seller. A v1 punk can still be wrapped safely, because a gift transfer or a zero-price offer to the wrapper alone moves no payment. Wrapped punks trade safely.

2 From the recording of Hall’s talk, posted on YouTube by RARE ART LABS on 29 January 2018: the slide is on screen from 0:29 to 0:49, and the quotes are at 1:06, 20:46 and 20:57.

Sources: CryptoPunks v1 contract; CryptoPunks v2 contract; CryptoPunks (archived).

MoonCatRescue 9 August 2017

Ethereum · Contract deployed at block 4,134,866; the first cat was rescued on 10 August

Cats whose 5-byte IDs are found by proof-of-work “rescue” and determine each cat’s look.

Where the “NFT” label came from: Rediscovered in March 2021. On X, 12 March 2021 (archived), @ETHoard noted it “actually predates CryptoCats”; Decrypt (archived) covered it the next day.

Verdict: Meets the collectible definition.

Sources: MoonCatRescue contract.

CryptoCats 11 November 2017

Ethereum · First test contract at block 4,530,388 on 11 November 2017; v0 at 4,537,587 on 12 November; v1 on 25 November; v2 on 19 December; v3 at 4,788,823 on 24 December. All seven cat contracts still work

Eight-bit cats based on CryptoPunks’ code, from TheTwentySix in Melbourne, in seven contracts. This page numbers them by the version each contract reports about itself (goatishduck’s list numbers them differently):
Two test contracts (11 November 2017, from a different deployer), each with 12 cats and the placeholder image hash “INSERT ACTUAL HASH HERE.” goatishduck counts 2 test cats owned before 2021; the rest were claimed later, and both were wrapped in 2025.
v0 (12 November): 12 free cats, transferable by their owners, with no market. All 12 were claimed by the next day.
v1 (25 November, source not verified): copied v0’s 12 owners, grew the set to 189 cats and added a market.
v2 (19 December, source not verified): grew the set to 625 and charged for claims, but left the ETH paid for claims unwithdrawable. A first v2 deployment earlier that day stopped at 189 cats.
v3 (24 December): copied v2’s owners and fixed the payment bug. A first v3 deployment pointed at a testnet address and was replaced one block later. The 2021 wrapper wraps this v3.
During the March 2021 rediscovery, every unclaimed cat in v2, in the replaced v3 and in v3 was claimed, so one cat image can belong to as many as five tokens in five contracts, each transferable on its own.

Where the “NFT” label came from: No NFT framing found from 2017; the project’s own site spoke of “Collectible 8-bit cats on the Ethereum Blockchain.” The earliest found is DappRadar, 12 March 2021, the day after its rediscovery: “one of the earliest NFT collections on the market” and “probably the first CryptoPunks clone.”

  • v0✓ v1✓ v2✓ v3✓ Fits the technical NFT definition. Every cat is unique and owned, and only its owner can transfer it. v1, v2 and v3 add a built-in market. The test contracts work the same way.
  • v0✓ v1✓ v2✓ v3✓ Hard 1: defined and enforced by a real blockchain. Cats and owners are defined and enforced by each contract.
  • v0✓ v1✓ v2✗ v3✗ Hard 2: deterministic ownership. v0: no expiry and no creator powers over claimed cats. v1: the same; it copied v0’s owners once, when it was created, and cannot do so again. v2 and v3: the deployer can still re-run migrateCatOwnersFromPreviousContract, which overwrites any cat’s owner with its owner in the previous contract (v1 for v2, v2 for v3), and cannot give that power up. In v1, v2 and v3 a sale leaves the seller’s offer standing, which the owner can cancel.
  • v0✓ v1◐ v2◐ v3◐ Hard 3: author-defined, blockchain-enforced set. v0: 12 cats, fixed by the contract. v1: 189 cats; v2 and v3: 625. None of the three ever locked its supply, so the deployer can still release more.
  • v0✓ v1✓ v2✓ v3✓ Soft 1: uniqueness. Every cat is unique within its contract.
  • v0✓ v1◐ v2◐ v3◐ Soft 2: limited supply. v0: 12. v1: 189; v2 and v3: 625, but the deployer can add more.
  • v0Medium v1Low v2Low v3Low Soft 3: on-chain. v0: a hash of one composite image of all its cats is on-chain; the image is off-chain, and which part of it is which cat is a convention, not anything on-chain. v1, v2 and v3: the same, but a new release would replace the hash, so the art is not pinned. The test contracts have no image hash at all.

Verdict: v0, the 12-cat original, meets the collectible definition. v1 meets it too, except that its deployer can still release more cats. v2 and v3, the 625-cat contracts, are NFTs in the technical sense but not collectible NFTs as deployed: their deployer can still reassign cats and add more. The 2021 wrapper uses v3.

Sources: Test contract 1; Test contract 2; v0 contract; v1 contract; First v2 deployment; v2 contract; Replaced v3 deployment; v3 contract; Wrapped CryptoCats (2021); goatishduck on the test contracts, 22 June 2025 (archived); CryptoCats site, December 2017 (archived); goatishduck, Early Ethereum NFTs (archived).

CryptoKitties 23 November 2017

Ethereum · Contract deployed at block 4,605,167; public launch on 28 November

Breedable cats, and the project whose team proposed the ERC-721 standard.

Where the “NFT” label came from: Its own team: the ERC-721 proposal, written by Dieter Shirley in September 2017 before CryptoKitties launched, speaks of “non-fungible tokens (henceforth referred to as ‘NFTs’)” and popularized the term. Guinness World Records (archived) lists CryptoKitties as the “First tradable NFT.”

Verdict: Meets the collectible definition except that its executives can still pause all transfers. Breeding leaves its supply open-ended.

Sources: CryptoKitties contract; EIP-721 (archived).