关于 sbtc-auto-funnel
sbtc-auto-funnel 是面向持有 sBTC 的 Agent 的收益管理技能,会按储备门槛计算可转入 Zest Protocol 借贷池的余额。它只生成供 Agent 决策的 MCP 命令,不会自动执行。
主要功能
- 01检查链上 sBTC 余额与 Zest 持仓
- 02按储备门槛计算可转入金额
- 03检查钱包连接、池状态与 STX Gas
- 04输出 Zest 供应命令,不自动执行
适用场景
- 01将超过储备线的闲置 sBTC 转入 Zest
- 02在执行前检查余额、池访问和 Gas
- 03仅查看可转入额度而不提交交易
MCP 相关
使用 MCP 工具 `sbtc_get_balance` 读取余额,并以 `zest_get_position` 查看持仓;生成 `zest_supply` 命令供 Agent 决定是否广播。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ aibtcdev/ skills --skill sbtc-auto-funnel安装后在 Claude Code 中输入/sbtc-auto-funnel确认已加载。
附带文件AGENT.mdsbtc-auto-funnel.ts
详细介绍
sBTC 自动分流
监控 sBTC 余额是否达到可配置的储备阈值,并将超出部分转入 Zest Protocol 的借贷池赚取收益。基于 1,400 多轮自主 DeFi 操作构建,每一聪收入都会立即投入使用。
功能
Agent 通过赏金、收件箱付款、x402 服务和交易赚取 sBTC。闲置的聪不会产生收益。此技能会检查流动 sBTC 余额,将其与储备下限进行比较,并将差额存入 Zest,使被动持有的资产转变为可产生收益的头寸。
Agent 为何需要它
如果没有自动收益路由,Agent 会积累闲置的 sBTC,而这些资产原本可以通过 Zest 借款人赚取利息。自动分流模式可确保收入到账后在同一轮操作中投入使用,并在数百轮操作中持续复利。
命令
doctor
预检:钱包连接状态、是否可读取 sBTC 余额、Zest 池是否可访问、是否有可用的 STX Gas。
bun run sbtc-auto-funnel/sbtc-auto-funnel.ts doctor
run --action=check
只读余额检查。报告流动 sBTC、Zest 头寸、储备阈值,以及是否可以执行分流。
bun run sbtc-auto-funnel/sbtc-auto-funnel.ts run --action=check
run --action=funnel
计算超出储备的金额,验证 Gas,并输出存入 Zest 的 MCP 命令。不会自动执行——由 Agent 决定。
bun run sbtc-auto-funnel/sbtc-auto-funnel.ts run --action=funnel
install-packs
无需安装其他软件包。
安全说明
- **代码强制执行储备下限:**默认值为 200,000 聪。硬编码最低值为 50,000 聪,不能设置得更低。
- **最低分流金额:**少于 10,000 聪时不会存入(Gas 成本会超过收益)。
- **Gas 验证:**继续操作前需要 150,000 uSTX。余额不足时会阻止操作。
- **仅存入:**此技能绝不会借款。只能存入 Zest。借款需要单独获得操作员批准。
- **不会自动执行:**输出
zest_supplyMCP 命令载荷。是否广播由 Agent 决定。 - **余额验证:**通过 API 读取链上余额,而非使用缓存值。过期数据无法触发存入操作。
输出约定
{
"status": "success | error | blocked",
"action": "string",
"data": {
"balance": {
"sbtc_liquid": 271010,
"zest_position": 245000,
"reserve_threshold": 200000,
"excess": 71010,
"funnel_amount": 70000
},
"mcp_command": {
"tool": "zest_supply",
"params": { "asset": "sBTC", "amount": "70000" }
}
},
"error": null
}
链上证明
| 操作 | Txid | 区块 | 结果 |
|---|---|---|---|
| 向 Zest 存入 70k 聪 | aed49fc3... | 7377225 | (ok true) |
| 向 Zest 存入 175k 聪 | 之前的存入交易 | mainnet | (ok true) |
架构
[Agent earns sBTC] → [check balance] → [excess > reserve?]
↓ yes
[validate gas] → [output zest_supply command]
↓ no
[report: no action needed]
此技能无状态——每次调用时都会读取当前链上余额。无需本地状态文件。
限制
- 使用 MCP 工具
sbtc_get_balance读取余额。如果无法连接 MCP 服务,则改用 Hiro API。 - 使用
zest_get_position读取 Zest 头寸。头寸数据仅供参考(不会用于分流决策)。 - 储备阈值可针对每次运行进行配置,但最低为 50k 聪,以防意外耗尽全部余额。
来源
AIBTC x Bitflow Skills Pay the Bills 比赛的获胜项目。 原作者:@secret-mars 比赛 PR:https://github.com/BitflowFinance/bff-skills/pull/83