Use when you have a written implementation plan to execute in a separate session with review checkpoints
npx skills add cashubtc/cashu-skill
Or install specific skill: npx add-skill https://github.com/cashubtc/cashu-skill
# Description
Manage Bitcoin and Cashu ecash. Send/receive via Lightning, manage multiple mints, and transact privately with ecash tokens.
# SKILL.md
name: Cashu wallet
description: Manage Bitcoin and Cashu ecash. Send/receive via Lightning, manage multiple mints, and transact privately with ecash tokens.
read_when:
- User wants to pay for a service using Bitcoin or Lightning
- User wants to receive Bitcoin or Lightning payments
- User wants to check their wallet balance or transaction history
- User wants to send or receive Cashu ecash tokens
- User wants to add or manage Cashu mints
- User wants to restore their wallet from a seed
metadata: {"clawdbot":{"emoji":"🥥","requires":{"bins":["node","npm"]}}}
Cashu Wallet
Cashu Wallet is a lightweight, privacy-focused Bitcoin wallet powered by Cashu ecash. It allows you to send and receive payments instantly using the Lightning Network or by exchanging ecash tokens directly.
🌟 Key Features
- Bitcoin over Lightning: Seamlessly send and receive Lightning payments.
- Cashu Ecash: Privacy-preserving ecash tokens.
- Multi-Mint Support: Connect to multiple mints to diversify risk or support different currencies (sats, usd, eur, etc., depending on the mint).
📦 Installation & Setup
The wallet is a Node.js CLI application located in this directory.
-
Install Dependencies:
bash cd cli npm install -
Create Alias (Optional but Recommended):
To make commands easier to run, you can create an alias:
bash alias cashu='node cli/wallet.mjs'
🚀 Usage Guide
All commands can be run using node cli/wallet.mjs <command> (or cashu <command> if aliased).
1. Managing Mints
Before you can do anything, you need to trust a Mint. A mint exchanges Bitcoin (Lightning) for ecash tokens.
- List Mints: View connected mints and their status.
bash node cli/wallet.mjs mints - Add a Mint: connect to a new mint URL.
bash node cli/wallet.mjs add-mint https://mint.url # Example (Testnut): node cli/wallet.mjs add-mint https://testnut.cashu.space
2. Receiving Money (In)
-
Via Lightning (Deposit): Create a Lightning invoice to swap BTC for ecash.
bash # Usage: invoice <amount> [mint_url] node cli/wallet.mjs invoice 1000
This command will generate an invoice and wait for payment. Once paid, it automatically mints the tokens. -
Via Ecash Token: Receive a Cashu token string sent by someone else.
bash # Usage: receive <token> node cli/wallet.mjs receive "cashuA..."
3. Sending Money (Out)
-
Via Lightning (Pay Invoice): Pay a BOLT11 Lightning invoice using your ecash balance.
bash # Usage: pay-invoice <bolt11_invoice> [mint_url] node cli/wallet.mjs pay-invoice lnbc10u... -
Via Ecash Token: Generate a token to send to someone else off-chain.
bash # Usage: send <amount> [mint_url] node cli/wallet.mjs send 500
Output: AcashuA...token string that you can share.
4. Wallet Management
-
Check Balance: See your total balance across all mints.
bash node cli/wallet.mjs balance -
Transaction History: View past deposits, withdrawals, and transfers.
bash node cli/wallet.mjs history -
Check Pending Invoice: If you created an invoice but closed the CLI before it confirmed, check it manually.
bash # Usage: check-invoice <quote_id> [mint_url] node cli/wallet.mjs check-invoice "quote_id_here" -
Restore Wallet: Recover funds from a specific mint using your seed (stored in
~/.cashu-wallet/seed.txt).
bash node cli/wallet.mjs restore https://mint.url
🛠️ Troubleshooting
- Logs & Data: Data is stored in
~/.cashu-wallet/wallet.db. - Recommended Mint:
https://mint.coinos.io
# README.md
Cashu Wallet CLI
A lightweight, robust CLI for managing Cashu ecash tokens and interacting with Bitcoin Lightning mints. Built with Node.js and SQLite.
⚡ Quick Start
Installation
git clone <repo-url>
cd cashu-wallet/cli
npm install
Usage
Run commands via node cli/wallet.mjs <command>.
Manage Wallet
- balance - Show total balance.
- history [limit] [offset] - View transaction logs.
- restore <mint-url> - Restore funds from seed.
Mint Management
- mints - List trusted mints.
- add-mint <url> - Add a new mint.
Incoming (Receive/Mint)
- invoice <amount> - Create Lightning invoice to mint tokens.
- check-invoice <quote-id> - Check status of pending mint.
- receive <token> - Import a Cashu token string.
Outgoing (Send/Melt)
- pay-invoice <bolt11> - Pay a Lightning invoice.
- send <amount> - Generate a token to send.
🛠 Tech Stack
- Runtime: Node.js (>=18.0.0) ES Modules
- Core:
coco-cashu-core - Storage:
~/.cashu-wallet/wallet.db(SQLite) &seed.txt
ℹ️ Notes for Agents
- Entry Point:
cli/wallet.mjs - Data Dir:
~/.cashu-wallet(auto-migrates from.coco-wallet) - Testing: No test runner. Use
npm testfor balance check or run commands manually against a test mint. - Conventions:
camelCasefor code,snake_casefor files. Usepath.joinfor paths.
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.