Manage Bitcoin and Cashu ecash. Send/receive via Lightning, manage multiple mints, and transact privately with ecash tokens.
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.
The wallet is a Node.js CLI application located in this directory.
Install Dependencies:
cd cli
npm install
Create Alias (Optional but Recommended): To make commands easier to run, you can create an alias:
alias cashu='node cli/wallet.mjs'
All commands can be run using node cli/wallet.mjs <command> (or cashu <command> if aliased).
Before you can do anything, you need to trust a Mint. A mint exchanges Bitcoin (Lightning) for ecash tokens.
node cli/wallet.mjs mints
node cli/wallet.mjs add-mint https://mint.url
# Example (Testnut):
node cli/wallet.mjs add-mint https://testnut.cashu.space
Via Lightning (Deposit): Create a Lightning invoice to swap BTC for ecash.
# 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.
# Usage: receive <token>
node cli/wallet.mjs receive "cashuA..."
Via Lightning (Pay Invoice): Pay a BOLT11 Lightning invoice using your ecash balance.
# 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.
# Usage: send <amount> [mint_url]
node cli/wallet.mjs send 500
Output: A cashuA... token string that you can share.
Check Balance: See your total balance across all mints.
node cli/wallet.mjs balance
Transaction History: View past deposits, withdrawals, and transfers.
node cli/wallet.mjs history
Check Pending Invoice: If you created an invoice but closed the CLI before it confirmed, check it manually.
# 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).
node cli/wallet.mjs restore https://mint.url
~/.cashu-wallet/wallet.db.https://mint.coinos.io