On-chain storage means the NFT's media and metadata are stored directly in the smart contract (permanent but expensive). Off-chain means they are stored on external systems like IPFS, Arweave, or HTTP servers (cheaper but depend on those systems staying online). Where your NFT's actual content lives determines whether it will still exist in 10, 50, or 100 years.

What Is On-Chain vs. Off-Chain NFT Storage (And Why It Matters)?

3 min read

The short version

On-chain is like carving your art into the blockchain itself: expensive, but it lasts as long as the network does. Off-chain is like writing the art on a separate piece of paper and putting a link to it on the blockchain. The link is permanent, but the paper might decay, get lost, or the building it is stored in might close. You own the link forever; whether the link resolves is a different question.

How It Works

Storage hierarchy (most durable to least): (1) Fully on-chain: media encoded in contract storage (base64 SVG, pixel data). Examples: Nouns, Autoglyphs, on-chain Loot. Cost: very high (storing 1KB on Ethereum costs ~$5-$50 depending on gas). Only feasible for generative/text/SVG art. (2) Arweave: permanent storage, paid once (~$0.01-$5 per file). Data replicated across mining nodes with 200-year endowment model. Used by many newer collections. (3) IPFS with Filecoin pinning: content-addressed (same content always produces same hash). Permanent as long as someone pins it. If no one pins it, garbage collection may remove it. Pinning services (Pinata, NFT.Storage) handle this. (4) Centralized server (https://myserver.com/image.png): cheapest, fastest, but if the company shuts down, the server goes offline, or the domain expires, your NFT displays nothing. About 15% of early NFTs already have broken metadata links.

Comparing durability across three collections

Nouns (fully on-chain): each Noun's SVG art is generated and stored entirely in the contract. Even if every Nouns website, app, and server disappears, any Ethereum node can reconstruct the art by reading the contract. Durability: as long as Ethereum exists. Bored Ape Yacht Club (IPFS): metadata and images stored on IPFS with the hash locked in the contract. As long as someone (BAYC team, collectors, archivists) pins the data, it persists. If pinning stops, the CID becomes unretrievable. Durability: dependent on continued pinning. A 2021 NFT collection (unnamed): images hosted on AWS S3. The project team dissolved in 2022. The S3 bucket was deleted. All 5,000 NFTs now display broken image links. Durability: already dead. Owners hold tokens pointing to nothing.

What People Get Wrong

  • All NFTs are permanent because blockchain is permanent

    The token (ownership record) is permanent. The media it points to is only as permanent as its storage layer. An NFT on Ethereum whose image was on a now-defunct server is a permanent record of ownership of nothing displayable.

  • IPFS is permanent storage

    IPFS is a protocol, not a guarantee of permanence. Data on IPFS persists only while at least one node pins it. If no one pins it, it can be garbage-collected and lost. Services like Filecoin and NFT.Storage provide economic incentives for long-term pinning, but "on IPFS" alone does not mean "permanent."

  • On-chain NFTs always look better

    On-chain is limited by cost. Most fully on-chain art is generative, pixel-based, or SVG (vector) because storing high-resolution photography or video on-chain is prohibitively expensive (millions of dollars for a single high-res image). Off-chain enables richer media at practical cost.

Sources & Further Reading

  • IPFS Documentation

    Official docs for the InterPlanetary File System used for NFT storage

  • Arweave

    Permanent data storage network used for durable NFT media hosting

  • NFT.Storage

    Free IPFS + Filecoin pinning service specifically for NFT data

Questions People Also Ask

How do I check if my NFT is stored durably?
Look at the tokenURI output. Starts with "data:" = fully on-chain. Starts with "ipfs://" or "ar://" = decentralized storage (good, but verify pinning). Starts with "https://" = centralized server (highest risk). You can check on Etherscan by calling tokenURI on the contract.
Can I move my NFT to better storage?
Only if the contract allows metadata updates (admin function to change tokenURI). If the contract is immutable, the storage cannot be changed. Some community efforts have re-pinned lost IPFS data and lobbied projects to update contracts where possible.
What is Arweave and how does it ensure permanence?
Arweave is a blockchain designed specifically for permanent data storage. You pay once (at current prices, $0.01-$5 per file) and the endowment model ensures data is replicated for 200+ years across mining nodes. It is increasingly the standard for NFT collections that prioritize long-term durability.

More in NFTs & Digital Ownership

See all →
Was this page helpful?

Page last checked