Kaspa Wallet
by @manyfestation
Simple wallet for Kaspa blockchain. Send KAS, check balances, generate payment URIs. Self-custody CLI wallet with JSON output for automation.
clawhub install kaspaπ About This Skill
name: kaspa-wallet description: > Simple wallet for Kaspa blockchain. Send KAS, check balances, generate payment URIs. Self-custody CLI wallet with JSON output for automation. keywords: - kaspa - kas - wallet - payments - transfer - balance - cryptocurrency - blockdag allowed-tools: - Bash - Read - Write - Glob - Grep - Task user-invocable: true
Kaspa Wallet Skill
Simple self-custody wallet for Kaspa blockchain.
Overview
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β KASPA WALLET β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β βββββββββββββββ βββββββββββββββ βββββββββββββββββββ β
β β Balance β β Send β β Payment URIs β β
β β Check β β KAS β β Generator β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββββββ β
β β β β β
β ββββββββββββββββββ΄ββββββββββββββββββββ β
β β β
β ββββββββββββΌβββββββββββ β
β β Kaspa Python SDK β β
β β (wRPC Client) β β
β βββββββββββββββββββββββ β
β β β
β βββββββββββββββββΌββββββββββββββββ β
β βΌ βΌ βΌ β
β βββββββββββ ββββββββββββ ββββββββββββ β
β β Mainnet β β Testnet β β Custom β β
β β wRPC β β wRPC β β RPC β β
β βββββββββββ ββββββββββββ ββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Features
| Feature | Description |
|---------|-------------|
| Send KAS | Transfer KAS to any Kaspa address |
| Balance Check | Check balance of any address |
| Payment URIs | Generate kaspa: payment request URIs |
| Fee Estimates | Get current network fee tiers |
| Network Info | Check node sync status and blocks |
| Wallet Generation | Generate new mnemonic phrases |
Quick Start
Installation
python3 install.py
Requirements: Python 3.8+ with pip. Works on macOS, Linux, Windows.
Troubleshooting install:
pip install kaspa manually, or try KASPA_PYTHON=python3.12 python3 install.pysudo apt install python3-venv (Ubuntu/Debian)rm -rf .venv && python3 install.pyCLI Usage
# Check balance
./kaswallet.sh balance
./kaswallet.sh balance kaspa:qrc8y...Send payment
./kaswallet.sh send kaspa:qrc8y... 0.5
./kaswallet.sh send kaspa:qrc8y... maxGenerate payment URI
./kaswallet.sh uri kaspa:q... 1.5 "coffee payment"Network info
./kaswallet.sh infoFee estimates
./kaswallet.sh feesGenerate new wallet
./kaswallet.sh generate-mnemonic
Payment URI Format
Architecture
kaspa-wallet/
βββ SKILL.md
βββ README.md
βββ install.py # Auto-installer with venv
βββ kaswallet.sh # CLI wrapper script
βββ requirements.txt
βββ scripts/
βββ kaswallet.py # Main wallet logic
Configuration
# Environment variables (one required)
export KASPA_PRIVATE_KEY="64-character-hex-string"
OR
export KASPA_MNEMONIC="your twelve or twenty four word seed phrase"Optional
export KASPA_NETWORK="mainnet" # mainnet (default), testnet-10
export KASPA_RPC_URL="wss://..." # Custom RPC endpoint
export KASPA_RPC_CONNECT_TIMEOUT_MS="30000" # Connection timeout (default: 15000)
Core Functions
Check Balance
./kaswallet.sh balance # Your wallet balance
./kaswallet.sh balance kaspa:qrc8y... # Any address balance
Output:
{"address": "kaspa:q...", "balance": "1.5", "sompi": "150000000", "network": "mainnet"}
Send KAS
./kaswallet.sh send # Send specific amount
./kaswallet.sh send max # Send entire balance
./kaswallet.sh send priority # Priority fee tier
Output (success):
{"status": "sent", "txid": "abc123...", "from": "kaspa:q...", "to": "kaspa:q...", "amount": "0.5", "fee": "0.0002"}
Output (error):
{"error": "Storage mass exceeds maximum", "errorCode": "STORAGE_MASS_EXCEEDED", "hint": "...", "action": "consolidate_utxos"}
Network Info
./kaswallet.sh info
Output:
{"network": "mainnet", "url": "wss://...", "blocks": 12345678, "synced": true, "version": "1.0.0"}
Fee Estimates
./kaswallet.sh fees
Output:
{"network": "mainnet", "low": {"feerate": 1.0, "estimatedSeconds": 60}, "economic": {...}, "priority": {...}}
Generate New Wallet
./kaswallet.sh generate-mnemonic
Output:
{"mnemonic": "word1 word2 word3 ... word24"}
Payment URI
./kaswallet.sh uri # Your address
./kaswallet.sh uri kaspa:q... 1.5 "payment" # With amount and message
Error Handling
| Error | Cause | Solution |
|-------|-------|----------|
| STORAGE_MASS_EXCEEDED | Amount too small for current UTXOs | Send max to yourself first to consolidate |
| NO_UTXOS | No spendable outputs | Wait for confirmations or fund wallet |
| INSUFFICIENT_FUNDS | Balance too low | Check balance, reduce amount |
| RPC_TIMEOUT | Network slow | Retry or increase timeout |
| NO_CREDENTIALS | Missing wallet key | Set KASPA_PRIVATE_KEY or KASPA_MNEMONIC |
| SDK_NOT_INSTALLED | Kaspa SDK missing | Run python3 install.py |
Payment Flow
βββββββββββββββ βββββββββββββββ βββββββββββββββ
β Sender β β Kaspa Walletβ β Recipient β
ββββββββ¬βββββββ ββββββββ¬βββββββ ββββββββ¬βββββββ
β β β
β 1. Initiate β β
ββββββββββββββββββββΆβ β
β β β
β β 2. Execute β
β β KAS Transfer β
β βββββββββββββββββββΆβ
β β β
β β 3. Confirm β
β βββββββββββββββββββββ
β 4. Success β β
βββββββββββββββββββββ β
β β β
Common Workflows
Consolidate UTXOs (Fix Storage Mass Error)
When sending fails with STORAGE_MASS_EXCEEDED:
# 1. Get your address
./kaswallet.sh balance
Returns: {"address": "kaspa:qYOUR_ADDRESS...", ...}
2. Send max to yourself (consolidates UTXOs)
./kaswallet.sh send kaspa:qYOUR_ADDRESS... max3. Now send the original amount (will work)
./kaswallet.sh send kaspa:qRECIPIENT... 0.5
Check Transaction Status
After sending, use the txid to verify on a block explorer:
https://explorer.kaspa.org/txs/{txid}https://explorer-tn10.kaspa.org/txs/{txid}Switch Networks
# Testnet
export KASPA_NETWORK="testnet-10"
./kaswallet.sh infoBack to mainnet
export KASPA_NETWORK="mainnet"
./kaswallet.sh info
Units
All command inputs accept KAS. Outputs include both KAS and sompi where relevant.
Security Notes
kaspa:q... format)Comparison with Traditional Wallets
| Feature | Traditional Wallet | Kaspa Wallet CLI |
|---------|-------------------|------------------|
| Setup | GUI install | python3 install.py |
| Interface | Desktop app | CLI + JSON output |
| Automation | Limited | Full (JSON parsing) |
| Custody | Varies | Self-custody |
| Agent-friendly | No | Yes |
Roadmap
Resources
π‘ Examples
Installation
python3 install.py
Requirements: Python 3.8+ with pip. Works on macOS, Linux, Windows.
Troubleshooting install:
pip install kaspa manually, or try KASPA_PYTHON=python3.12 python3 install.pysudo apt install python3-venv (Ubuntu/Debian)rm -rf .venv && python3 install.pyCLI Usage
# Check balance
./kaswallet.sh balance
./kaswallet.sh balance kaspa:qrc8y...Send payment
./kaswallet.sh send kaspa:qrc8y... 0.5
./kaswallet.sh send kaspa:qrc8y... maxGenerate payment URI
./kaswallet.sh uri kaspa:q... 1.5 "coffee payment"Network info
./kaswallet.sh infoFee estimates
./kaswallet.sh feesGenerate new wallet
./kaswallet.sh generate-mnemonic
Payment URI Format
βοΈ Configuration
# Environment variables (one required)
export KASPA_PRIVATE_KEY="64-character-hex-string"
OR
export KASPA_MNEMONIC="your twelve or twenty four word seed phrase"Optional
export KASPA_NETWORK="mainnet" # mainnet (default), testnet-10
export KASPA_RPC_URL="wss://..." # Custom RPC endpoint
export KASPA_RPC_CONNECT_TIMEOUT_MS="30000" # Connection timeout (default: 15000)