Author: @Miroslav Bajtoš <[email protected]>
Last Updated: August 18, 2025
FilCDN is a content delivery layer built on Filecoin that enables efficient, paid retrieval of data stored in Warm Storage deals. Today, FilCDN supports only Piece CID–based retrievals, leaving IPFS clients unable to access CAR-packed data inside pieces. This proposal extends FilCDN to support IPFS-compatible retrievals by indexing IPFS Root CIDs (and later block-level CIDs) associated with Filecoin pieces. The design introduces wallet-scoped routing, delegated routing endpoints, and optional integration with IPNI to make retrievals discoverable. Initial focus is on whole-tree retrievals for static website hosting, with future extensions for single-block retrievals, requester-pays flows, and advanced caching strategies.
Filecoin was designed from the beginning to support storing and retrieving IPFS data. Due to technical challenges, IPFS CIDs are not included in the on-chain metadata. IPFS data is serialised in a CAR format into a Filecoin Piece, and then the Filecoin-specific algorithm CommP is used to calculate the content identifier (Piece CID). Storage Provider software like Curio scans the Piece bytes for CAR blocks and advertises them to IPNI to make them discoverable by IPFS peers like standalone nodes running Kubo or web apps running Helia.
The upcoming Filecoin Warm Storage service was designed differently. It skips the IPFS and CAR preprocessing and allows users to directly store arbitrary files (blobs of data), using Piece CID (CommP) as the primary content identifier for retrievals. However, there are plans to add support for IPFS data in the near future, using the same "IPFS-CAR-in-Piece" approach as already used by the existing Filecoin PoRep deals.
However, FilCDN was designed to support Piece CID retrievals only. As a result, IPFS peers cannot use FilCDN to retrieve CAR blocks packed inside a Piece at the moment.
In this document, we propose a technical design and an implementation plan to extend FilCDN to support retrieving IPFS data stored in Filecoin WarmStorage deals.
As a static site publisher, I can package and pin my IPFS-compatible site with Filecoin-backed persistence (Fleek without a hosted third-party).
a. I can use FilCDN as an IPFS Gateway serving my website to browsers that don't speak IPFS.
b. IPFS peers like Kubo and Helia can discover the availability of FilCDN retrievals and download my website in a faster way. In both cases, the website must be packaged as an IPFS CAR and stored in a Filecoin WarmStorage deal.
As an author of large data sets, I want to make my data available to the public, but I don't want to pay the retrieval costs myself. I can store my IPFS-compatible data on Filecoin with a flag indicating that retrievals are paid by requesting users.
As a user interested in obtaining such data, I can use FilCDN to retrieve my data from the Filecoin Storage Provider in a way that compensates the SP for providing the retrieval service.
In both cases, the data must be packaged as an IPFS CAR and stored in a Filecoin WarmStorage deal.
Why would IPFS users want to pay for FilCDN?
Filecoin uses CommP, a custom hash algorithm, to compute CID of the content stored by users. These CIDs start with baga prefix (CommPv1) or bafkzcib **prefix (CommPv2).