🧪 Skills

kaspa-wallet

--- name: Kaspa Wallet description: Send and receive KAS cryptocurrency. Check balances, send payments, generate wallets. --- # Kaspa Wallet CLI A standalone command-line wallet for the Kaspa blockc

v1.0.0
❤️ 0
⬇️ 1.0k
👁 1
Share

Description


name: Kaspa Wallet description: Send and receive KAS cryptocurrency. Check balances, send payments, generate wallets.

Kaspa Wallet CLI

A standalone command-line wallet for the Kaspa blockchain network.

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

Environment Variables

Required (one of):

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)

Commands

All commands output JSON. Exit code 0 = success, 1 = error.

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

All errors return JSON with structured information:

errorCode Meaning Resolution
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

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 and mnemonics are passed via environment variables only
  • Never log or expose these values
  • The wallet does not store credentials on disk
  • Each command establishes a fresh RPC connection

Examples for Agents

# Check if wallet is configured and has funds
./kaswallet.sh balance
# Parse: if balance > 0, wallet is ready

# Send payment with error handling
./kaswallet.sh send kaspa:recipient... 1.0
# If errorCode == "STORAGE_MASS_EXCEEDED":
#   Run: ./kaswallet.sh send YOUR_ADDRESS max
#   Then retry original send

# Verify network connectivity
./kaswallet.sh info
# Check: synced == true before sending

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs