CashPan
Give your AI an allowance: pay approved people within on-chain spending limits.
Description from the maker (original English)
Non-custodial Bitcoin Lightning (LDK) wallet for AI agents — pays L402 APIs from CLI or MCP.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
SZ_PASSPHRASE, SZ_MCP_MAX_SPEND_SATSValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"saturnzap": {
"command": "uvx",
"args": [
"saturnzap"
],
"env": {
"SZ_PASSPHRASE": "your-value",
"SZ_MCP_MAX_SPEND_SATS": "your-value"
}
}
}
}Run this in your terminal
claude mcp add saturnzap --env SZ_PASSPHRASE=your-value --env SZ_MCP_MAX_SPEND_SATS=your-value -- uvx saturnzapFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"saturnzap": {
"command": "uvx",
"args": [
"saturnzap"
],
"env": {
"SZ_PASSPHRASE": "your-value",
"SZ_MCP_MAX_SPEND_SATS": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"saturnzap": {
"type": "stdio",
"command": "uvx",
"args": [
"saturnzap"
],
"env": {
"SZ_PASSPHRASE": "your-value",
"SZ_MCP_MAX_SPEND_SATS": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
SZ_MCP_MAX_SPEND_SATS envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account lqwdtech, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: SZ_PASSPHRASE
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.4.1) reached the registry 43 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: CashPan, Agentwallet, Dinero en la Mesa — Perp DEX costs & funding
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Give your AI an allowance: pay approved people within on-chain spending limits.
Wallet infrastructure for Ai agents. EVM + Solana. x402 payments. No KYC.
Dinero en la Mesa: live all-in cost (fees + slippage) and funding on 28 perp DEXs. Free, read-only.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
A lightweight, CLI-first, non-custodial Lightning Network wallet built for autonomous AI agents.
Self-sovereign. Runs its own Lightning node. No full Bitcoin node required.
# One-line install (handles uv + the vendored ldk-node wheel)
curl -LsSf https://raw.githubusercontent.com/lqwdtech/SaturnZap/main/install.sh | sh
export SZ_PASSPHRASE="your-secure-passphrase" sz setup --auto # Generate seed + start node + pick LQWD peer sz service install # Keep the node running across reboots sz connect-info --check # Share the URI with peers/LSPs
Or install with uv tool directly
uv tool install saturnzap \
--find-links https://github.com/lqwdtech/SaturnZap/releases/expanded_assets/v1.4.1
The --find-links flag is required because ldk-node==0.7.0.post1 is not yet on PyPI; the SaturnZap GitHub Release ships the vendored wheel.
sz pay --invoice lnbc1... --max-sats 500
sz fetch https://api.example.com/data --max-sats 100
SaturnZap is an open-source Lightning wallet designed from the ground up for AI agents operating without human supervision. The agent installs SaturnZap, initializes its own Lightning node, opens channels to any peer on the network, sends and receives Bitcoin payments, and autonomously pays for L402-gated APIs.
SaturnZap is a CLI tool. It is not a hosted wallet, not a custodial service, and not a web application. Keys live on the agent's machine. The agent IS the Lightning node.
Two ways to integrate:
sz commands from any language, parse JSON from stdoutDocumentation: See the docs/ folder for detailed guides on
getting started,
configuration,
MCP server integration,
architecture, and
JSON API reference.
SaturnZap has two layers:
The sz command-line tool is free and open source under the MIT license. Anyone can install it, fork it, audit it, and build on it. There is no licensing fee, no API key required to use the software itself, and no telemetry.
SaturnZap ships pre-configured to use LQWD Technologies as its default Lightning Service Provider (LSP). LQWD operates 18 Lightning nodes across 18 countries with deep global channel liquidity.
When an agent uses LQWD's infrastructure, LQWD earns through:
LQWD is the default, not a requirement. Agents can open channels to any node on the Lightning Network. SaturnZap never enforces LQWD usage. LQWD competes on quality — 18-country coverage, deep liquidity, fast channel opens — not on lock-in.
This model mirrors how open-source software with cloud backends works: the tool is free, the infrastructure is the business.
--yes is passed.)Full architecture details: docs/architecture.md
┌─────────────────────────────────────────────────────────┐
│ Integration Layer │ │ │ │ sz CLI MCP Server OpenClaw Skill │ │ (typer) (FastMCP/stdio) (gateway) │ │ │ │ │ │ │ └───────────────┼──────────────────┘ │ │ │ │ │ ┌───────▼───────┐ │ │ │ IPC Client │ (auto-detect daemon) │ │ └───────┬───────┘ │ └──────────────────────┼──────────────────────────────────┘ │ Unix Domain Socket (sz.sock) ┌──────────────────────▼──────────────────────────────────┐ │ Daemon (sz start — foreground, blocks) │ │ │ │ IPC Server (asyncio) ─── Wallet Core │ │ 23 JSON methods node.py, payments.py, l402.py │ │ threading.Lock liquidity.py, keystore.py │ │ 0600 socket perms lqwd.py, config.py, output.py │ │ ipc.py │ └──────────────────────┬──────────────────────────────────┘ │ ┌──────────────────────▼──────────────────────────────────┐ │ LDK Node │ │ - Full Lightning protocol implementation │ │ - Esplora chain sync (LQWD → blockstream → mempool) │ │ - BIP39 key management │ │ - Peer connections and channel state machine │ └──────────────┬────────────────────────┬─────────────────┘ │ │ ┌──────────────▼──────────┐ ┌──────────▼──────────────────┐ │ LQWD Global Nodes │ │ Any Lightning Node │ │ (default — 18 nodes, │ │ (agent can peer with │ │ 18 countries, deep │ │ any public node on the │ │ liquidity, LSPS) │ │ Lightning Network) │ └─────────────────────────┘ └─────────────────────────────┘
The daemon (sz start) owns the LDK node and exposes 23 methods over a Unix Domain Socket at ~/.local/share/saturnzap/ /sz.sock. CLI commands, the MCP server, and OpenClaw automatically detect the daemon and route through IPC — no port conflicts, no database locks. If no daemon is running, commands fall back to starting an ephemeral node.
LDK Node syncs chain data via Esplora (block explorer REST API). No external Bitcoin node is needed. SaturnZap ships with a fallback chain — if the primary Esplora server is unreachable, it automatically probes alternatives (LQWD, blockstream.info, mempool.space) and connects to the first healthy endpoint. First sync takes a few minutes on a fresh install; subsequent starts are near-instant.
On mainnet, fresh installs peer with LQWD-AI-Grid by default — LQWD's agent-focused LSP node that supports LSPS1 and LSPS2 (JIT channels). The node auto-opens a channel back on first peer contact, so a new wallet can start receiving inbound liquidity without needing on-chain funds first. The 18-region geographic fleet is still embedded and available: set SZ_REGION=NEAREST to fall back to timezone-based selection (e.g. LQWD-England from UTC, LQWD-Japan from JST), or SZ_REGION=CA / --region CA to pin a specific region.
After the initial channel, agents use standard Lightning channel open flows to peer with anyone. SaturnZap has no routing logic that artificially prefers LQWD — Lightning pathfinding selects the best route. LQWD nodes appear as attractive routes naturally because of their connectivity and capacity across 18 countries.
All commands are designed for non-interactive execution. No spinners that break pipe parsing. Pass --pretty for human-readable output in a TTY. Default is always clean JSON.
One exception for safety: mainnet spending commands (send, pay, keysend, channels open) show a [y/N] confirmation. Skip it with --yes or SZ_MAINNET_CONFIRM=yes in automation. Signet and testnet never prompt.
SaturnZap monitors channel health. When configured, it automatically opens new channels when outbound liquidity drops below a threshold, and requests inbound liquidity from the configured LSP when needed. Agents can run indefinitely without manual intervention.
| Component | Library | Notes |
|---|---|---|
| Language | Python 3.12 | Type hints throughout |
| Lightning node | ldk-node 0.7.0 | LDK Node Python bindings, Neutrino built-in |
| CLI framework | typer | Clean API, auto-generated help |
| HTTP client | httpx | Used for L402 interceptor |
| Config storage | platformdirs + TOML | OS-appropriate config paths |
| Key encryption | cryptography | Fernet encryption for seed file |
| BIP39 | mnemonic | Seed phrase generation |
| Package manager | uv | Fast, modern Python tooling |
| MCP server | mcp ≥1.26 | Model Context Protocol for AI agent integration |
| Testing | pytest | Unit + integration, 395+ tests |
| Linting | ruff | Fast Python linter and formatter |
Embedded in SaturnZap as trusted default peers. On sz init or sz channels open --lsp lqwd, the nearest node is auto-selected by comparing the system's UTC offset against each node's timezone — smallest offset difference wins. Override with SZ_REGION env var or --region flag. Full pubkeys and connection strings are in src/saturnzap/lqwd.py.
| Alias | Region |
|---|---|
| LQWD-Canada | CA |
| LQWD-Sweden | SE |
| LQWD-France | FR |
| LQWD-England | GB |
| LQWD-Japan | JP |
| LQWD-Australia | AU |
| LQWD-Brazil | BR |
| LQWD-Bahrain | BH |
| LQWD-Singapore | SG |
| LQWD-SouthAfrica | ZA |
| LQWD-HongKong | HK |
| LQWD-SouthKorea | KR |
| LQWD-Indonesia | ID |
| LQWD-Ireland | IE |
| LQWD-Italy | IT |
| LQWD-Germany | DE |
| LQWD-India | IN |
| LQWD-US-West | US |
Full pubkeys and host:port connection strings are in src/saturnzap/lqwd.py. Signet/testnet node details maintained separately for development.
Full JSON API reference: docs/json-api-reference.md
Binary: sz
All comma
Only the beginning is shown; read the rest in the repo