mcpField
C
comprabtc

comprabtc

ローカル
github.com/csacanam金融データ011 週間前に更新

comprabtc について

CompraBTCは、Celoを利用するユーザーやエージェント向けの非カストディ型ビットコイン積立サービスです。定期的なUSDT購入を設定でき、実行額と間隔はオンチェーンで制限され、購入したWBTCは自身のウォレットに送られます。

主な機能

  1. 01USDTからWBTCへの定期購入
  2. 02オンチェーンの支出額・間隔制限
  3. 03オンチェーンでのプラン取消
  4. 04購入時のTelegram通知
  5. 05Agent APIとkeeperによる実行

活用シーン

  1. 01定期的なビットコイン積立の設定
  2. 02トレジャリーウォレットでのWBTC定期購入
  3. 03購入状況の確認とプラン取消
  4. 04API経由での実行トリガー

MCP 対応

MCPサーバーは、状態確認、プランの作成・更新・取消、ポートフォリオ追跡のツールを提供します。トレジャリー自身のウォレットで署名します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"csacanam-comprabtc": {
"command": "npx",
"args": [
"-y",
"comprabtc-mcp"
],
"env": {
"COMPRABTC_WALLET_PRIVATE_KEY": "<COMPRABTC_WALLET_PRIVATE_KEY>",
"COMPRABTC_MAX_PER_RUN_USDT": "<COMPRABTC_MAX_PER_RUN_USDT>"
}
}
}
}
起動コマンドnpx -y comprabtc-mcp
設定が必要な環境変数
COMPRABTC_WALLET_PRIVATE_KEYシークレットTreasury/agent wallet that owns the plan (holds USDT, signs setup txs, receives WBTC). Required only for create/renew/cancel; reads work without it.
COMPRABTC_MAX_PER_RUN_USDTSafety cap per installment in USDT (default 50, pool-depth guard).

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmcomprabtc-mcp0.1.1

ツール

5

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
addressstringいいえ確認するウォレット(デフォルトは設定済みのトレジャリーウォレット)

詳細

CompraBTC

Celo 上的非托管式比特币定投エージェント。 プランを一度設定すれば、1 時間/1 日ごとに X ドル分の BTC をオンチェーンエージェントが購入し、あなた自身のウォレットに直接送ります。購入の合間に資金がウォレットから移動することはありません。

デプロイ済みコントラクト(Celo メインネット、チェーン 42220)

コントラクトアドレス
DCAExecutor(検証済み)0xd03ffeBBCaaA8aA21053eEB0EeAde39EFC504189
USDT(入力トークン)0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e
WBTC — ネイティブブリッジ(出力トークン)0x8aC2901Dd8A1F17a1A4768A6bA4C3751e3995B2D
Uniswap V3 SwapRouter020x5615CDAb10dc425a742d643d949a7F474C01abc4

スワップは USDT/WBTC の Uniswap V3 0.3% プールを経由します。プロトコル手数料は実行ごとに1% + 0.005 ドルの固定額で、オンチェーンで上限(≤1%、≤0.05 ドルの固定額)が強制され、手数料が積立額を超える場合はリバートします。

エージェント ID:Celo メインネット上の ERC-8004 #9665(8004scan)。すべてのトランザクションに ERC-8021 のアトリビューションタグが付与されます。

仕組み

flowchart TB
    USER["👤 User wallet<br/>(MiniPay / MetaMask / Valora)"]
    FE["Frontend — Next.js PWA<br/>(Vercel)"]

    subgraph onchain["⛓️ Celo mainnet"]
        USDT["USDT (ERC-20)"]
        EXEC["DCAExecutor<br/>0xd03f…4189<br/>non-custodial, on-chain limits"]
        ROUTER["Uniswap V3 SwapRouter02<br/>USDT/WBTC 0.3% pool"]
        TREASURY["Treasury"]
    end

    subgraph backend["🤖 Agent backend — Vercel"]
        KEEPER["Keeper (Vercel Cron, 5 min)<br/>scans PlanCreated events,<br/>checks due plans"]
        API["Express API<br/>POST /api/execute<br/>(x402-gated, permissionless)"]
        DB[("Supabase<br/>plans · executions")]
        TG["Telegram bot<br/>purchase alerts + ops"]
    end

    FACIL["x402 facilitator<br/>api.x402.celo.org"]

    USER -- "① approve(budget) — once" --> USDT
    USER -- "② createPlan(amount, interval) — once" --> EXEC
    FE -.-> USER
    KEEPER -- "discovers plans<br/>(PlanCreated events)" --> EXEC
    KEEPER -- "③ pays 0.02 USDT via x402<br/>(EIP-3009 signature)" --> API
    API -- "verify + settle" --> FACIL
    API -- "④ execute(user, minOut)<br/>+ ERC-8021 attribution tags" --> EXEC
    EXEC -- "⑤ transferFrom<br/>(one installment)" --> USDT
    EXEC -- "fee 1% + $0.005" --> TREASURY
    EXEC -- "⑥ swap USDT→WBTC" --> ROUTER
    ROUTER -- "⑦ WBTC straight<br/>to the user's wallet" --> USER
    API -- "records execution" --> DB
    API -- "🔔 purchase alert" --> TG
  1. ユーザーは USDT を DCAExecutor に承認し(上限 = プランの総予算)、オンチェーンの制限(1 回あたりの金額、最小間隔)を設定してプランを作成します。キャンセルはワンクリックで行えます(cancelPlan または approve(0))。
  2. キーパーは PlanCreated イベントからプランを検出します。各サイクルで execute() を呼び出す前に、実行 API に x402 マイクロペイメントを支払います。つまり、購入のたびにエージェント間決済も行われます。
  3. オンチェーンの制限により、キーパーが侵害されても過剰請求はできません。amountPerRun を超える金額を引き出したり、minInterval が経過する前に実行したりすることはできません。
  4. 購入のたびに Telegram アラートを受け取れます(アプリの設定からリンクします)。

リポジトリ構成

ディレクトリ内容
contracts/DCAExecutor.sol(Foundry)— メインネットのフォークテストを含む 21 件のテスト、デプロイスクリプト
backend/Express API + キーパーループ(viem)+ x402 ミドルウェア + Supabase + Telegram ボット
frontend/Next.js PWA(wagmi/viem)— MiniPay 自動接続、プラン作成、BTC ポートフォリオ
docs/ユニットエコノミクス、コピーのレビュー
PLAN.mdアーキテクチャの全体計画と、各要素の実現可能性の検証

ローカルでの実行

フロントエンド(frontend/.env.local に NEXT_PUBLIC_EXECUTOR_ADDRESS、NEXT_PUBLIC_API_URL、NEXT_PUBLIC_ATTRIBUTION_CODE、NEXT_PUBLIC_TELEGRAM_BOT が必要です):

cd frontend && pnpm install && pnpm dev   # http://localhost:3000

バックエンド + キーパー(Node 22。必要な環境変数(executor アドレス、キーパーキー、Supabase 認証情報、x402 API キー)については backend/src/config.ts を参照してください。DB スキーマは backend/supabase/schema.sql、マイグレーションは同じフォルダーにあります):

cd backend && pnpm install && pnpm dev    # API on :8080, keeper ticks every 60s

ローカルでは、キーパーはプロセス内ループ(setInterval)として動作します。Vercel にデプロイすると、Express アプリ全体が単一の関数となり、Vercel Cron が GET /api/cron/keeper を呼び出してキーパーを起動します(CRON_SECRET で保護、スケジュールは backend/vercel.json に定義)。サーバーレスインスタンスは凍結されて再利用されるため、そこでインターバルを使うと、重複した予定外のティックが発生します。キーパーがティック間で記憶する必要のある情報(アラートのクールダウン、ダイジェストの間隔、最後にスキャンしたブロック)は、メモリではなく agent_keeper_state に保存されます。

コントラクト:

cd contracts && forge test                # unit + Celo mainnet fork tests
forge script script/Deploy.s.sol --rpc-url celo --broadcast --verify --interactives 1

AI エージェント向け

資金を入れた独自のウォレットを持つエージェントは、2 回のトランザクションでビットコインの積立プランを設定できます。人間を支援するエージェントも同様です(署名はウェブアプリが処理します)。

  • MCP サーバー(トレジャリー DCA):claude mcp add comprabtc -- npx -y comprabtc-mcp — ステータスの確認、プランの作成・更新・キャンセル、ポートフォリオの追跡を行うツールです。署名にはトレジャリー独自のウォレットを使用します。詳しくは mcp/README.md をご覧ください。
  • エージェントスキル:npx skills add csacanam/comprabtc — プランの作成(viem)、監視、予算計算、キャンセル、パーミッションレスな x402 実行トリガーを扱います。
  • サービス記述子(機械可読な使い方ガイド):GET https://comprabtc-api.vercel.app/ · LLM インデックス:comprabtc.vercel.app/llms.txt
  • エージェント ID:Celo 上の ERC-8004 #9665 — メタデータ · 8004scan

透明性

オペレーターのウォレット(申告済み):

役割アドレス
Keeper(プランを実行)0x2F6a8283546d28506B312013F77aA38e60AF99B0
Treasury / payTo(手数料を受け取り)0x6Bd5c303b2ed7E264C1Ce9D3592457292a1F1c43

オンチェーンの取引量は、実際のユーザー資金です。 各プランは、ユーザー自身による approve から始まります。Keeper は実行のたびに transferFrom で分割払い分を 1 回分引き出し、購入した WBTC はそのままユーザーのウォレットに送られ、そこに保持されます。資産の預かりも、資金の往復もありません。取引量は、実際の経済的意図に基づく実際の BTC 購入額です。

x402 は、オープンな利用を可能にする内部メータリングです。 Keeper は実行のたびに x402 の支払いを行うため、各 x402 の支払いは、実際に実行された 1 回の購入に対応します。単独の少額取引ではありません。/api/execute はパーミッションレスで、オンチェーンイベントからプランを自動登録します。そのため、外部のエージェントや人間は誰でも呼び出して、独自の x402 決済を行えます。閉じた仕組みではありません。

ハッカソントラック

  • トラック 1 — オンチェーン収益: execute() 内でプロトコル手数料を徴収し、すべてのトランザクションに ERC-8021 のアトリビューションを付与します。
  • トラック 2 — x402 決済: Keeper は Celo x402 ファシリテーターを介し、実行のたびに /api/execute への支払いを行います。このエンドポイントはパーミッションレスで、どのエージェントも支払って実行をトリガーできます。
  • トラック 4 — Aigora: Aigora マーケットプレイスにエージェントを登録済み(#395)+trionlabs/aigora-skills へのフィードバック PR。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。