šŸ“– 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

  1. Check Status tab - Network connection is established automatically on page load
  2. Go to Download tab
  3. Enter download info: TxID:BlockID:Password
  4. Click Verify → Click Download
Download Availability by Connection Type:
  • 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

  1. Check Status tab - Confirm Full Node is connected (required for upload)
  2. Go to Settings tab → Enter your private key → Connect wallet
  3. Go to Upload tab → Select file → Set password
  4. 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

Full Node: Not Connected
Node: -
Used for file uploads and downloading recent data before pruning
Archive Node: Not Connected
Status: -
Connections: 0/5
Dedicated nodes with extended block history. Required for downloading old files.
Display days and actual storage duration differ - maintains longer history than shown.
api.kaspa.org (REST API) Fallback: Not Checked
Endpoint: -
Response: -
Alternative when Kaspa network is unavailable. Community service.
kas.fyi (Kaspa Developer Platform) Priority Fallback: Not Configured
API Key: Not Set
Alternative when Kaspa network is unavailable.
Enterprise-grade service by kas.fyi. Requires API key from kas.fyi.

šŸ’° Wallet Status

This service writes data to the transaction payload during self-transfer of $KAS, recording data in the blockchain. Wallet connection and $KAS are only required for uploads. Upload cost is miner fees only. For download-only usage, wallet connection is not required.
Status: Disconnected
Address: -
Balance: -
āš™ļø Please connect wallet from Settings tab

šŸ“ Workspace

Workspace: Not Set (Browser Storage)

šŸ“‚ File Management

Icon File Name ↑ Size MetaTxID Date
šŸ“„ sample.txt 1.2 KB Qm... a1b2c3... kaspa:... 12/25 12/25
šŸ“ docs 5.3 MB Qm... - kaspa:... 12/24 12/24

šŸ“ File Upload

šŸ“„ Download

šŸ“‹ Supported formats (File/Directory):
• Recommended: TxID:BlockID:Password (fastest, no API needed)
• Alternative: TxID:BlockID (fast, password entered separately)
• Fallback: TxID only (slower, uses REST API)
─ or ─

šŸ“ Drop or click to load .kaspa file

šŸ› ļø Directory Builder

šŸ“„ Import

āš™ļø Settings

šŸš€ Session Setup

šŸ’° Wallet & UTXO Management

Status: Disconnected
Address:
-
Balance: -

šŸ“ Workspace Settings

Workspace: Not Set (Browser Storage) ā“

Setting a workspace allows automatic saving of progress files and continuation of work even after closing the browser.

šŸ—„ļø Archive Node Discovery

Archive Monitor | - | -
Network: -
M blocks
(0.864M = 1 day)
times
(Stops on consecutive non-archive node detection)
Search: Not Started
Connect: [-----] 0/5 | Avg: -
Checking: Waiting
Waiting for connection...
Recent events:
No events

āš™ļø 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.

Status: Enabled

šŸ” 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)

Enterprise-grade API for fast transaction data retrieval. No need to run your own node. When configured, serves as priority fallback for downloading files. Get your API key at docs.kas.fyi

šŸ’ø Transaction Amount Settings

KAS

āš ļø 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

Current setting: 1 KAS

šŸ“Š WebSocket Configuration

šŸ“Š WebSocket Statistics
Maximum wait time for transaction confirmation (Default: 300 seconds)

Download Settings

Parallel Download (Experimental)
Use 8 parallel connections for files with 10+ chunks
REST API Test Mode
Skip RPC and download via REST API
Force Archive Node
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

Click buttons above to investigate WASM SDK capabilities...

šŸ›”ļø CSP Violation Monitor

Monitors Content Security Policy violations (Report-Only mode)

Violations: 0
No CSP violations detected yet...

šŸ”Œ Multiple WebSocket Test (Experimental)

Test feature to listen for Block-added events on multiple nodes to improve BlockID detection speed

Status: Disconnected

🚫 Block Event Filter

āš ļø Maintains WebSocket connection while ignoring only BlockID events

Filtered: 0 items
Last filter: -

šŸ”Ŗ REST API Kill Switch

āš ļø Temporarily disable REST API (for debugging)

Status: ā— Enabled
Skip count: 0
Last skip: -

🧪 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
āš ļø Warning: This is for testing only. Smaller values create more MetaTxIDs, which increases upload time and blockchain costs. Always use 160 for production.