mcpField
Y
yield-hunter

yield-hunter

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

yield-hunter について

yield-hunter は、sBTC ウォレット残高を監視し、条件を満たす資金を Zest Protocol のレンディングプールに預けるコマンドラインスキルです。最低残高、手元に残す額、確認間隔を設定して定期運用したいウォレット保有者向けです。

主な機能

  1. 01Zest Protocol への sBTC 自動預け入れ
  2. 02預け入れしきい値と予備額の設定
  3. 03残高確認間隔の調整
  4. 04状態・履歴の確認とプロセス制御
  5. 05設定と状態の永続化

活用シーン

  1. 01残高がしきい値に達した際の sBTC 預け入れ
  2. 02指定額の sBTC を流動資金として確保
  3. 03預け入れ履歴と現在の Zest ポジションの確認

インストール

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

$npx skills add https://github.com/aibtcdev/skills --skill yield-hunter

インストール後、Claude Code で/yield-hunterを入力して読み込まれたか確認します。

同梱ファイルAGENT.mdyield-hunter.ts

詳細

Yield Hunter Skill

ウォレットの sBTC 残高を監視し、Zest Protocol のレンディングプールに自動で預け入れて利回りを得る、自律型の利回り獲得デーモンを提供します。デーモンはフォアグラウンドで実行され、Ctrl+C または stop サブコマンドで停止できます。

状態は実行間で ~/.aibtc/yield-hunter-state.json に保存されます。

要件:

  • メインネットのみ(Zest Protocol はメインネット専用です)
  • sBTC 残高のあるロック解除済みウォレット
  • トランザクション手数料用の STX 残高(Stacks のガス代は sBTC ではなく STX で支払います)

使用方法

bun run yield-hunter/yield-hunter.ts <subcommand> [options]

サブコマンド

start

自律型の利回り獲得を開始します。停止するまでフォアグラウンドで実行されます。

bun run yield-hunter/yield-hunter.ts start [--threshold 10000] [--reserve 0] [--interval 600]

オプション:

  • --threshold <sats>(任意)— 預け入れ前の sBTC の最小残高(satoshi 単位。デフォルト:10000 = 0.0001 sBTC)
  • --reserve <sats>(任意)— 預け入れずに流動性を保つ sBTC の金額(satoshi 単位。デフォルト:0 — すべて預け入れ)
  • --interval <seconds>(任意)— チェック間隔(秒。デフォルト:600 = 10 分)

実行内容:

  1. ウォレットがロック解除済みで、メインネット上にあることを確認します
  2. Zest Protocol の現在の APY を取得します
  3. 直ちに残高を確認します
  4. 設定された間隔で定期的に確認するようスケジュールします
  5. ウォレットの sBTC が threshold + reserve 以上の場合、reserve を差し引いた残高を Zest に預け入れます

出力:

{
  "success": true,
  "message": "Yield hunter started",
  "pid": 12345,
  "config": {
    "minDepositThreshold": "10000",
    "minDepositThresholdFormatted": "0.00010000 sBTC",
    "reserve": "0",
    "reserveFormatted": "0.00000000 sBTC",
    "checkIntervalSeconds": 600,
    "asset": "sBTC"
  },
  "note": "Running in foreground. Press Ctrl+C to stop."
}
stop

実行中の利回り獲得プロセスを停止します。

bun run yield-hunter/yield-hunter.ts stop

実行中のデーモンに SIGTERM を送信します。既存の Zest ポジションには影響しません。

出力:

{
  "success": true,
  "message": "Yield hunter stopped (PID: 12345)",
  "stats": {
    "checksRun": 24,
    "depositsExecuted": 3,
    "totalDeposited": "300000",
    "totalDepositedFormatted": "0.00300000 sBTC"
  }
}
status

現在の利回り獲得の状態、設定、最近のアクティビティを取得します。

bun run yield-hunter/yield-hunter.ts status

ウォレットがアクティブでメインネット上にある場合は、現在のウォレット残高と Zest のポジションも取得します。

出力:

{
  "running": true,
  "pid": 12345,
  "network": "mainnet",
  "config": {
    "minDepositThreshold": "10000",
    "minDepositThresholdFormatted": "0.00010000 sBTC",
    "reserve": "0",
    "reserveFormatted": "0.00000000 sBTC",
    "effectiveThreshold": "10000",
    "checkIntervalMs": 600000,
    "checkIntervalSeconds": 600,
    "asset": "sBTC"
  },
  "stats": {
    "lastCheck": "2024-01-01T12:00:00.000Z",
    "totalDeposited": "300000",
    "totalDepositedFormatted": "0.00300000 sBTC",
    "checksRun": 24,
    "depositsExecuted": 3,
    "lastError": null,
    "currentApy": "5.00%"
  },
  "currentPosition": {
    "walletSbtc": "150000",
    "walletSbtcFormatted": "0.00150000 sBTC",
    "availableToDeposit": "150000",
    "availableToDepositFormatted": "0.00150000 sBTC",
    "zestSupplied": "300000",
    "zestSuppliedFormatted": "0.00300000 sBTC",
    "zestBorrowed": "0"
  },
  "recentLogs": [
    { "timestamp": "2024-01-01T12:00:00.000Z", "type": "info", "message": "Wallet sBTC: 0.00150000 sBTC" }
  ]
}
configure

利回り獲得の設定を更新します。変更は直ちに保存され、次のチェックサイクルから適用されます。

bun run yield-hunter/yield-hunter.ts configure [--threshold 20000] [--reserve 5000] [--interval 300]

オプション:

  • --threshold <sats>(任意)— 新しい預け入れ最小しきい値(satoshi 単位)
  • --reserve <sats>(任意)— 新しい予備残高(satoshi 単位)
  • --interval <seconds>(任意)— 新しいチェック間隔(秒。最小:10)

出力:

{
  "success": true,
  "changes": [
    "Deposit threshold set to 0.00020000 sBTC",
    "Reserve set to 0.00005000 sBTC"
  ],
  "config": {
    "minDepositThreshold": "20000",
    "minDepositThresholdFormatted": "0.00020000 sBTC",
    "reserve": "5000",
    "reserveFormatted": "0.00005000 sBTC",
    "checkIntervalMs": 600000,
    "checkIntervalSeconds": 600,
    "asset": "sBTC"
  },
  "note": "Changes saved. The running daemon will pick them up on the next check cycle."
}

注意事項

  • 状態は ~/.aibtc/yield-hunter-state.json に保存されます
  • PID の追跡には ~/.aibtc/yield-hunter.pid を使用します
  • 預け入れには borrow-helper コントラクト経由で Zest Protocol の supply 関数を使用します
  • トランザクション手数料は STX で支払います。手数料用の STX 残高があることを確認してください
  • デーモンはフォアグラウンドで実行されます。バックグラウンドで実行するには、プロセスマネージャー(例:tmux、screen、pm2)を使用してください
  • デーモンが実行中でなくても status は動作します(保存された状態を読み込みます)
  • デーモンが実行中でなくても configure は動作します(変更は次回の start 時に適用されます)

コメント