What is IPFS?

What is IPFS?

IPFS (InterPlanetary File System) is a set of open protocols for addressing, routing and transferring data by what it contains instead of where it is stored. Each file gets a content identifier (CID), and any node holding the data can serve it to you.

Updated Nov 4, 2026: new opening, fixes on how nodes store data and why pinning matters, CID and gateway details checked against the IPFS docs, and a new AIOZ Pin section.

Diagram comparing the client-server model (HTTP) with the peer-to-peer model of IPFS. Source: CoinTelegraph
Image Source: CoinTelegraph

What does IPFS stand for?

IPFS stands for InterPlanetary File System. Juan Benet described it in a 2014 paper as a peer-to-peer distributed file system and compared it to "a single BitTorrent swarm, exchanging objects within one Git repository." Protocol Labs created IPFS, and the IPFS FAQ says the open-source project now has more than four thousand contributors around the world.

The name can mean three different things, according to the IPFS docs. It can mean an implementation of the protocol specifications, such as Kubo. It can mean the open network of IPFS nodes that anyone can join. It can also mean the suite of protocols for organizing and moving content-addressed data.

IPFS itself is a protocol, so it is not a storage provider or a cloud service. Companies that store your data on IPFS nodes are called pinning services, and we come back to them below.

How does IPFS work?

The How IPFS works guide splits the system into three jobs. IPFS has to represent and address data, route each request to the nodes that have the data, and transfer it to you.

Content addressing and CIDs

On the regular web, a URL points to a location, which is a server plus a path. If that server moves or deletes the file, your link breaks. IPFS addresses data by its content instead.

When you add a file, IPFS splits it into blocks and hashes each block. The blocks are linked into a Merkle DAG, a tree in which each parent refers to its children by their hashes. The CID of the top block identifies the whole file. A CID combines the hash of the data with a codec that says how the data is encoded.

Because the CID comes from the content, you can verify any copy by recomputing its CID and comparing it with the one you asked for. Change a single byte and you get a different CID. The same content added on two nodes with the same settings gives the same CID. Different settings, such as chunk size, codec, CID version or hash function, can give the same file a different CID.

Illustration of a large library hall with tall bookshelves and reading tables

A CID works a bit like an ISBN, which identifies a book no matter which library shelf holds it. The analogy has a limit: an agency assigns each ISBN, while anyone can calculate a CID from the bytes of the file.

CID v0 and CID v1

A CIDv0 is a base58-encoded multihash, and if a CID is 46 characters long and starts with "Qm", it is a v0 CID. A CIDv1 puts a multibase prefix, a version number and a multicodec code in front of the hash, so software knows how to decode the data. Its default text form is base32, which is why v1 CIDs for files often start with "bafy".

The CID docs note that many IPFS tools still create v0 CIDs by default. They suggest v1 for new projects because it is more future-proof and safe to use in browsers. You can convert a v1 CID back to v0 only when it uses the dag-pb codec, so a CID that uses raw or dag-cbor has no v0 form.

Finding and fetching data

Once your node has a CID, it announces to the network that it can provide that CID, a step the data lifecycle guide calls providing. The announcement goes to the Amino DHT, a Kademlia distributed hash table that maps CIDs to peers, or to the network indexer (IPNI). These are the two content routing systems on the public IPFS network.

When you request a CID, your node can ask the peers it is already connected to through a protocol called Bitswap. It can also query the DHT or call a delegated routing server over HTTP. It then fetches the blocks from whichever providers answer and checks the hash of every block. That check is why the data can safely come from any node, even one you have never heard of.

IPFS nodes do not each hold a slice of all the data on the network. A node stores what you add to it, what it fetches for you and what you pin. Fetched data sits in a cache, and garbage collection can clear that cache later to free disk space.

IPFS gateways

Some browsers, and tools like curl, cannot open IPFS addresses natively. An IPFS gateway is an IPFS node that also answers HTTP requests for CIDs. Path gateways use URLs in the form https://{gateway}/ipfs/{CID}. Subdomain gateways use https://{CID}.ipfs.{gateway}, which gives each CID its own origin, so the docs recommend them for hosting web apps.

A recursive gateway fetches content from other peers when it does not have a CID locally. A non-recursive gateway serves only what it already stores. In both cases the gateway is a bridge for HTTP clients, and the data is reachable only while some node provides it.

Is IPFS permanent?

No. A CID is a permanent address, but IPFS does not keep the data behind it online by itself. A CID stays reachable only while at least one node on the network has the data and provides it. If the last node holding a file deletes it, garbage-collects it or goes offline, requests for that CID fail until someone adds the same data again with the same settings.

The IPFS persistence guide says that IPFS guarantees content on the network is discoverable, but it does not guarantee the content stays available. Nodes cache what they download, and because storage is finite, garbage collection removes cached data to make room. Pinning tells a node to keep specific data and protects it from garbage collection. When you add a file with Kubo, the node pins it for you automatically.

Your own node only helps while it is running, which is why pinning services exist: they run IPFS nodes for you and keep your pins online for a fee. The IPFS docs suggest one when you lack disk space, work from a laptop or phone that is often offline, or want a backup on another machine. AIOZ Pin, our pinning service built on the AIOZ DePIN, is one option, and the AIOZ Pin section below shows how it works.

Illustration of a globe surrounded by a ring of servers and network lines, representing a decentralized network

Why people use IPFS, and where it falls short

The IPFS docs list several problems with location-based protocols like HTTP that IPFS addresses. These are the ones you are most likely to notice in practice:

  • Verifiable data. You can check any copy against its CID, so a tampered file is easy to spot.
  • No single point of failure. A node can fetch data as long as at least one other node has it, wherever that node is.
  • Stable links. A CID keeps pointing to the same content when the data moves to another server or provider, which cuts link rot as long as someone keeps providing the data.
  • Less vendor lock-in. You can change where data is stored without changing its address or the way your app requests it.
  • Off-chain storage for blockchains. A smart contract can store a CID that points to a larger file kept on IPFS, such as NFT metadata.

IPFS also has limits you should plan for. Persistence is your job, as the previous section explains, and IPFS is a public network. Traffic between nodes is encrypted, but the DHT publishes each node's peer ID and the CIDs it provides, so others can see which nodes hold which content. The privacy and encryption guide suggests encrypting sensitive content or running a private IPFS network when that matters to you.

Real-world uses of IPFS

  • NFT assets and metadata. The IPFS docs publish a guide to storing NFT data that recommends CIDv1 links and a plan for keeping the data online.
  • Websites. You can publish a static site to IPFS and serve it through gateways, while DNSLink maps a domain name to the current CID. The IPFS docs site is served this way.
  • Scientific data. Research teams use content addressing to share large datasets across institutions and verify their integrity, as the scientific data landscape guide describes.
  • Local-first apps. Data can be stored and checked on a device, then synced with other IPFS nodes when a connection is available.
  • Offline transfer. CAR files let you move content-addressed data between machines without a network, and the CIDs stay the same on both sides.

Keeping IPFS files online with AIOZ Pin

AIOZ Pin is our IPFS pinning service, and its docs describe it as the top layer of the AIOZ DePIN, with three parts: file pinning, NFT management and premium gateways. You pin your files, and AIOZ Pin keeps them stored and available on IPFS while your own machine is off.

How you pin files

The AIOZ Pin quick start walks through each way to pin:

  • Dashboard. Sign in, top up your balance, open Files, click Add files, choose Upload and drop in your files.
  • API. Upload a file or folder with POST /api/pinning, or pin a CID that already exists on IPFS with POST /api/pinning/pinByHash. Each request carries a pinning API key and secret key that you create on the API Keys page.
  • SDK and CLI. The Node.js SDK, @aioznetwork/aioz-pin-sdk, has pinFilesToIPFS and pinFolderToIPFS methods. A pinning CLI can pin a file, a folder or an existing CID from your terminal.

If you already run an IPFS node, AIOZ Pin also supports the standard IPFS Pinning Services API. That means the IPFS CLI can send pins to it with ipfs pin remote add.

AIOZ Pin dashboard Files page listing pinned files with their CIDs, sizes, dates and Pinned status
The Files page of the AIOZ Pin dashboard. Source: AIOZ Pin docs

This is the pin-by-CID request from the AIOZ Pin Pinning API docs (not run here). Replace KEY and SECRET with your own keys before you send it.

curl --location --request POST 'https://api.aiozpin.network/api/pinning/pinByHash' \
--header 'pinning_api_key: KEY' \
--header 'pinning_secret_key: SECRET' \
--header 'Content-Type: application/json' \
--data-raw '{
"hash_to_pin": "Qmc1135ziMvmFG534i75E8HpJoLqzLzgKBxfjBV9cBsMAs",
"metadata": {
    "name": "name-ipfs-hash"
}
}'

The documented response includes the pin ID, the CID and a status field.

AIOZ Pin gateways

AIOZ Pin offers two kinds of gateways. The public gateway at public.aiozpin.network needs no account, and the docs say it is meant for testing and low retrieval volumes. It allows 15 requests per minute per CID across all users and 200 requests per minute per IP address. Premium gateways serve the CIDs you pinned through the service, with faster speeds and no predefined rate limits.

On the free plan, the premium gateway is limited: it serves files such as images, video and audio, but not HTML or scripts. If your balance runs out, the premium gateway turns off automatically, and your pinned files stay reachable through the public gateway.

NFT API

The NFT API stores an NFT asset and its metadata in one call. You send POST /api/nft/ with the asset file and a metadata JSON file that holds a name, a description and properties. You can also pass the CID of an asset that is already on IPFS instead of uploading it again. The response returns separate CIDs and pin IDs for the asset and the metadata.

How AIOZ Pin billing works

AIOZ Pin bills against a prepaid balance that you fund with AIOZ tokens. The Payment page explains that each account gets a wallet address that only accepts AIOZ tokens. Deposits are credited at the AIOZ/USDT market rate at the time of deposit. In the docs' own words, "Billing is calculated based on the daily usage of storage and bandwidth."

As of November 2026, the Payment page lists storage at $20 per TB per month and bandwidth at $20 per TB, both charged as daily amounts. The first 40,000 pinned files are free, and each extra 1,000 pinned files costs $0.10. Your balance is deducted daily, and the History Usage tab in the dashboard shows each day's storage and bandwidth.

FAQ

What is the full form of IPFS?

IPFS stands for InterPlanetary File System. It is a set of open protocols for addressing, routing and transferring data by its content, along with the public network of nodes that run them.

Is IPFS a blockchain?

No. IPFS is a peer-to-peer protocol for storing and sharing content-addressed data, and it keeps no ledger of transactions. Blockchains often store IPFS CIDs in smart contracts to point to larger files. Filecoin is a separate protocol, also created by Protocol Labs, for paid long-term storage.

Is IPFS free to use?

The protocol and its main implementations are open source, so running your own node costs only your hardware and bandwidth. Pinning services that keep your data online for you usually charge a fee.

Can you delete a file from IPFS?

You can unpin a file and run garbage collection on your own node, and pinning services let you unpin through their dashboard or API. You cannot make other nodes delete their copies. If another node has pinned the data, the CID stays reachable through that node.

What is the difference between CIDv0 and CIDv1?

A CIDv0 is a 46-character base58 string that starts with "Qm" and only supports the dag-pb format. A CIDv1 adds prefixes for its encoding, version and content type, uses base32 by default and is the version the IPFS docs suggest for new projects.

Does AIOZ Pin support pinning by CID?

Yes. The Pinning API has a pinByHash endpoint, the pinning CLI takes a --hash option, and the standard IPFS Pinning Services API lets you use ipfs pin remote add.

AIOZ Network logo over a green circuit board with a processor chip

About the AIOZ Network

AIOZ Network is a DePIN for Web3 AI, Storage and Streaming.

AIOZ empowers a fast, secure and decentralized future.

Powered by a global network of DePINs, AIOZ rewards you for sharing your computational resources for storing, transcoding, and streaming digital media content and powering decentralized AI computation.

Find Us

Website | AIOZ Block Explorer | Twitter | Telegram