核心用法
sparkbtcbot-proxy 是一个服务器端HTTP API代理,让AI代理能够在不持有私钥的情况下安全地使用Spark Bitcoin L2钱包。代理通过bearer token进行身份验证,支持细粒度的角色权限控制(read-only、invoice、pay-only、admin)。
主要功能:
- 余额查询与交易历史查看
- 创建Lightning发票(BOLT11)和Spark原生发票
- 支付Lightning发票和L402付费墙
- Spark地址转账
- 自动处理异步L402支付(含轮询机制)
典型使用流程:
1. 部署代理到Vercel(免费套餐可用)
2. 创建最小权限token并设置消费限额
3. 代理通过环境变量PROXY_URL和PROXY_TOKEN配置
4. 发起标准HTTP API调用
显著优点
| 优势 | 说明 |
|------|------|
密钥隔离 | 助记词由服务器持有,代理不暴露给AI代理 |
| **消费控制** | 支持单笔交易限额(maxTxSats)和日预算(dailyBudgetSats) |
| **即时撤销** | compromised时直接吊销token,无需转移资金 |
| **角色分级** | 四类预设角色实现最小权限原则 |
| **L402原生支持** | 内置异步支付处理和token缓存机制 |
| **零基础设施** | Vercel + Upstash Redis一键部署 |
潜在缺点与局限性
1. 托管信任假设:必须信任代理部署者的服务器安全
2. 单点故障:代理服务器宕机则所有代理钱包功能不可用
3. 网络依赖:纯在线操作,不支持离线签名场景
4. 异步复杂性:L402支付可能需要轮询,实现不当会导致资金损失
5. Token管理开销:多代理场景下需要维护token生命周期
6. Spark生态局限:依赖较新的Spark L2协议,流动性网络效应待验证
适合人群
- 多代理系统架构师:需要为不同功能代理分配差异化钱包权限
- 自动化工作流开发者:构建需要比特币支付能力的AI工作流
- L402内容消费者:程序化访问付费API资源
- 企业级部署:需要审计日志和消费控制的生产环境
常规风险
| 风险等级 | 描述 | 缓解措施 |
|----------|------|----------|
| **高** | Token泄露导致资金损失 | 使用read-only/pay-only角色,设置严格限额 |
| **高** | L402轮询失败造成"已付款未收货" | 必须实现推荐的重试逻辑 |
| **中** | 代理服务器被入侵 | 自托管,定期轮换token,监控logs接口 |
| **中** | 日预算配置错误导致超支 | 双重确认global和per-token限额 |
| **低** | Spark协议本身风险 | 关注官方安全公告,控制单地址资金量 |
安全建议
始终遵循最小权限原则:read-only用于监控,invoice用于收款,pay-only用于付款,admin仅限人工管理脚本。测试阶段先用数百sats验证代理行为,确认可靠后再提高限额。