← Back to Skills Marketplace
manyfestation

Kaspa Wallet

by Manyfestation · GitHub ↗ · v1.0.11
cross-platform ⚠ suspicious
2695
Downloads
2
Stars
2
Active Installs
12
Versions
Install in OpenClaw
/install kaspa
Description
Simple wallet for Kaspa blockchain. Send KAS, check balances, generate payment URIs. Self-custody CLI wallet with JSON output for automation.
README (SKILL.md)

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:

  • If pip fails: pip install kaspa manually, or try KASPA_PYTHON=python3.12 python3 install.py
  • If venv missing: sudo apt install python3-venv (Ubuntu/Debian)
  • To reinstall: rm -rf .venv && python3 install.py

CLI 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... max

# Generate payment URI
./kaswallet.sh uri kaspa:q... 1.5 "coffee payment"

# Network info
./kaswallet.sh info

# Fee estimates
./kaswallet.sh fees

# Generate 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 \x3Caddress> \x3Camount>           # Send specific amount
./kaswallet.sh send \x3Caddress> max                # Send entire balance
./kaswallet.sh send \x3Caddress> \x3Camount> 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... max

# 3. 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:

  • Mainnet: https://explorer.kaspa.org/txs/{txid}
  • Testnet: https://explorer-tn10.kaspa.org/txs/{txid}

Switch Networks

# Testnet
export KASPA_NETWORK="testnet-10"
./kaswallet.sh info

# Back to mainnet
export KASPA_NETWORK="mainnet"
./kaswallet.sh info

Units

  • KAS: Human-readable unit (e.g., 1.5 KAS)
  • sompi: Smallest unit, 1 KAS = 100,000,000 sompi

All command inputs accept KAS. Outputs include both KAS and sompi where relevant.

Security Notes

  • Private keys: Never expose in logs or error messages
  • Mnemonics: Passed via environment variables only
  • No disk storage: Wallet does not store credentials
  • Fresh connections: Each command establishes new RPC connection
  • Address format: Validate Kaspa addresses (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

  • QR code generation for addresses
  • Payment links
  • Transaction history
  • Multi-address support
  • Batch payments
  • Telegram bot integration

Resources

Usage Guidance
This package appears to implement a Kaspa CLI wallet and will ask you to provide a private key or mnemonic (KASPA_PRIVATE_KEY or KASPA_MNEMONIC) and will install Python packages from PyPI. Before installing: - Treat the registry metadata mismatch as a red flag: the skill does require sensitive env vars even though the registry did not list them. Don't trust metadata alone. - Only use this with testnet or small amounts until you can fully audit the code and the 'kaspa' PyPI package it installs. Installing will pull code from the network (get-pip.py and PyPI), which is a supply‑chain risk. - Prefer generating and signing transactions with an offline or hardware wallet. If you must use an env var private key, isolate the environment (dedicated VM/container) and remove the key after use. - Inspect install.log and the installed packages before running with real funds. Consider pinning package versions and reviewing the 'kaspa' package maintainers. - If you want higher assurance, ask the publisher for a source repository, package hashes, or a signed release; absence of a homepage/source (metadata shows 'unknown') reduces confidence. If you want, I can: (a) scan the remaining truncated parts of scripts/kaswallet.py and install.py for specific suspicious calls, (b) list exact network endpoints the code will contact, or (c) suggest safer deployment steps (containerize, offline key handling).
Capability Analysis
Type: OpenClaw Skill Name: kaspa Version: 1.0.11 The skill bundle is classified as suspicious due to the use of broad `allowed-tools` including `Bash` and `Write`, and the `install.py` script's behavior of downloading and executing `get-pip.py` from `https://bootstrap.pypa.io`. While this remote code execution is for a legitimate purpose (bootstrapping pip) and from a trusted domain, it represents a significant high-risk capability. The `SKILL.md` itself does not contain prompt injection attempts, and the core `scripts/kaswallet.py` handles sensitive data (private keys/mnemonics) via environment variables, which is standard for CLI wallets.
Capability Assessment
Purpose & Capability
The skill claims to be a Kaspa wallet and the code implements wallet functionality. However the registry metadata lists no required environment variables, while SKILL.md and the code require one of KASPA_PRIVATE_KEY or KASPA_MNEMONIC — a significant omission in the declared requirements.
Instruction Scope
The SKILL.md and scripts limit actions to wallet operations (balance, send, info, fees, URI generation) and instruct installing dependencies via install.py. The installer writes an install.log and creates a .venv under the skill directory. The runtime will read environment variables (KASPA_PRIVATE_KEY, KASPA_MNEMONIC, KASPA_RPC_URL, KASPA_NETWORK, KASPA_PYTHON) — all relevant to the wallet, but noted because these are sensitive and were not declared in the registry metadata.
Install Mechanism
No registry install spec, but an included install.py bootstraps a Python venv and may download get-pip.py from bootstrap.pypa.io and install the 'kaspa' package from PyPI. This is a typical Python install flow but introduces supply‑chain risk (unreviewed packages from PyPI). The installer and scripts do not use obscure or shortener URLs.
Credentials
The tool legitimately needs a private key or mnemonic for self‑custody, but the skill registry metadata did not declare these required credentials. Storing private keys in environment variables is expected for a CLI wallet but is high‑sensitivity — users must understand the risk. The code also logs system/installation info to install.log (executable path, platform), which is benign but may disclose environment details.
Persistence & Privilege
always is false and the skill does not request system‑wide privileges. Installation creates a local .venv, .pycache, and install.log under the skill directory — normal for this type of project and limited to the skill's directory.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install kaspa
  3. After installation, invoke the skill by name or use /kaspa
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.11
Changelog - Updated SKILL.md format with architecture diagrams and feature tables - Fixed SDK compatibility: XPrv string conversion, testnet-10 network mapping
v1.0.10
- Minor update to install.py script. - No changes to user-facing features or documentation.
v1.0.9
Kaspa Wallet - Send and receive KAS, check balances, view network info, estimate fees, and generate wallets. - All interactions via JSON CLI with structured error handling. - Secure design: credentials supplied only via environment variables; not stored on disk. - Support for both mainnet and testnet operation.
v1.0.8
Kaspa Wallet 1.0.8 migrates from Node.js to Python for improved portability and ease of use. - Replaced Node.js implementation with a Python-based CLI and installer. - Added install.py and requirements.txt for Python installation/setup. - Updated documentation: install and environment configuration now use Python (Python 3.8+ required). - Simplified script files and structure, removed all Node.js/TypeScript files. - Expanded and clarified CLI instructions, commands, environment options, and error handling. - Introduced new features such as fee estimates, improved error messages, and structured JSON outputs.
v1.0.7
- The installation process was simplified; running npm install is no longer required—use node install.js only. - No code changes were made; documentation update only.
v1.0.6
- Replaced the shell-based installer (install.sh) with a Node.js script (install.js). - Installation now uses npm and Node: run npm install && node install.js. - Dropped dependencies on curl/wget and unzip; Node.js >= 20 is now the only required dependency.
v1.0.5
Kaspa Wallet CLI v1.0.5 - Adds README.md and package-lock.json for improved documentation and reproducible installs. - The install script now downloads the official WASM SDK from kaspanet/rusty-kaspa. - New command: generate-mnemonic for creating a wallet seed phrase. - Installation steps and requirements clarified (Node.js ≥20, curl/wget, unzip). - Updated UTXO consolidation guidance: instructs users to send "max" to their own address if a storage mass error occurs when sending specific amounts. - Documentation and usage examples improved for clarity.
v1.0.4
Kaspa Wallet v1.0.4 - Simplified the SKILL.md user guide for easier onboarding and clarity. - Cleaner CLI syntax: no longer requires command flags for operations. - Transaction execution now occurs immediately—confirmation prompts removed. - All commands output single-line JSON for easy parsing. - "Storage mass" constraint and fee-handling instructions are clearer, with suggested solutions for errors.
v1.0.3
Kaspa Wallet 1.0.3 - Migrated CLI implementation from Python to Node.js, using official Kaspa WASM SDK (@kasdk/nodejs) via npm. - Added full npm dependencies and TypeScript source files for new wallet logic. - Storage mass ("dust") handling is now automatic, with clear guidance and a `--max` option for sending full balance. - Output format is standardized as JSON for easier consumption and parsing. - Updated documentation with new install steps, environment variables, commands, error handling, and safety rules. - Removed legacy Python wallet script (`kaswallet.py`).
v1.0.2
Kaspa Wallet 1.0.2 Changelog - Added .DS_Store file to the repository. - No changes made to existing documentation or functionality.
v1.0.1
Kaspa Wallet skill v1.0.1 - No changes detected in files or documentation. - Version bump only; functionality remains unchanged.
v1.0.0
Kaspa Wallet 1.0.0 – Initial Release - Provides a self-contained Kaspa wallet CLI requiring no preconfigured MCP server. - Supports checking KAS balances, sending transactions (with user confirmation), inspecting node/server info, and generating payment request URIs. - Allows wallet authentication via environment variables for secrets. - Adheres to safety rules, including never displaying sensitive wallet info and requiring preflight checks before sending. - Simple installation with a one-time script; local virtualenv setup for dependencies.
Metadata
Slug kaspa
Version 1.0.11
License
All-time Installs 2
Active Installs 2
Total Versions 12
Frequently Asked Questions

What is Kaspa Wallet?

Simple wallet for Kaspa blockchain. Send KAS, check balances, generate payment URIs. Self-custody CLI wallet with JSON output for automation. It is an AI Agent Skill for Claude Code / OpenClaw, with 2695 downloads so far.

How do I install Kaspa Wallet?

Run "/install kaspa" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Kaspa Wallet free?

Yes, Kaspa Wallet is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Kaspa Wallet support?

Kaspa Wallet is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Kaspa Wallet?

It is built and maintained by Manyfestation (@manyfestation); the current version is v1.0.11.

💬 Comments