mcpField
S
sbtc-auto-funnel

sbtc-auto-funnel

github.com/aibtcdevその他1144 回インストール1 日前に更新
リポジトリ

sbtc-auto-funnel について

sBTCを保有するエージェント向けの運用スキルです。準備金の基準と残高を照合してZest Protocolへの供給コマンドを作成し、実行はエージェントに委ねます。

主な機能

  1. 01オンチェーンのsBTC残高とZestポジションを確認
  2. 02準備金を超える供給可能額を計算
  3. 03ウォレット、プール、STXガスを確認
  4. 04実行せずにZest供給コマンドを作成

活用シーン

  1. 01準備金を超えるsBTCをZestへ回す
  2. 02実行前に残高、プール、ガスを確認
  3. 03取引を送信せず供給可能額を調べる

MCP 対応

残高確認にMCPツール` s btc_get_balance`ではなく` s btc_get_balance`?

インストール

コマンドをコピーしてターミナルで実行します。

$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 の融資プールに振り向けて利回りを得ます。あらゆる収益のサトシをすぐに運用に回す、自律型 DeFi オペレーションを 1,400 サイクル以上実施した経験をもとに構築されています。

機能

エージェントは報奨金、受信した支払い、x402 サービス、取引から sBTC を獲得します。使われていないサトシは収益を生みません。このスキルは流動性のある sBTC 残高を確認し、準備金の下限と比較して、超過分を Zest に預け入れます。これにより、保有しているだけの資産を利回りのあるポジションに変えます。

エージェントに必要な理由

利回りの自動振り分けがないと、Zest の借り手から利息を得られるはずの sBTC が、エージェントの手元に使われないまま蓄積されます。この自動ファネルのパターンにより、収益が到着したのと同じサイクル内に運用へ回され、数百サイクルにわたって複利効果を得られます。

コマンド

doctor

事前チェックを行います。ウォレットの接続、sBTC 残高の読み取り、Zest プールへのアクセス、STX のガス代を確認します。

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

準備金を超える額を計算し、ガス代を検証して、Zest に預け入れる MCP コマンドを出力します。自動実行はしません。実行するかどうかはエージェントが判断します。

bun run sbtc-auto-funnel/sbtc-auto-funnel.ts run --action=funnel
install-packs

追加のパッケージは必要ありません。

安全性に関する注意

  • 準備金の下限はコードで適用されます: デフォルトは 200,000 サトシです。ハードコードされた最小値は 50,000 サトシで、これより低く設定することはできません。
  • ファネルの最小額: 10,000 サトシ未満は預け入れません(ガス代が利回りを上回るためです)。
  • ガス代の検証: 続行には 150,000 uSTX が必要です。不足している場合は処理を中断します。
  • 預け入れのみ: このスキルは借り入れを行いません。Zest への預け入れのみ行います。借り入れには別途、オペレーターの承認が必要です。
  • 自動実行なし: zest_supply MCP コマンドのペイロードを出力します。ブロードキャストするかどうかはエージェントが判断します。
  • 残高の検証: キャッシュされた値ではなく、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 のポジションの読み取りには zest_get_position を使用します。ポジションデータは情報提供のみを目的としており、ファネルの判断には使用されません。
  • 準備金のしきい値は実行ごとに設定できますが、誤って残高をすべて使い切らないよう、下限は 50k サトシに固定されています。

開発の経緯

AIBTC x Bitflow Skills Pay the Bills コンペティションの優勝作です。 原作者:@secret-mars コンペティションの PR:https://github.com/BitflowFinance/bff-skills/pull/83

コメント