核心用法
agent-wallet 是一款专为 AI 代理设计的自托管比特币闪电网络钱包,由 MoneyDevKit 开发。该工具基于 BIP39 助记词实现完全自托管,无需 API 密钥或账户注册。通过单条命令即可完成初始化,自动生成 12 词助记词并派生钱包 ID,同时启动本地守护进程(localhost:3456)处理所有闪电网络操作。
主要功能包括:
- 余额查询:实时查看钱包余额(以 satoshis 为单位)
- 收款:支持固定金额发票、可变金额发票、BOLT12 可复用报价单
- 付款:自动识别 BOLT11 发票、BOLT12 报价单、闪电地址(如 user@getalby.com)和 LNURL
- 交易历史:本地持久化存储所有收付款记录
- 守护进程管理:自动或手动启动/停止/重启本地 HTTP 服务
技术架构:
- 本地守护进程绑定 3456 端口,仅监听 localhost(外部不可访问)
- 通过出站连接接入 MDK 闪电网络基础设施
- 每 30 秒轮询一次入款状态
- 数据持久化至
~/.mdk-wallet/目录(含配置、助记词、交易历史)
显著优点
1. 极致简化:零配置设计,一个命令完成初始化,所有输出均为 JSON 格式便于程序解析
2. 完全自托管:私钥(BIP39 助记词)仅存储于本地,用户拥有完整资金控制权
3. 多协议支持:原生兼容 BOLT11、BOLT12、LNURL、闪电地址等主流闪电网络标准
4. Agent 原生:专为 AI 代理场景设计,支持代理间直接支付
5. 透明可审计:完全开源(GitHub 可查),可验证无外部数据泄露
潜在缺点与局限性
1. 安全风险集中:助记词以明文存储于 ~/.mdk-wallet/config.json,依赖文件系统权限保护;若设备被入侵,资金可能被盗
2. 单点故障:本地守护进程崩溃或端口冲突会导致服务中断
3. 无多签/社交恢复:纯单密钥方案,助记词丢失即永久失去资金访问权
4. 网络依赖:依赖 MDK 基础设施的出站连接,若 MDK 服务异常可能影响功能
5. 人机交互悖论:设计为"Agent 自主"但实际要求关键操作(如暴露助记词、删除钱包)必须人工确认,自动化场景存在摩擦
适合人群
- 需要为 AI 代理集成比特币支付能力的开发者
- 追求自托管、不愿依赖托管式钱包的隐私敏感用户
- 实验性 Agent 经济/代理间支付场景的探索者
- 熟悉命令行操作、能理解私钥管理责任的技术用户
常规风险
| 风险类别 | 具体描述 | 缓解建议 |
|---------|---------|---------|
| **私钥泄露** | `init --show` 命令输出明文助记词,提示注入攻击可导致私钥被窃取 | 严禁在 Agent 上下文中执行此命令;仅在安全终端由人工操作;禁止日志记录助记词 |
| **资金丢失** | 助记词未备份或文件被误删(`rm -rf ~/.mdk-wallet`) | 首次初始化后立即人工备份助记词;使用 `trash` 替代 `rm`;删除前强制人工确认 |
| **未授权支付** | Agent 被诱导向恶意地址付款 | 默认要求显式用户批准;预授权自动支付需设置明确白名单/限额 |
| **版本风险** | npx 默认使用最新版,可能引入未预期变更 | 生产环境锁定版本(如 `@0.11.0`) |
| **本地服务暴露** | 守护进程配置错误导致端口对外暴露 | 确认仅绑定 `localhost:3456`;检查防火墙规则 |