360 Secure SkillHub
360 安全技能中心

agent-wallet

基于 @moneydevkit/agent-wallet npm 包的自托管比特币闪电钱包 Skill:用 npx 命令初始化钱包(本地生成 BIP39 助记词)、启动本地守护进程(localhost:3456)、查询余额、生成 BOLT11/BOLT12 发票、向 bolt11/bolt12/LNURL/闪电地址发送支付并查看支付历史,所有命令输出 JSON。

satbot-mdk
satbot-mdk
热度 72.29
最近更新 2026-05-18 11:55:29
分类:生活依赖:代码执行 / 读写文件 / 第三方 API应用场景:个人理财 / 财务

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add mdk-agent-wallet
Metadata
name
agent-wallet
description
Self-custodial Bitcoin Lightning wallet for AI agents. Use when the agent needs to send or receive bitcoin payments, check its balance, generate invoices, or manage its wallet. Supports bolt11, bolt12, LNURL, and lightning addresses. Zero config — one command to initialize.
homepage
https://docs.moneydevkit.com/agent-wallet
repository
https://github.com/moneydevkit/mdk-checkout
metadata
{"openclaw":{"emoji":"₿","requires":{"bins":["node","npx"]},"install":[{"id":"agent-wallet-npm","kind":"npm","package":"@moneydevkit/agent-wallet","bins":["agent-wallet"],"label":"Install @moneydevkit/agent-wallet (npm)"}],"security":{"secrets":["~/.mdk-wallet/config.json (BIP39 mnemonic)"],"network":["localhost:3456 (daemon HTTP server)","MDK Lightning infrastructure via outbound connections"],"persistence":["~/.mdk-wallet/ (config, payment history)"],"notes":"The wallet stores a BIP39 mnemonic to disk and runs a local daemon. The mnemonic controls real funds on mainnet. Back it up and restrict file permissions on ~/.mdk-wallet/."}}}

agent-wallet

Self-custodial Lightning wallet for AI agents, built by MoneyDevKit. One command to init. All output is JSON.

Source: @moneydevkit/agent-wallet on npm · GitHub

Security & Transparency

This skill runs @moneydevkit/agent-wallet — an npm package published by MoneyDevKit. What it does:

  • Generates and stores a BIP39 mnemonic at ~/.mdk-wallet/config.json — this IS your private key. Treat it like a password.
  • Runs a local daemon on localhost:3456 — HTTP server for wallet operations. Binds to localhost only (not externally accessible).
  • Connects outbound to MDK's Lightning infrastructure.
  • Persists payment history to ~/.mdk-wallet/.

No data is sent to external servers beyond standard Lightning protocol operations. You can verify this by inspecting the source code or the published npm tarball.

Recommended: Pin a version (npx @moneydevkit/agent-wallet@0.11.0) in production.

Quick Start

# Initialize wallet (generates mnemonic)
npx @moneydevkit/agent-wallet init

# Get balance
npx @moneydevkit/agent-wallet balance

# Create invoice
npx @moneydevkit/agent-wallet receive 1000

# Pay someone
npx @moneydevkit/agent-wallet send user@getalby.com 500

How It Works

The CLI automatically starts a daemon on first command. The daemon:

  • Runs a local HTTP server on localhost:3456
  • Connects to MDK's Lightning infrastructure
  • Polls for incoming payments every 30 seconds
  • Persists payment history to ~/.mdk-wallet/

No webhook endpoint needed — the daemon handles everything locally.

Setup

First-time initialization

npx @moneydevkit/agent-wallet init

This command:

  1. Generates a BIP39 mnemonic — 12-word seed phrase that IS your wallet
  2. Creates config at ~/.mdk-wallet/config.json
  3. Derives a walletId — deterministic 8-char hex ID from your mnemonic
  4. Starts the daemon — local Lightning node on port 3456

The wallet is ready immediately. No API keys, no signup, no accounts. The agent holds its own keys.

View existing config

npx @moneydevkit/agent-wallet init --show

Returns { "mnemonic": "...", "network": "mainnet", "walletId": "..." }.

Note: init will refuse to overwrite an existing wallet. To reinitialize:

npx @moneydevkit/agent-wallet stop
rm -rf ~/.mdk-wallet  # WARNING: backup mnemonic first!
npx @moneydevkit/agent-wallet init

Commands

All commands return JSON on stdout. Exit 0 on success, 1 on error.

Command Description
init Generate mnemonic, create config
init --show Show config (mnemonic redacted)
start Start the daemon
balance Get balance in sats
receive <amount> Generate invoice
receive Generate variable-amount invoice
receive <amount> --description "..." Invoice with custom description
receive-bolt12 Generate a BOLT12 offer (variable amount, reusable)
send <destination> [amount] Pay bolt11, bolt12, lnurl, or lightning address
payments List payment history
status Check if daemon is running
stop Stop the daemon
restart Restart the daemon

Balance

npx @moneydevkit/agent-wallet balance

→ { "balance_sats": 3825 }

Receive (generate invoice)

# Fixed amount
npx @moneydevkit/agent-wallet receive 1000

# Variable amount (payer chooses)
npx @moneydevkit/agent-wallet receive

# With description
npx @moneydevkit/agent-wallet receive 1000 --description "payment for service"

→ { "invoice": "lnbc...", "payment_hash": "...", "expires_at": "..." }

Receive BOLT12 Offer

npx @moneydevkit/agent-wallet receive-bolt12

→ { "offer": "lno1..." }

BOLT12 offers are reusable and don't expire — share one offer and receive unlimited payments to it. Unlike BOLT11 invoices, the payer chooses the amount.

Send

npx @moneydevkit/agent-wallet send <destination> [amount_sats]

Destination auto-detection:

  • bolt11 invoice: lnbc10n1... (amount encoded, no arg needed)
  • bolt12 offer: lno1...
  • lightning address: user@example.com
  • LNURL: lnurl1...

For lightning addresses and LNURL, amount is required:

npx @moneydevkit/agent-wallet send user@getalby.com 500

Payment History

npx @moneydevkit/agent-wallet payments

→ { "payments": [{ "paymentHash": "...", "amountSats": 1000, "direction": "inbound"|"outbound", "timestamp": ..., "destination": "..." }] }

Upgrading

# Stop the running daemon
npx @moneydevkit/agent-wallet stop

# Run with @latest to pull the newest version
npx @moneydevkit/agent-wallet@latest start

Your wallet config and payment history in ~/.mdk-wallet/ are preserved across upgrades.

Usage Notes

  • Denomination: use ₿ prefix with sats (e.g. ₿1,000 not "1,000 sats")
  • Self-custodial: the mnemonic IS the wallet. Back it up. Lose it, lose funds.
  • Daemon: runs a local Lightning node on :3456. Auto-starts, persists to disk.
  • Agent-to-agent payments: any agent with this wallet can pay any other agent's invoice or lightning address.

What's Next?

Want to accept payments from customers? Use the moneydevkit skill to add checkouts to any website. Agent-wallet handles agent-to-agent payments; moneydevkit handles customer-to-agent payments. Together they give your agent full payment superpowers.