📖 Guide
What is Kaspa P2P File Storage?
Kaspa P2P File Storage is a decentralized file storage system built on the Kaspa blockchain. Files are encrypted and stored directly on the blockchain using transaction payloads.
- Decentralized: No central server - files stored on blockchain
- Encrypted: AES-256-GCM encryption with password protection
- Permanent: Once uploaded, files remain on blockchain forever
- Networks: Supports Mainnet (production) and Testnet-10 (testing)
Quick Start: Download
- Check Status tab - Network connection is established automatically on page load
- Go to Download tab
- Enter download info:
TxID:BlockID:Password - Click Verify → Click Download
- Full Node: Recent files (~30 hours, before pruning)
- Archive Node: Files up to displayed retention period
- api.kaspa.org: All files (Community service - please minimize load)
- kas.fyi: All files (Recommended - Enterprise-grade service)
💡 Recommended: Use kas.fyi to reduce load on community-run api.kaspa.org service. Requires API key from kas.fyi.
No wallet required for downloading files.
Quick Start: Upload
- Check Status tab - Confirm Full Node is connected (required for upload)
- Go to Settings tab → Enter your private key → Connect wallet
- Go to Upload tab → Select file → Set password
- Click Upload → Save the TxID:BlockID:Password
Requires Full Node connection and wallet with KAS balance for transaction fees.
FAQ (Frequently Asked Questions)
💰 How much does upload cost?
Upload cost is miner fees only (approximately 1 KAS per 100MB uncompressed).
• Actual cost: Only transaction fees (~0.0003 KAS per 20KB chunk)
• Transaction amount returns to yourself - only fees are consumed
• With compression (if applicable): Cost can be further reduced
• Rewards go to miners only - Kaspa currently has no rewards for archive nodes
📥 Is download free?
Yes, download is completely free.
No wallet or KAS balance required for downloading files.
📊 What is the maximum file size? Can I upload large files?
Yes, large files are supported - basically unlimited with chunked upload system:
How it works:
• Files are split into chunks (~22KB per chunk)
• Progress is automatically saved
• Resume from last checkpoint if interrupted
Size limits:
• When using MetaTxID: Limited to 25,600 transactions
→ Approximately 560MB maximum data size (25,600 × 22KB)
• For larger files: Use multiple MetaTxIDs or alternative methods
Recommended: Consolidate UTXOs before uploading files >1MB
🏗️ Is this an L2 service?
No, this is a Layer 1 (L1) service.
• All communication and data storage are on Kaspa L1 blockchain
• Files are stored directly in transaction payloads on-chain
• API services (api.kaspa.org, kas.fyi) are third-party services for convenience
• Core functionality operates purely on Kaspa blockchain
📄 What is the file format specification?
The complete file format specification is documented in:
KASPA_FILE_FORMAT.md
Includes details on:
• Metadata structure (KENV format)
• Transaction payload format
• Chunk organization and boundaries
• Directory structure format
📊 Status
🌐 Network Connection Status
Display days and actual storage duration differ - maintains longer history than shown.
Enterprise-grade service by kas.fyi. Requires API key from kas.fyi.
💰 Wallet Status
📁 Workspace
📂 File Management
| Icon | File Name ↑ | Size | MetaTxID | Date | |
|---|---|---|---|---|---|
| sample.txt | 1.2 KB | a1b2c3... | 12/25 | ||
| docs | 5.3 MB | - | 12/24 |
📁 File Upload
📥 Download
• Recommended: TxID:BlockID:Password (fastest, no API needed)
• Alternative: TxID:BlockID (fast, password entered separately)
• Fallback: TxID only (slower, uses REST API)
📁 Drop or click to load .kaspa file
🛠️ Directory Builder
📥 Import
⚙️ Settings
🚀 Session Setup
💰 Wallet & UTXO Management
📁 Workspace Settings
Setting a workspace allows automatic saving of progress files and continuation of work even after closing the browser.
🗄️ Archive Node Discovery
⚙️ Preferences
🎨 Theme Settings
Switch application appearance
Network Settings
REST API Settings
⚠️ REST API is third-party. Disabling will use only Kaspa L1.
Privacy-conscious users should disable it.
🔐 Privacy Settings
When disabled, you'll need to enter the password each time you download a file. This provides better security but less convenience.
⚠️ This will permanently remove all saved passwords from all entries. This action cannot be undone.
🔧 Kaspa Developer Platform (kas.fyi)
💸 Transaction Amount Settings
⚠️ Amount for recording data on blockchain.
Recommended: 0.2-1 KAS (Too small will cause errors)
Actual cost: Only fees (about 0.0003 KAS per 20KB)
※ Amount returns to yourself, only fees are consumed
📊 WebSocket Configuration
Download Settings
Use 8 parallel connections for files with 10+ chunks
Skip RPC and download via REST API
Searching for archive nodes...
🔄 Kaspa System Restart
Restart WASM SDK and Kaspa core.js for a clean state.
Try this when you have connection errors or malfunctions.
📤 Upload Settings
🐛 Debug Log
🔐 WASM SDK Security Features Investigation
Investigate available security methods in Kaspa WASM SDK for protecting Private Keys
🛡️ CSP Violation Monitor
Monitors Content Security Policy violations (Report-Only mode)
🔌 Multiple WebSocket Test (Experimental)
Test feature to listen for Block-added events on multiple nodes to improve BlockID detection speed
🚫 Block Event Filter
⚠️ Maintains WebSocket connection while ignoring only BlockID events
🔪 REST API Kill Switch
⚠️ Temporarily disable REST API (for debugging)
🧪 MetaTxID Chunk Limit (Test Feature)
Adjust the number of chunks per MetaTxID for testing purposes (Production: 160)
Effect Examples:
- 160 (Production): 16MB file = Regular meta only
- 10 (Test): 16MB file = 16 intermediate metas + 1 super meta
- 2 (Minimum): 4MB file = 2 intermediate metas + 1 super meta