Skip to main content

How Storage Works

Storage is a solution that simplifies the uploading, pinning, and downloading of files to and from IPFS. It utilizes a pinning service, Pinata, to pin files to IPFS and other solutions simultaneously.

This mechanism stops data from being deleted automatically because it's not being used or is unpopular. This can happen in decentralized storage systems where users need incentives to provide storage space.


Storage powers various functionalities within thirdweb products, including smart contract ABIs for deployment, the IPFS Renderer UI, NFT metadata fetching in the SDK, and NFT metadata uploading via the dashboard.

Uploading Data To IPFS

Uploading data to IPFS or decentralized storage is a process that involves:

  1. Data Splitting: Data is broken into smaller pieces by the IPFS Server to make it easier to manage.
  2. Upload: We choose IPFS to store these pieces of data, and within the IPFS network, several computers (nodes) store the uploaded data.
  3. Access: When you want to retrieve your data, the network puts all the pieces together and unlocks it for you. You can access the file through a Gateway

Learn how to upload to IPFS using Storage in the Upload Files to IPFS guide.

Accessing Data Through IPFS Gateway

To read data from IPFS, you need an IPFS Gateway. This allows you to access data from the IPFS protocol on browsers and other HTTP clients, such as when building an application using the Contract SDK.

Screenshot of Gateway diagram

When a user requests data from the network, the request is sent to the gateway. The gateway then retrieves the data from the decentralized storage network and returns it to the user.