Cocod
A Cashu ecash wallet CLI for Bitcoin and Lightning payments.
- Rating
- 5 (354 reviews)
- Downloads
- 519 downloads
- Version
- 1.0.0
Overview
A Cashu ecash wallet CLI for Bitcoin and Lightning payments.
Complete Documentation
View Source →
Cocod - Cashu Wallet CLI
Cocod is a Cashu wallet for managing ecash tokens and making Bitcoin/Lightning payments. It uses the Cashu protocol for privacy-preserving ecash transactions.
If a web/API request returns HTTP 402 Payment Required with an X-Cashu header, use this skill to parse and settle the request with cocod.
Agent Safety Policy (Required)
When acting as an AGENT with this skill:
- Always ask for explicit user permission before running any command/flow that can spend wallet funds, unless the user has already clearly instructed you to execute that spend action.
- Prefer preview/inspection commands before execution whenever available. For example, run
cocod x-cashu parseto inspect costs and requirements beforecocod x-cashu handle. - Treat
~/.cocodas sensitive. Never log, print, or expose its contents (including config, mnemonic material, wallet state, sockets, and pid files) unless the user explicitly requests a specific safe subset.
What is Cashu?
Cashu is a Chaumian ecash protocol that lets you hold and transfer Bitcoin-backed tokens privately. It enables unlinkable transactions using blind signatures.
Installation
# Install cocod CLI
bun install -g cocod
Version Compatibility
This skill is version-pinned to an exact cocod CLI release.
skill_versionmust match the npm package version.requires_cocod_versionis pinned to that exact same version.
cocod --version
If the version does not match the pinned values in this file, update cocod before using this skill.
Quick Start
# Initialize your wallet (generates mnemonic automatically)
cocod init
# Or with a custom mint
cocod init --mint-url https://mint.example.com
# Check balance
cocod balance
Commands
Core Wallet
# Check daemon and wallet status
cocod status
# Initialize wallet with optional mnemonic
cocod init [mnemonic] [--passphrase <passphrase>] [--mint-url <url>]
# Unlock encrypted wallet (only required when initialised with passphrase)
cocod unlock <passphrase>
# Get wallet balance
cocod balance
# Test daemon connection
cocod ping
Receiving Payments
# Receive Cashu token
cocod receive cashu <token>
# Create Lightning invoice to receive
cocod receive bolt11 <amount> [--mint-url <url>]
Sending Payments
AGENT rule: commands in this section spend wallet funds. Ask for permission first unless the user already explicitly requested the spend action.
# Create Cashu token to send to someone
cocod send cashu <amount> [--mint-url <url>]
# Pay a Lightning invoice
cocod send bolt11 <invoice> [--mint-url <url>]
HTTP 402 Web Payments (NUT-24)
Use these commands when a server responds with HTTP 402 and an X-Cashu payment request.
AGENT rule: cocod x-cashu handle can spend funds. Prefer cocod x-cashu parse first to preview amount/requirements, then ask permission before handling unless already instructed.
# Parse an encoded X-Cashu request from a 402 response header
cocod x-cashu parse <request>
# Settle the request and get an X-Cashu payment header value
cocod x-cashu handle <request>
Typical flow:
- Read
X-Cashufrom the402response. - Run
cocod x-cashu parseto inspect amount and mint requirements. - Run
cocod x-cashu handleto generate payment token header value. - Retry the original web request with returned
X-Cashu: cashuB...header.
Mints
# Add a mint URL
cocod mints add <url>
# List configured mints
cocod mints list
# Get mint information
cocod mints info <url>
Lightning Address (NPC)
Lightning Addresses are email-style identifiers (like [email protected]) that let others pay you over Lightning. If you have not purchased a username, NPC provides a free address from your Nostr npub; purchasing a username gives you a human-readable handle. Buying a username is a two-step flow so you can review the required sats before confirming payment.
AGENT rule: cocod npc username is a spend action. Ask permission before running --confirm unless already instructed.
# Get your NPC Lightning Address
cocod npc address
# Reserve/buy an NPC username (two-step)
cocod npc username <name>
cocod npc username <name> --confirm
History
# View wallet history
cocod history
# With pagination
cocod history --offset 0 --limit 20
# Watch for real-time updates
cocod history --watch
# Limit with watch
cocod history --limit 50 --watch
Daemon Control
# Start the background daemon (started automatically when not running when required)
cocod daemon
# Stop the daemon
cocod stop
Examples
Initialize with encryption:
cocod init --passphrase "my-secret"
Receive via Lightning:
cocod receive bolt11 5000
# Returns: lnbc50u1... (share this invoice to receive)
Pay a Lightning invoice:
cocod send bolt11 lnbc100u1p3w7j3...
Send Cashu to a friend:
cocod send cashu 1000
# Returns: cashuAeyJ0b2tlbiI6...
# Friend receives with: cocod receive cashu cashuAeyJ0b2tlbiI6...
Check status and balance:
cocod status
cocod balance
View recent history:
cocod history --limit 10
Concepts
- Cashu: Privacy-preserving ecash protocol using blind signatures
- Mint: Server that issues and redeems Cashu tokens
- Token: Transferable Cashu string representing satoshi value
- Bolt11: Lightning Network invoice format
- NPC: Lightning Address service for receiving payments
- Mnemonic: Seed phrase for wallet recovery
Installation
openclaw install cocod
💻Code Examples
bun install -g cocod
## Version Compatibility
This skill is version-pinned to an exact `cocod` CLI release.
- `skill_version` must match the npm package version.
- `requires_cocod_version` is pinned to that exact same version.
Check your installed CLI version:cocod --version
If the version does not match the pinned values in this file, update `cocod` before using this skill.
## Quick Startcocod balance
## Commands
### Core Walletcocod receive bolt11 <amount> [--mint-url <url>]
### Sending Payments
AGENT rule: commands in this section spend wallet funds. Ask for permission first unless the user already explicitly requested the spend action.cocod send bolt11 <invoice> [--mint-url <url>]
### HTTP 402 Web Payments (NUT-24)
Use these commands when a server responds with HTTP `402` and an `X-Cashu` payment request.
AGENT rule: `cocod x-cashu handle <request>` can spend funds. Prefer `cocod x-cashu parse <request>` first to preview amount/requirements, then ask permission before handling unless already instructed.cocod x-cashu handle <request>
Typical flow:
1. Read `X-Cashu` from the `402` response.
2. Run `cocod x-cashu parse <request>` to inspect amount and mint requirements.
3. Run `cocod x-cashu handle <request>` to generate payment token header value.
4. Retry the original web request with returned `X-Cashu: cashuB...` header.
### Mintscocod mints info <url>
### Lightning Address (NPC)
Lightning Addresses are email-style identifiers (like `[email protected]`) that let others pay you over Lightning. If you have not purchased a username, NPC provides a free address from your Nostr npub; purchasing a username gives you a human-readable handle. Buying a username is a two-step flow so you can review the required sats before confirming payment.
AGENT rule: `cocod npc username <name> --confirm` is a spend action. Ask permission before running `--confirm` unless already instructed.cocod stop
## Examples
**Initialize with encryption:**# Initialize your wallet (generates mnemonic automatically)
cocod init
# Or with a custom mint
cocod init --mint-url https://mint.example.com
# Check balance
cocod balance# Check daemon and wallet status
cocod status
# Initialize wallet with optional mnemonic
cocod init [mnemonic] [--passphrase <passphrase>] [--mint-url <url>]
# Unlock encrypted wallet (only required when initialised with passphrase)
cocod unlock <passphrase>
# Get wallet balance
cocod balance
# Test daemon connection
cocod pingTags
Quick Info
Ready to Install?
Get started with this skill in seconds
Related Skills
4claw
4claw — a moderated imageboard for AI agents.
Aap Passport
Agent Attestation Protocol - The Reverse Turing Test.
Adaptive Suite
A continuously adaptive skill suite that empowers Clawdbot.
Adversarial Prompting
Adversarial analysis to critique, fix.