# Using IPFS & Filecoin

Filecoin and IPFS are complementary protocols for storing and sharing data in the distributed web. Both systems are free, open-source, and share many building blocks, including data representation formats (IPLD) and network communication protocols (libp2p).

**IPFS** allows users to store and transfer verifiable, content-addressed data in a peer-to-peer network. It is great for getting started using [content addressing](https://docs.ipfs.io/concepts/how-ipfs-works/#content-addressing) for all sorts of distributed web applications.

IPFS alone does not include a built-in mechanism to incentivize the storage of data for other people. Built on top of IPFS, **Filecoin** is the distributed storage network to add longer term data persistence via on-chain storage deals, along with built-in economic incentives to ensure files are stored reliably over time.

However, the processes of storing, verifying, and retrieving data are computationally expensive and can take time. Therefore, many solutions (called **storage helpers**) combine the two networks to get the best of both worlds: IPFS for content addressing & data discovery, and Filecoin for longer-term persistence.

In this section, you will find tutorials to guide you through the process of using IPFS and/or Filecoin for decentralized storage, including storage helpers that combine both systems such as [nft.storage](https://nft.storage/).

* Using IPFS

{% content-ref url="/pages/-MeeoT6dZsN2xwDP5tg7" %}
[Using IPFS](/home/developers/tutorials/ipfs-filecoin/using-ipfs.md)
{% endcontent-ref %}

* Using NFT.storage

{% content-ref url="/pages/0QUGObKeFNJyFOwSKzh7" %}
[Using NFT.storage](/home/developers/tutorials/ipfs-filecoin/using-nftstorage.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.harmony.one/home/developers/tutorials/ipfs-filecoin.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
