Setting Up Decentralized Storage: IPFS, Filecoin, Arweave

Imagine your NFT marketplace uploading metadata to a centralized server, and a month later the provider disables your account—all CIDs broken, images unreachable. Or DAO documents being censored by a regulator. We have seen such incidents more than once. Decentralized data storage (IPFS, Filecoin, A

Blockchain Development Services

Frequently Asked Questions

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1450
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1309
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    1004
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1270
  • image_logo-advance_0.webp
    B2B Advance company logo design
    719
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    1011

Imagine your NFT marketplace uploading metadata to a centralized server, and a month later the provider disables your account—all CIDs broken, images unreachable. Or DAO documents being censored by a regulator. We have seen such incidents more than once. Decentralized data storage (IPFS, Filecoin, Arweave, Storj) eliminates these risks, but each solution has its own economics and use case. Based on 30+ implemented projects, we break down how to choose and configure the stack so you don't overpay or lose data.

What types of decentralized storage exist?

There are four main approaches: content-addressed networks (IPFS), economic layers (Filecoin), permanent storage (Arweave), and encrypted P2P (Storj). Each solves specific tasks: Arweave becomes cheaper than IPFS with paid pinning for storage beyond two years, Filecoin provides verifiable proof of storage for archives, and Storj is an enterprise-grade S3 alternative with privacy guarantees.

IPFS: standard for Web3 content

IPFS (InterPlanetary File System) is content-addressed storage. Files are identified by a CID (Content Identifier)—a hash of the content. The same file has the same CID everywhere, making links immutable and verifiable. IPFS documentation describes the protocol in detail.

Why doesn't IPFS guarantee storage?

IPFS does not guarantee storage—a file exists only as long as someone pins it. If you simply use ipfs add, the garbage collector may delete it after a few days. Solutions: pinning services (Pinata, web3.storage, Infura IPFS) or a self-hosted node with Kubo. Pinning fees depend on volume; a self-hosted node on SSD requires server investment and administration.

import { PinataSDK } from 'pinata' const pinata = new PinataSDK({ pinataJwt: process.env.PINATA_JWT }) const upload = await pinata.upload.file(file) console.log(upload.IpfsHash) // CID: Qm... или bafy... const metadata = await pinata.upload.json({ name: "My NFT", description: "...", image: `ipfs://${imageCID}` }) 

Self-hosted IPFS node with Kubo:

ipfs init ipfs daemon & ipfs pin add QmYwAPJzv5CZsnA... # пинить конкретный CID 

For production—a node with sufficient disk space plus pinning all content. A combination of self-hosted plus one pinning service as backup is a reasonable minimum.

Why do you need an IPFS Gateway?

Browsers do not natively support ipfs:// (except Brave). Users need an HTTP gateway: public (slow) or your own based on ipfs daemon (port 8080). For NFT marketplaces, a custom gateway is mandatory—dependency on ipfs.io violates decentralization.

Filecoin: guaranteed long-term storage

Filecoin is an economic layer on top of IPFS. Storage Providers earn FIL for storing data under verifiable deal contracts. Direct interaction is complex; abstractions are used: Lighthouse, web3.storage. Filecoin is justified for archives, DAO data, compliance documents that require verifiable persistence over long periods.

import lighthouse from '@lighthouse-web3/sdk' const response = await lighthouse.upload('./path/to/file', API_KEY) console.log(response.data.Hash) // CID, данные хранятся в Filecoin 

Arweave: pay once, store forever

Arweave is a one-time payment covering storage forever (mathematically ~200 years). Cost depends on network activity, typically affordable. First choice for NFT images. Bundlr (Irys) offers multi-currency payment.

import Irys from '@irys/sdk' const irys = new Irys({ network: 'mainnet', token: 'ethereum', key: process.env.PRIVATE_KEY }) const response = await irys.uploadFile('./nft-image.png') console.log(`https://arweave.net/${response.id}`) 

Storj: encrypted P2P with S3 compatibility

Storj is enterprise-grade decentralized storage with an S3-compatible API. Data is encrypted and split across nodes. Ideal for replacing S3 with privacy guarantees.

import { S3Client } from '@aws-sdk/client-s3' const client = new S3Client({ endpoint: 'https://gateway.storjshare.io', credentials: { accessKeyId: KEY, secretAccessKey: SECRET }, region: 'us-east-1' }) 

Decentralized storage selection matrix

Use case Solution Reason
NFT images Arweave Permanence, one-time payment
NFT metadata JSON Arweave / IPFS+Pinata Industry standard
DAO documents IPFS + Filecoin Verifiability + long-term
User-generated content (UGC) IPFS + self-hosted gateway Flexibility, control
Private encrypted data Storj S3 compatibility, encryption
Archives, compliance Filecoin Proof of storage

Comparison of pinning services

Service Payment model Storage on nodes Monthly cost ~1 TB
Pinata Subscription Owned IPFS cluster Depends on plan
web3.storage Pay-as-you-go (Fil) Filecoin + IPFS Depends on volume
self-hosted Kubo Server Your own node Server rental + admin

Typical configuration mistakes

Using only a public gateway—risk of blocking and low speed. Lack of backup pinning—files may disappear if the service goes down. Storing large files over 100 MB in IPFS without sharding—exceeding gateway limits. Choosing Filecoin for frequently accessed data—retrieval delays up to a minute.

What's included in decentralized storage setup

  1. Audit of current architecture—assess volumes, access frequency, persistence requirements.
  2. Solution selection—IPFS+Pinata / Arweave / Filecoin / Storj with justification.
  3. Infrastructure deployment—node, gateway, pinning service configuration.
  4. SDK integration—connecting libraries in backend and smart contracts (CIDs instead of HTTP URLs).
  5. Upload pipeline—image → CID → metadata JSON → CID → mint.
  6. Documentation—architecture description, team instructions.
  7. Training—workshop on working with the storage.
  8. Support—1 month of monitoring and assistance.

Timeline: 1 to 5 days depending on complexity. Cost is calculated individually. Get a consultation on architecture—we will help you choose the optimal solution. Contact us to discuss your task.

Our experience and guarantees

We are a team with many years of experience in Web3, having completed 30+ projects with decentralized storage for NFT marketplaces, DAOs, and DeFi protocols. We work with Ethereum, Solana, Polygon, BNB Chain. We guarantee fault tolerance and scalability of the solution.