BTFS (BitTorrent File System)
The BitTorrent File System (BTFS) is a decentralized storage protocol that provides the infrastructure for tamper-resistant, censorship-resistant file hosting on TRON. By leveraging content addressing and BTT-based incentives, BTFS enables developers to secure NFT metadata and DApp data across a global, peer-to-peer network of independent nodes.
Official domain: btfs.io
How BTFS Works
Section titled “How BTFS Works”Content addressing
Section titled “Content addressing”Traditional web storage references files by location (a URL pointing to a specific server). BTFS references files by content hash — a unique fingerprint derived from the file’s bytes. If the file changes, its hash changes. If it is stored across 100 nodes, any of them can serve it.
This makes BTFS-stored content:
- Tamper-resistant — any modification produces a different hash, making forgery detectable
- Censorship-resistant — no single server can remove the file
- Redundant — multiple nodes hold copies; individual node failures do not cause data loss
Storage incentives
Section titled “Storage incentives”BTFS node operators (hosts) are paid in BTT tokens for storing and serving data. File uploaders pay storage fees in BTT; hosts earn those fees over the agreed storage duration. This creates a sustained economic incentive for the network to hold data across diverse, independent participants.
A reward halving occurred in June 2024, reducing the daily miner reward pool from 15 billion to 7.5 billion BTT — following a similar emission-reduction model to Bitcoin halvings.
BTFS v4.0
Section titled “BTFS v4.0”BTFS v4.0 Mainnet launched July 7, 2025. The upgrade improved data storage efficiency, introduced the BTIP-89 Storage Provider mechanism for more professionalized node governance, and refined the node-scoring system that determines how rewards are distributed among hosts.
Use Cases
Section titled “Use Cases”| Use case | Description |
|---|---|
| NFT metadata storage | Store NFT images and attributes on BTFS rather than centralized servers, preventing metadata loss if a server shuts down |
| DApp data | Host off-chain data for TRON DApps — front-end assets, configuration files, game state — in a persistent, decentralized manner |
| Censorship-resistant publishing | Host content that needs to survive server takedowns or domain seizures |
| Decentralized backups | Back up files with cryptographic integrity guarantees and geographic redundancy |
Getting Started
Section titled “Getting Started”Running a BTFS node
Section titled “Running a BTFS node”Node operators download the BTFS client from btfs.io, connect to the network, and begin earning BTT for storage contributions. The BTFS dashboard shows storage allocated, files hosted, and BTT earned over time.
Uploading files
Section titled “Uploading files”Developers interact with BTFS via its HTTP API (compatible with IPFS API conventions) or via the desktop client. After uploading, a Content Identifier (CID) is returned — use this hash to retrieve the file from any participating node.
Integrating with TRON smart contracts
Section titled “Integrating with TRON smart contracts”TRON smart contracts can store BTFS CIDs on-chain as references to off-chain data. This is the standard pattern for TRC-721 NFT metadata: the smart contract stores the CID; BTFS stores the actual image and attributes JSON.
BTT Token
Section titled “BTT Token”BTFS uses BTT (also the native gas token on BTTC) for storage payments and node rewards.
| Token | Standard | Role in BTFS |
|---|---|---|
| BTT | TRC-10 (TRON) | Pay for storage; earned by hosts as rewards |
Considerations
Section titled “Considerations”- Persistence requires payment — Files are stored only for the duration that has been paid for. Hosts drop unpaid data over time.
- Not suited for sensitive files without encryption — BTFS is a public network by default. Encrypt data before uploading if confidentiality is required.
- Node uptime affects earnings — The scoring system rewards hosts with higher uptime; unreliable nodes earn proportionally less.