NFT Metadata Explained: On-Chain vs Off-Chain Storage
When you buy an NFT, you own a token on a blockchain. But what most people think of as "the NFT" — the image, the name, the description, the traits — is not the token itself. That information is the metadata, and where it is stored matters far more than most collectors realize. If the metadata disappears, your token still exists on-chain, but it points to nothing. You own a receipt for something that no longer has a visible form.
This guide explains what NFT metadata is, where it can be stored, the trade-offs between on-chain and off-chain approaches, and how metadata works differently on Ethereum, Solana, and TON.
What Is NFT Metadata?
NFT metadata is the set of descriptive information associated with a token. It typically includes the name of the NFT, a text description, a link to the media file (image, video, audio, or 3D model), and a list of attributes or traits. For a generative profile-picture collection, the metadata might specify that a particular token has a "Gold Background," "Laser Eyes," and a "Crown" — these are the traits that rarity tools analyze and that give each token its identity.
The token on the blockchain is just a unique identifier and a pointer. On Ethereum, an ERC-721 token contains a tokenURI — a URL that leads to a JSON file containing the metadata. The JSON file, in turn, contains a URL pointing to the actual media. On Solana and TON, the mechanism differs in implementation but follows the same principle: the on-chain token references off-chain data.
This separation exists because storing large files directly on a blockchain is prohibitively expensive. An image might be several megabytes; storing that on Ethereum at current gas prices would cost thousands of dollars per NFT. So the industry developed a layered approach: the token lives on-chain, and the metadata and media live elsewhere.
On-Chain Metadata
Fully on-chain NFTs store all their metadata — and sometimes even the media itself — directly in the blockchain's smart contract or account data. Nothing depends on external servers or storage networks. As long as the blockchain exists, the NFT is complete and self-contained.
How It Works
On-chain projects typically encode metadata as a base64 data URI returned directly by the smart contract. When a marketplace or wallet requests the token's metadata, the contract generates or returns the JSON (and sometimes an SVG image) from on-chain storage. There is no external URL to fetch — everything is computed from blockchain state.
Advantages
Permanence is the primary benefit. On-chain metadata cannot disappear because a server was shut down, a domain expired, or a storage provider went offline. It is as durable as the blockchain itself. This makes fully on-chain NFTs appealing for projects that prioritize longevity and trustlessness — the collector does not need to trust any third party to maintain the data.
Limitations
Cost is the main constraint. Storing data on Ethereum is expensive, which limits on-chain NFTs to small file sizes — typically generative SVG art, ASCII art, or text-based content. High-resolution images, videos, and 3D models are impractical to store fully on-chain at current costs. Notable on-chain Ethereum projects like Nouns, Loot, and Autoglyphs work specifically because their visual output can be generated from compact on-chain data.
On Solana, on-chain storage is cheaper but still has practical limits. TON's architecture allows more flexible on-chain data storage through its cell-based structure, but most TON NFT projects still use off-chain media to keep minting costs low.
Off-Chain Metadata Storage
The majority of NFTs store their metadata and media off-chain. The token's on-chain data contains a URL pointing to a JSON file hosted somewhere else. The quality of that "somewhere else" varies enormously, and it directly affects the long-term security of your NFT.
Centralized Servers
Some projects host metadata on traditional web servers — their own infrastructure or cloud services like AWS. This is the simplest approach and offers fast loading, but it introduces a single point of failure. If the project team stops paying for hosting, the company shuts down, or the server experiences downtime, the metadata becomes inaccessible. Your token still exists on-chain, but wallets and marketplaces will show a blank placeholder instead of your NFT's image and details.
Early NFT projects commonly used centralized hosting, and some of those projects have already experienced metadata loss. Collectors holding tokens from abandoned projects have discovered that their NFTs effectively display nothing.
IPFS (InterPlanetary File System)
IPFS is a decentralized file storage network where content is addressed by its cryptographic hash rather than by a server location. When metadata is stored on IPFS, the token's URI looks like ipfs://QmXyz... — this hash uniquely identifies the content. If anyone on the network has a copy of the file, it can be retrieved, regardless of which specific server originally uploaded it.
IPFS is more resilient than centralized hosting because the data can be served by any node that pins (stores) it. However, IPFS does not guarantee permanence by itself. If no node is pinning the data, it will eventually be garbage-collected and lost. Projects typically use pinning services like Pinata or NFT.Storage to ensure that their metadata remains available. The durability depends on those pinning commitments being maintained over time.
Arweave
Arweave is a blockchain-based permanent storage network. Uploading data to Arweave involves a one-time payment, and the network is designed to store the data indefinitely through economic incentives. Arweave URLs look like https://arweave.net/abc123 or use the ar:// protocol.
Arweave offers the strongest durability guarantee among off-chain options. Once data is uploaded, it does not require ongoing payments or active maintenance to remain accessible. Many serious NFT projects — particularly on Solana, where Arweave integration is common through Metaplex — use Arweave for metadata and media storage.
Comparison at a Glance
Centralized servers: fast, cheap, easy to update, but fragile — a single point of failure that depends on ongoing maintenance.
IPFS: content-addressed and decentralized, more resilient than centralized hosting, but requires active pinning to persist long-term.
Arweave: permanent storage with a one-time cost, the most durable off-chain option, but data cannot be modified after upload.
Fully on-chain: maximum durability, no external dependencies, but limited by storage cost and file size constraints.
How Metadata Works on Each Blockchain
Ethereum
Ethereum NFTs following the ERC-721 standard expose a tokenURI() function that returns a URL pointing to a JSON metadata file. This JSON follows a structure defined by OpenSea and adopted widely: it includes name, description, image, and an attributes array. The image field typically contains an IPFS URI, Arweave URL, or centralized HTTP URL.
Ethereum's high gas costs make fully on-chain storage expensive, so most collections use IPFS or centralized hosting. High-profile on-chain exceptions exist (Nouns generates SVGs on-chain, Loot stores text on-chain), but they represent a small fraction of the ecosystem. ERC-1155 tokens follow a similar pattern with a uri() function.
Solana
Solana NFTs built with the Metaplex standard store some metadata on-chain in the token's account data — including the name, symbol, and a URI pointing to the full JSON metadata. The off-chain JSON follows a similar structure to Ethereum's convention. Arweave is the dominant storage choice in the Solana ecosystem, partly due to Metaplex's built-in tooling that simplifies Arweave uploads during minting.
Solana's lower storage costs compared to Ethereum allow more data to live on-chain, but full media storage on-chain is still uncommon. Compressed NFTs on Solana use state compression (Merkle trees) to reduce on-chain costs further, but they still rely on off-chain metadata storage.
TON
TON NFTs follow the TEP-64 token data standard. Each NFT is a separate smart contract that stores a content URL pointing to JSON metadata. The JSON structure includes fields for name, description, image, and attributes.
TON's cell-based architecture allows flexible on-chain data storage, but most projects — including Telegram collectible gifts and Getgems collections — host metadata off-chain for cost efficiency. Some TON NFTs use IPFS, while others use centralized hosting. The ecosystem is younger than Ethereum's and Solana's, so storage practices are still evolving and less standardized.
What Can Go Wrong with Metadata
Understanding metadata storage is not just academic — real problems have affected real collectors.
Server shutdowns. Projects that hosted metadata on their own servers have gone offline, leaving NFTs displaying blank images. Once the server is gone, there is no way to recover the data unless someone saved a copy independently.
Domain expiration. If a project's domain expires and is not renewed, anyone could register it and serve different content at the same URLs. A token's metadata could theoretically be replaced with arbitrary content if the hosting domain changes hands.
IPFS unpinning. Metadata stored on IPFS is safe only while someone is pinning it. If a project stops paying for pinning or a pinning service shuts down, the data may become unretrievable over time.
Rug pulls via metadata swaps. Projects using centralized or mutable storage can change the metadata after sale. A project could sell NFTs showing appealing artwork, then replace the images with something else entirely. This is possible whenever the metadata URL points to a mutable location rather than a content-addressed system like IPFS or Arweave.
Frozen vs. mutable metadata. Some Ethereum contracts allow the contract owner to update the base URI for metadata. While this can be useful for reveals (where placeholder images are replaced with final art), it also means metadata can be changed after minting. Look for contracts where the metadata URI is frozen or immutable — this provides stronger guarantees that what you bought will remain what you own.
How to Check Where Your NFT Data Lives
As a collector, you can verify where an NFT's metadata is stored by examining the token's URI.
On Ethereum: use a block explorer like Etherscan to read the contract. Call the tokenURI function with the token ID. The returned URL tells you the storage method: ipfs:// means IPFS, https://arweave.net/ means Arweave, data:application/json;base64, means fully on-chain, and a regular https:// URL typically means centralized hosting.
On Solana: look up the token on Solana Explorer or a Metaplex-compatible tool. The metadata account will show the URI. Arweave URIs are common in the Solana ecosystem.
On TON: inspect the NFT's smart contract data using Tonviewer or Tonscan. The content field in the contract data reveals the metadata URL.
Tools like NFT Bowl display your NFTs across all three chains in a single interface, making it convenient to review your entire collection and identify which tokens you might want to investigate further for metadata durability.
Conclusion
NFT metadata is the substance behind the token — the name, image, traits, and description that give your NFT its identity and value. Where that data is stored determines how durable your ownership really is. Fully on-chain storage offers the strongest guarantees but is limited by cost. Arweave provides permanent off-chain storage. IPFS offers decentralized resilience with active maintenance. Centralized servers are the most fragile option.
When evaluating an NFT purchase, checking the metadata storage method is as important as checking the art and the community. A beautiful NFT hosted on a project team's personal server carries a risk that one hosted on Arweave or on-chain does not. Understanding this layer of your collection helps you make better decisions about what to buy, what to hold, and what might deserve extra caution.