mcpField
Q
q402-mcp

q402-mcp

ローカル
github.com/quackai-org金融データ11 週間前に更新

q402-mcp について

q402-mcpは、MCPクライアントからQ402のステーブルコイン決済を呼び出すMCPサーバーです。12のEVMチェーンで見積もり、ルーティング、任意の決済に対応し、サンドボックスを既定としつつ署名方式を設定できます。

主な機能

  1. 01ステーブルコイン決済の見積もりとルーティング
  2. 0212のEVMチェーンでの任意決済
  3. 03ローカル署名とサーバー管理署名
  4. 04既定でのサンドボックス実行
  5. 05決済とセットアップのツール提供

活用シーン

  1. 01決済ルートとガス費用の比較
  2. 02対応チェーン間のステーブルコイン送金の準備
  3. 03ローカルまたはサーバー管理署名の設定
  4. 04サンドボックスでの決済ワークフローのテスト

MCP 対応

見積もり、ルーティング、決済操作を含むQ402の決済・セットアップ用ツールをMCPクライアントに提供します。対応クライアントにはstdioサーバーとして登録できます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"quackai-org-q402": {
"command": "npx",
"args": [
"-y",
"@quackai/q402-mcp"
],
"env": {
"Q402_TRIAL_API_KEY": "<Q402_TRIAL_API_KEY>",
"Q402_MULTICHAIN_API_KEY": "<Q402_MULTICHAIN_API_KEY>",
"Q402_PRIVATE_KEY": "<Q402_PRIVATE_KEY>",
"Q402_AGENTIC_PRIVATE_KEY": "<Q402_AGENTIC_PRIVATE_KEY>",
"Q402_ENABLE_REAL_PAYMENTS": "<Q402_ENABLE_REAL_PAYMENTS>",
"Q402_MAX_AMOUNT_PER_CALL": "<Q402_MAX_AMOUNT_PER_CALL>",
"Q402_ALLOWED_RECIPIENTS": "<Q402_ALLOWED_RECIPIENTS>",
"Q402_RELAY_BASE_URL": "<Q402_RELAY_BASE_URL>",
"Q402_AGENT_WALLET_ADDRESS": "<Q402_AGENT_WALLET_ADDRESS>",
"Q402_API_KEY": "<Q402_API_KEY>",
"Q402_WALLET_ID": "<Q402_WALLET_ID>",
"Q402_BUILDER_CODE": "<Q402_BUILDER_CODE>"
}
}
}
}
起動コマンドnpx -y @quackai/q402-mcp
設定が必要な環境変数
Q402_TRIAL_API_KEYシークレットRecommended path: skip this UI and run `q402_doctor` after install - it stores secrets in ~/.q402/mcp.env, which the server auto-loads. Fill this field directly ONLY if your MCP client manages secrets for you. Value is a Free Trial API key from https://q402.quackai.ai/event - BNB Chain (permanent) + Base (permanent) + Mantle limited-time (2026-08-21~08-28 UTC+9), 500 sponsored TXs, gas covered by Q402. Avalanche trial has ended. BNB and Base payments auto-route to this key when set (same rule for q402_pay and q402_batch_pay up to 5 recipients).
Q402_MULTICHAIN_API_KEYシークレットRecommended path: skip this UI and run `q402_doctor` after install - it stores secrets in ~/.q402/mcp.env, which the server auto-loads. Fill this field directly ONLY if your MCP client manages secrets for you. Value is a Paid Multichain API key from https://q402.quackai.ai/payment - full 12-chain support with per-chain Gas Tank. Auto-routed for non-BNB payments and whenever keyScope='multichain' is chosen.
Q402_PRIVATE_KEYシークレットMode A - real EOA signing. Hex-encoded EVM private key (0x + 64 hex chars) of YOUR MetaMask wallet, used to sign payment authorizations LOCALLY on your machine. After your first payment that wallet shows as 'Smart account' in MetaMask (EIP-7702 delegation, reversible via q402_clear_delegation). Use a fresh wallet, not your main one. Skip this and pick Mode B (Q402_AGENTIC_PRIVATE_KEY) or Mode C (server-managed Agent Wallet) if you'd rather keep your MetaMask untouched. Recommended path: run q402_doctor after install - it stores secrets in ~/.q402/mcp.env, which the server auto-loads.
Q402_AGENTIC_PRIVATE_KEYシークレットMode B - local Agent Wallet signing. Hex-encoded EVM private key (0x + 64 hex chars) exported from your Agent Wallet at https://q402.quackai.ai/dashboard -> Agent tab -> Export. Signs LOCALLY just like Mode A, but the signer is your dedicated Agent Wallet - your MetaMask EOA is never touched. Pick this for AI-agent automation when you want a dedicated purse with per-tx + daily caps you set on the dashboard.
Q402_ENABLE_REAL_PAYMENTSLive-mode switch. 0 = sandbox (test mode, no funds move - every q402_pay returns a fake hash). 1 = real on-chain payments. Default 1 since v0.5.11: safe because mode only flips to live when a live API key (q402_live_*) is set AND one of (a) a valid 32-byte private key for local signing modes, OR (b) walletMode="agentic-server" with Q402_MULTICHAIN_API_KEY for the server-managed Agent Wallet path. Without either combination, the server stays in sandbox regardless of this flag.
Q402_MAX_AMOUNT_PER_CALLPer-call USD-equivalent cap for USDC/USDT/RLUSD. Any such q402_pay request with amount above this is rejected before signing. Q (QuackAI) is exempt by design (your own token; recipient allowlist + confirmation still apply). Lower this for a tighter agent blast-radius; raise for treasury-grade transfers.
Q402_ALLOWED_RECIPIENTSOptional comma-separated lowercase EVM addresses. When set, q402_pay rejects any recipient not on this allowlist.
Q402_RELAY_BASE_URLOverride for the Q402 relay endpoint. Defaults to https://q402.quackai.ai/api. Set explicitly when running against a self-hosted Q402 deployment or a non-canonical environment.
Q402_AGENT_WALLET_ADDRESSServer-managed Agent Wallet picker (walletMode='agentic-server' only). Lowercased agent wallet address (the hex 0x... shown on the Agent tab of your dashboard) selecting which of your Agent Wallets to spend from when you hold more than one (max 10 per owner). Omit to use the default wallet. Ignored for the local-signing modes that carry their own private key.
Q402_API_KEYシークレットDEPRECATED legacy single-key env from pre-v0.5.0 installs. The server still reads it as a silent fallback so existing setups keep working, but new users should pick a scoped variant instead. Q402_TRIAL_API_KEY (Free Trial, BNB Chain + Base) and Q402_MULTICHAIN_API_KEY (full 12-chain surface) are designed to coexist - BNB and Base payments auto-route to the trial key, other chains use multichain. Only set Q402_API_KEY if you are migrating an existing pre-v0.5.0 install; do NOT set it alongside the scoped variants on a fresh install.
Q402_WALLET_IDDEPRECATED soft-migration alias for Q402_AGENT_WALLET_ADDRESS (one release of overlap from v0.6.0). The server still accepts it but logs a deprecation notice. New installs should set Q402_AGENT_WALLET_ADDRESS directly.
Q402_BUILDER_CODEOptional Base Builder Code for onchain attribution (ERC-8021 / Base Builder Codes). When set, every q402_x402_fetch payment includes your code as the client/intermediary in the x402 payment extension so payments are attributed onchain. Format: 1-32 lowercase letters, numbers, or underscores. Leave unset to disable attribution.

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

パッケージ
npm@quackai/q402-mcp0.11.33

ツール

47

掲載時のツール一覧 · 2 日前に更新

このツールにパラメーターはありません。

詳細

@quackai/q402-mcp

Q402 用 MCP サーバーです。12 の EVM チェーン(Robinhood Chain 上の USDG を含む)で、ガス代不要の USDC、USDT、RLUSD、USDG 決済を利用できます。Claude(Desktop / Code)、OpenAI Codex CLI、その他すべての Model Context Protocol クライアントから呼び出せます。

npm license

無料トライアルをご利用いただけます。BNB Chain + Base(USDC + USDT)でガス代不要の取引を500回、カード不要です。ウォレットで1回署名するだけです:https://q402.quackai.ai。 期間限定ボーナス: 2026-08-21~08-28 UTC+9 の期間中、Mantle(USDC + USDT)もトライアルキーで利用できます。

トライアル対象範囲のポリシー: 無料トライアルプログラムで発行された API キー(plan: "trial")は、BNB Chain(USDC/USDT のガス代不要決済)および Base(USDC/USDT のガス代不要決済)を恒久的なチェーンとして利用できます。Avalanche のトライアルは終了しました — avax を利用するにはマルチチェーンキーをご使用ください。期間限定の 2026-08-21~08-28 UTC+9 の間は、Mantle(USDC/USDT のガス代不要決済)も利用できます。サーバー側で時間が判定され、期間外は TRIAL_BNB_ONLY が返されます。有料 API キーでは、常に12チェーンすべてを利用できます。

任意の MCP クライアントから、12 の EVM チェーンでステーブルコイン決済の見積もり → ルーティング →(任意で)決済を行えます。受取人は全額を受け取り、送信者は Q402 の EIP-7702 リレイヤーによりガス代が $0 になります。


クイックスタート

  1. サーバーをクライアントに登録します(クライアントごとに1行)。
  2. エージェントに 「Q402 をセットアップして」 と伝えます。エージェントが q402_doctor を実行し、~/.q402/mcp.env を作成して、キーの貼り付けを案内します。
1. サーバーを登録する
クライアントコマンド / 設定
Claude Code(CLI)claude mcp add q402 -- npx -y @quackai/q402-mcp
Claude Desktop(アプリ)claude_desktop_config.json を編集します(Settings → Developer → Edit Config):{ "mcpServers": { "q402": { "command": "npx", "args": ["-y", "@quackai/q402-mcp"] } } }。アプリを再起動します。
OpenAI Codex CLIcodex mcp add q402 -- npx -y @quackai/q402-mcp(Windows での代替方法は以下を参照)
Cursor~/.cursor/mcp.json に追加します:{ "mcpServers": { "q402": { "command": "npx", "args": ["-y", "@quackai/q402-mcp"] } } }
ClineCline → Settings → MCP Servers → Edit JSON。同じ形式を Cursor と同様に使用します。
GitHub Copilot(VS Code).vscode/mcp.json に追加します - ルートキーは mcpServers ではなく servers です:{ "servers": { "q402": { "command": "npx", "args": ["-y", "@quackai/q402-mcp"] } } }。VS Code を再読み込みし、Copilot Chat のツール選択画面で q402 を有効にします。
Hermes Agent(Nous Research)JSON ではなく YAML です。~/.hermes/config.yaml の mcp_servers の下に追加し(以下を参照)、/reload-mcp を実行します。
その他の stdio MCP クライアントnpx -y @quackai/q402-mcp を指定します。クライアント固有のコードは不要です。
Hermes Agent - YAML 設定(~/.hermes/config.yaml)

Hermes は ~/.hermes/config.yaml の mcp_servers の下から MCP サーバーを読み込みます(JSON ではなく YAML です)。

mcp_servers:
  q402:
    command: "npx"
    args: ["-y", "@quackai/q402-mcp"]
    enabled: true

編集後、Hermes で /reload-mcp を実行するとツールが読み込まれます。または CLI で hermes mcp add q402 --command npx --args -y @quackai/q402-mcp を実行します。

Claude Code(claude バイナリを使う CLI)と Claude Desktop(macOS / Windows アプリ)は別の製品です。claude mcp add コマンドは CLI にのみ存在します。Desktop アプリでは上記の JSON 設定が必要です。

シークレットはこの設定には含まれません。サーバーは ~/.q402/mcp.env から読み込みます(AWS / Stripe / gh CLI と同じ方式です)。

Windows:codex mcp add が「Access is denied」を返す場合

一部の Windows 環境では、codex.exe による自身の設定ファイルへの書き込みがブロックされます。次の設定を ~/.codex/config.toml に手動で追加してください。

[mcp_servers.q402]
command = "npx"
args = ["-y", "@quackai/q402-mcp"]

その後、Codex を再起動します。codex mcp add q402 -- npx -y @quackai/q402-mcp と同じ効果があります。

### 2. 初回セットアップ

クライアントを再起動し、次のように尋ねます。> 「Q402 をセットアップして」

エージェントが q402_doctor を実行します。初回インストール時は、次の処理を行います。

  1. ~/.q402/mcp.env(プレースホルダー)を作成します
  2. エディターでファイルを開きます
  3. API キーと署名パスを、チャットではなくファイルに貼り付ける手順を案内します
  4. 再起動し、q402_doctor を再実行して確認します

キーをチャットに貼り付けないでください。 ローカルモードではお使いのマシン上で署名するため、キーがデバイスの外に出ることはありません。モード C(サーバー管理)では、クライアントに PK は不要です。

署名モードを選択
モードEnv署名者メモ
AQ402_PRIVATE_KEYMetaMask EOA、ローカル最も簡単です。初回使用後は「スマートアカウント」と表示されます(q402_clear_delegation で元に戻せます)。古い実装に EIP-7702 委任した後は、q402_clear_delegation を呼び出すまで q402_x402_fetch は利用できません(ガス代不要で元に戻せます。次の q402_pay で再委任されます)。現在の ERC-1271 対応実装に委任している場合、q402_x402_fetch は通常どおり動作します。
BQ402_AGENTIC_PRIVATE_KEYAgent Wallet、ローカルダッシュボード → Wallets → Danger Zone → Export private key から PK をエクスポートします。MetaMask には影響しません。
C(API キーのみ)Agent Wallet、サーバー管理クライアントに PK は不要です。単発の支払いには Trial または Multichain キーを使用できます。定期支払いには、BNB を含むすべてのチェーンで Multichain キーが必要です。

複数のモードが設定されている場合、q402_pay は使用するモードを尋ねます。選択肢:walletMode = "agentic-server" \| "agentic-local" \| "eoa"。

手動セットアップ(AI を使用しない場合)

以下のテンプレートを使って、~/.q402/mcp.env を自分で作成します。API キーと署名パスの両方を設定した場合にのみライブモードに切り替わるため、テンプレートをそのまま保存すればサンドボックスのままです。実際のキーが設定されていても、Q402_ENABLE_REAL_PAYMENTS=0 にするとサンドボックスが強制されます。

# ~/.q402/mcp.env

# ── API key (pick one or both for auto-routing) ──
Q402_TRIAL_API_KEY=          # Free Trial, BNB (permanent) + Base (permanent) + Mantle limited-time (from /event)
Q402_MULTICHAIN_API_KEY=     # Paid Multichain, all 12 chains (from /payment)

# ── Signing path - pick ONE of Mode A / B / C ──
# Mode A: your MetaMask EOA's hex private key.
# Hardware wallets (Ledger / Trezor) are NOT supported here - Q402
# needs a raw hex key it can sign EIP-7702 type-4 authorizations with.
Q402_PRIVATE_KEY=

# Mode B: exported Agent Wallet pk from the dashboard. Keeps your
# MetaMask untouched. Get it at:
#   https://q402.quackai.ai/dashboard → Agent tab → Export
Q402_AGENTIC_PRIVATE_KEY=

# Mode C: no PK needed. A Trial key also enables Mode C one-shot payments;
# leave both PK lines blank. Q402 signs with the server-managed Agent Wallet.
# Multichain key required for recurring, Mode C batch, and bridge/OFT.
# Optional: pin one of your Agent Wallets when you have multiple (max 10).
# Q402_AGENT_WALLET_ADDRESS=0x...

# Live mode switch:
#   0 = sandbox (test mode, no funds move)
#   1 = real on-chain payments
# Default 1 - safe because mode only flips to live when an API key AND
# at least one valid signing path (A/B/C) are populated above.
Q402_ENABLE_REAL_PAYMENTS=1

# Default Q402 deployment. Only change for self-hosted.
Q402_RELAY_BASE_URL=https://q402.quackai.ai/api

# Safety guards (max-amount ships uncommented at $200; lower for tighter caps):
Q402_MAX_AMOUNT_PER_CALL=200
# Q402_ALLOWED_RECIPIENTS=0xabc...,0xdef...

# Pre-check (automatic trust-check before outgoing payments in live mode).
# Triggers when paying a first-time counterparty OR amount >= $1.
# Fee: $0.02 per check; verdict cached 7 days (no repeat charge within TTL).
# Set to 1 to disable pre-check entirely (even first-time / large-amount pays).
# Q402_DISABLE_PRECHECK=0

次に chmod 600 ~/.q402/mcp.env を実行し(Unix)、クライアントを再起動します。これで設定は完了です。EIP-7702 に関する影響にご注意ください。 チェーン上で初めて実際の支払いを行うと、MetaMask / OKX でウォレットに「スマートアカウント」と表示されます。これは Q402 がガス代不要の決済に使用する委任で、いつでも q402_clear_delegation で元に戻せます。x402 ユーザーへの重要事項: EIP-7702 が古い実装に委任されている場合、q402_clear_delegation を呼び出すまで q402_x402_fetch で x402 の支払いに署名できません(Base ではガス代不要で元に戻せます。次の q402_pay で自動的に再委任されます)。現在の ERC-1271 対応実装に委任されたウォレットは通常どおり動作します。

上級者向け - 環境変数の明示的な注入

ファイルを使わずに環境変数を自分で注入したい場合(たとえば、Codex の env_vars 許可リスト、シークレット管理ツール、またはシェルのエクスポートを使用する場合)、サーバーは process.env にフォールバックします。競合する場合は、ファイル内の値より process.env の値が優先されます。そのため、既存のシェルでのエクスポート設定は変更なしで引き続き使えます。

Codex の env_vars 許可リストの例
[mcp_servers.q402]
command = "npx"
args = ["-y", "@quackai/q402-mcp"]
startup_timeout_sec = 20.0
env_vars = [
  "Q402_TRIAL_API_KEY",
  "Q402_MULTICHAIN_API_KEY",
  "Q402_PRIVATE_KEY",
  "Q402_AGENTIC_PRIVATE_KEY",
  "Q402_AGENT_WALLET_ADDRESS",
  "Q402_ENABLE_REAL_PAYMENTS",
  "Q402_RELAY_BASE_URL",
]

次に、値を ~/.zshrc / ~/.bashrc でエクスポートします。スキーマ全体については、Codex の設定リファレンスを参照してください。

セットアップせずに試す

q402_quote は設定なしで動作します。API キー、秘密鍵、環境変数ファイルは不要です。次のように尋ねてください。

「12 の Q402 チェーンすべてで、vitalik.eth に 50 USDC を送金する場合のガス代を比較して。」


Q402_RELAY_BASE_URL はリレーノードのエンドポイントを上書きします。セルフホスト型の Q402 デプロイメント、または標準環境以外で実行する場合は、明示的に設定してください。


公開されるツール

機能別に分類された 49 個のツールです。 デフォルトでは読み取り専用です。ライブモードには、有効な API キー、署名パス、および Q402_ENABLE_REAL_PAYMENTS=1 が必要です。live mode と記された行のツールは資金を移動するため、チャット内で明示的な確認が必要です。

ツール認証目的
決済とウォレット
q402_doctorなし初回インストール時のオンボーディングと継続的なヘルスチェック(スコープごとのクォータ、EIP-7702 の状態、リレーへの到達性、スロット不一致の警告)。
q402_quoteなしチェーン間のガス代と対応トークンを比較します。
q402_balanceAPI キーキーと残りのクォータを確認します。
q402_payライブモード単一の受取人へのガス代不要の送金です。デフォルトではサンドボックスを使用します。ライブモードでは、初めて取引する相手、または金額が 1 ドル以上の場合、各支払いの前に受取人のトラストチェック(0.02 ドル)を自動実行します。判定結果は 7 日間キャッシュされます(TTL 内で二重課金されることはありません)。ウォレット残高が送金額をちょうどカバーし、0.02 ドルの手数料を支払えない場合、または利用可能なレールトークンが USDC 以外のみの場合に限り、無料の基本判定に切り替わります。事前チェックによって本取引がブロックされることはありません。Q402_DISABLE_PRECHECK=1 で無効にできます。
q402_batch_payライブモード1 回の呼び出しにつき最大 20 人の受取人に送金できます。トライアル:5 件。自分のキーで支払う場合(Mode A/B)に適用されます。サーバー管理の Agent Wallet(Mode C)によるバッチ支払いは Multichain のみです。q402_pay と同じ自動ルーティングを使用します。トライアルが設定された状態で 6 件以上の BNB バッチを指定すると、status="ambiguous" が返され、エージェントが分割方法を確認します。xlayer と stable はバッチ処理できません。ループ内で q402_pay を使用してください。
q402_receiptなしTrust Receipt(rct_… ID)を取得し、ECDSA によるリレイヤー EOA との照合をローカルで検証します。
q402_wallet_status秘密鍵Q402_PRIVATE_KEY から導出された EOA のチェーンごとの EIP-7702 状態を確認します。
q402_clear_delegation秘密鍵 / API キーEIP-7702 委任を解除します(Mode A/B はローカルキー、Mode C はサーバー署名の API キーを使用)。Ethereum 以外のすべてのチェーンではスポンサー付きです(費用は Gas Tank に請求されます)。2 段階の同意(consentToken)が必要です。
q402_agentic_infoAPI キーAgent Wallet の情報(アドレス、ウォレットごとの上限、1 日の使用額、ERC-8004 ID)を取得します。Mode C を動作させます。
トレジャリーの履歴
q402_memory_summaryAPI キー指定期間のトレジャリー概要を表示します。USD ステーブルコインのチェーン別・ソース別支出、上位ベンダー、スケジュール、未処理のリクエスト/エスクロー、失敗が含まれます。読み取り専用です。
q402_vendor_historyAPI キー1 社のベンダーへの支払総額、またはベンダーのランキングを、定期的な支払い頻度とともに表示します。読み取り専用です。
q402_agent_spend_reportAPI キー各ウォレットの上限とともに、Agent Wallet ごとの支出を表示します。読み取り専用です。
定期支払い
q402_recurring_listAPI キースケジュール済みのルールを一覧表示します。
q402_recurring_createAPI キー定期支払いルールを作成します。すべてのチェーン(BNB を含む)で Paid Multichain を使用します。
q402_recurring_firesAPI キールールごとの直近 50 回分の実行(タイムスタンプ、txHashes、金額)を表示します。
q402_recurring_pauseAPI キールールを一時停止します(再開可能)。
q402_recurring_resumeAPI キー一時停止中または停止中のルールを再開します。
q402_recurring_skip_nextAPI キー次回のスケジュール実行のみをスキップします。
q402_recurring_cancelAPI キールールを完全に停止します。
ブリッジ(CCIP + LayerZero)
q402_bridge_quoteなしChainlink CCIP による eth/avax/arbitrum 間の USDC ブリッジの見積もりを取得します。LINK とネイティブ手数料が返されます。
q402_bridge_sendライブモードユーザーの Agent Wallet から CCIP ブリッジを実行します。Mode C(サーバー管理)のみです。デフォルトではサンドボックスを使用します。sandbox: false、ライブ Multichain キー、および Q402_ENABLE_REAL_PAYMENTS=1 を設定すると、オンチェーンで実際のブリッジが実行されます。
q402_bridge_history未配線ダッシュボードへのリンクを返します。{ implemented: false, dashboardUrl, dashboardPath } を返します。MCP にオーナー署名認証が導入されるまでは、読み取り専用の案内です。
q402_bridge_gas_tank未配線Bridge Gas Tank のチャージ手順に関する静的な案内とダッシュボードへのリンクを返します。残高のリアルタイム照会にはオーナー署名認証が必要なため、現時点ではダッシュボードを使用してください。
q402_oft_quoteなしOFT セット(eth/arbitrum/mantle/monad/xlayer)間で USDT0 をブリッジする LayerZero 手数料の見積もりを取得します。ネイティブメッセージ手数料と着金額が返されます。q402_bridge_quote(CCIP/USDC)に対応するツールです。
q402_oft_sendライブモードAgent Wallet から LayerZero OFT 経由で、送信元と同じアドレスにある宛先チェーンへ USDT0 をブリッジします。Mode C(サーバー管理)です。デフォルトではサンドボックスを使用します。confirm: true、ライブ Multichain キー、および Q402_ENABLE_REAL_PAYMENTS=1 を設定すると、実際のブリッジが実行されます。
q402_oft_history未配線LayerZero OFT ブリッジ履歴のダッシュボードへのリンクを返します。{ implemented: false, dashboardUrl } を返します。MCP にオーナー署名認証が導入されるまでは、読み取り専用の案内です。
イールド
q402_yield_reservesなしQ402 Yield の貸付市場を一覧表示します。プロトコル、チェーン、資産、市場アドレス、供給 APY が含まれます。チェーンごとに厳選された貸付市場(BNB の Aave/Lista、Base の Morpho)を表示し、各市場にはそれぞれの提供先が表示されます。
q402_yield_positionsAPI キーAgent Wallet の Q402 Yield における未決済ポジション(残高、元本、発生利息、APY)と、供給額の合計(USD)を表示します。Mode C です。
q402_yield_depositライブモードAgent Wallet のステーブルコインを、チェーンごとに厳選された Q402 Yield の貸付市場に供給します。BNB(USDC/USDT)または Base(USDC のみ)に対応します。Mode C です。confirm: true が必要です。デフォルトではサンドボックスを使用します。
q402_yield_withdrawライブモードQ402 Yield(BNB と Base の厳選された貸付市場)に供給したステーブルコインを Agent Wallet に引き出します。amount: "max" を指定すると、現在引き出し可能な最大額になります。ボールトの上限やキューにより、ポジション全額を下回る場合があります。Mode C です。confirm: true が必要です。デフォルトではサンドボックスを使用します。
q402_yield_cancelライブモードBase 上の Zircuit Finance で保留中の引き出しリクエストをキャンセルします。Zircuit の引き出しはキューに登録されます(通常 24 時間以内、最長 14 日)。リクエストをキャンセルすると、シェアがポジションに戻ります。Mode C です。confirm: true が必要です。デフォルトではサンドボックスを使用します。
ステーキング
q402_stakeライブモードBNB Chain 上の QuackAiStake に、ガス代不要で Q(QuackAI)をステーキングします。ロック期間のティアは 0~3(30 日/10%、60 日/15%、120 日/32%、180 日/40% APR)です。amount: "max" を指定すると、Q 残高全額をステーキングします。Mode C です。confirm: true が必要です。デフォルトではサンドボックスを使用します。
q402_unstakeライブモードBNB 上のロック期間が満了した Q を、ガス代不要でステーキング解除します。記録ごとに、インデックス(ith)を指定して 1 件を解除するか、all: true を指定して満了したすべてのステーキングを解除します。Mode C です。confirm: true が必要です。デフォルトではサンドボックスを使用します。
q402_stake_positionsライブモードAgent Wallet の未解除の Q ステーキング(インデックス、満了時期、解除可能かどうか)と、流動性のある Q 残高を表示します。読み取り専用です。Mode C です。
支払いリクエスト
q402_request_createAPI キー支払いリクエスト(請求書)を公開します。資金は移動しません。共有可能な /pay リンクと req_… ID が返されます。受取人のデフォルトは Agent Wallet です。
q402_request_statusなしreq_… ID で支払いリクエストを検索します(金額、トークン、チェーン、受取人、ステータス)。読み取り専用です。エラーを発生させずに notFound を返します。
q402_request_payライブモード支払人自身の Agent Wallet(Mode C)から、リクエストをガス代不要で支払います。条件は保存済みのリクエストから取得されるため、変更できません。2 段階の同意が必要です(q402_pay と同じ)。
エスクロー
q402_escrow_createAPI キーガス代不要の非カストディアル型エスクローを作成します(保留中の記録を作成し、資金は移動しません)。省略可能な walletId を指定すると、Agent Wallet から資金を入れます。利用可能なチェーンは GET /api/escrow/chains で提供されます。サーバーはすべてのリクエストでこれを適用します。
q402_escrow_statusなしエスクローの状態、関係者、金額、tx ハッシュを読み取ります。読み取り専用です。
q402_escrow_lockライブモード保留中のエスクローに、ガス代不要で資金を入れます(EIP-7702)。Agent Wallet の購入者については、サーバーが署名します。デフォルトではサンドボックスを使用します。利用可能なチェーンは GET /api/escrow/chains で提供されます。
q402_escrow_releaseライブモード購入者がロック済みエスクローを販売者にリリースします(ガス代不要)。デフォルトではサンドボックスを使用します。
q402_escrow_refundライブモードタイムアウト/解決期間の経過後、誰でも購入者への返金を実行できます。
q402_escrow_disputeライブモード当事者が未解決のエスクローに対して異議を申し立てます(指名された仲裁人が必要です)。
トリガー(RedStone)
q402_redstone_feedsなしこのデプロイでトリガーに使用できる RedStone フィード(NAV/価格/RWA)を表示します。読み取り専用です。
q402_redstone_trigger_createライブモードRedStone フィードがしきい値を超えた際に、ガス代不要の支払いを 1 回だけ実行するトリガーを設定します(エッジラッチ方式)。
q402_redstone_trigger_listライブモードAgent Wallet の RedStone トリガーとその状態を一覧表示します。
q402_redstone_trigger_cancelライブモードRedStone トリガーを完全に停止します。
x402(送信)
q402_x402_fetchライブモード任意の x402 保護 URL を取得し、HTTP 402 を自動処理します。Base USDC の支払いオプションを検証し、過剰な支出を防止し、EIP-3009 TransferWithAuthorization に署名して、適切な支払いヘッダー(v2 サーバーには PAYMENT-SIGNATURE、v1 レガシーサーバーには X-PAYMENT)を付けて再試行します。402 以外のレスポンスは変更せずに返します。レスポンス内の txHash によって資金移動が確認できるものの、販売者がエラーを返した場合は、status:"settled_no_delivery"(fundsMoved:true, retrySafe:false)を返します。決済の証明がない場合は、status:"settled_status_unknown"(fundsMovedUnknown:true, retrySafe:false)を返します。この場合、資金が移動したかどうかは不明です。どちらの結果の場合も再試行しないでください。
q402_governance_analyzeライブモード有料のガバナンス提案分析です。snapshot.org/snapshot.box のリンク(またはテキスト)を貼り付け、任意で優先事項を平易な言葉で説明すると、投票の推奨(賛成/反対/棄権)、5 つの観点での評価、根拠が得られます。language(例:"zh")を渡すと、ユーザーの言語で結果を受け取れます。x402 経由で Base 上の USDC を 1 回あたり 0.05 ドル支払います。
q402_pay + q402_batch_pay + q402_bridge_send + q402_yield_deposit + q402_yield_withdraw + q402_yield_cancel + q402_stake + q402_unstake + q402_request_pay では、チャット内で明示的な確認が必要です。バッチの確認は、行ごとではなくバッチ全体に対して行われます。

注意:q402_pay では 0x アドレスが必要です。サーバー側では ENS を解決しないため、先にクライアント側で解決してください。 チェーンごとの Gas Tank 残高とすべての TX 履歴は、ダッシュボードで確認できます(ウォレット署名のみ)。


x402 の送金(q402_x402_fetch)

q402_x402_fetch は汎用 x402 クライアントです。あらゆる URL を取得し、HTTP 402(支払いが必要)レスポンスを自動的に処理します。サーバーが 402 以外のステータスを返した場合、レスポンスは変更されずに渡されるため、通常のフェッチツールとしても機能します。

解決する課題。 一部の API やコンテンツエンドポイントでは、リクエストごとに課金するために x402 プロトコルを使用します。このような URL にアクセスしたエージェントは、機械可読な支払い要件を含む HTTP 402 レスポンスを受け取ります。q402_x402_fetch はその要件を読み取り、支払い方法を検証し、Base USDC に対する EIP-3009 TransferWithAuthorization に署名して、base64 の JSON ペイロードとしてエンコードし、リクエストを再試行します。x402 v2 サーバーでは PAYMENT-SIGNATURE を、レガシー v1 サーバーでは X-PAYMENT を使用します。これらすべてを 1 回の呼び出しで行います。

サポート対象。 scheme=exact + network=base(CAIP-2 eip155:8453。base-mainnet も受け付けます)+ Base USDC のみです。それ以外のスキーム、ネットワーク、資産は明示的に拒否され、署名は生成されません。

ガード(3 層)。

ガード環境変数デフォルト
1 回の呼び出しあたりの支出上限Q402_MAX_AMOUNT_PER_CALL$200
セッション累積上限Q402_X402_SESSION_CAP_USD$5
2 段階の同意consentToken支払い時に必須

2 段階の同意フロー:最初の呼び出し(consentToken なし)では、正確な金額と受取人を示すプレビューおよび consentToken とともに needs_confirmation が返されます。見積もりをそのままユーザーに提示し、支払いを確認する次の独立したメッセージを待ってください。 その後に限り、同じ引数に consentToken を加えて再度呼び出します。トークンは1 回限り使用可能で、約 120 秒で期限切れになります。また、発行から 2 秒以内に使用された場合は拒否されます(同一ターン内の二重呼び出し防止のための時間しきい値であり、ユーザーの確認を証明するものではありません)。ユーザーから別個の確認メッセージがない限り、同じ会話ターン内で再度呼び出してはいけません。

結果の状態 — ユーザーに要約する前に確認してください。

状態フィールド意味
success: truebody、paid: true、payTo、amountUsdコンテンツが配信され、支払いが完了しました。
success: false、needsConsent が設定されているconsentToken、preview支払いは行われていません。consentToken を付けて再度呼び出します。
success: false、status: "settled_no_delivery"fundsMoved: true、retrySafe: false、recipient、amount、txHash、guidance資金がウォレットから移動したことは確認済みですが、コンテンツは配信されていません。 レスポンスの txHash により決済が証明されています。販売者は支払いを受け付けましたが、エラーを返しました。ユーザーに「支払いは通らなかった」と伝えてはいけません。資金は移動しています。再試行してはいけません。2 回目の支払いが発生します。ユーザーが販売者と照合できるよう、amount、recipient、txHash、guidance を提示してください。
success: false、status: "settled_status_unknown"fundsMovedUnknown: true、retrySafe: false、recipient、amount、txHash: null、guidance決済状況は不明です。資金が移動した可能性も、移動していない可能性もあります。 支払いヘッダーは送信されましたが、レスポンスには決済を証明する情報(txHash)が含まれていません。資金が移動したとも、移動していないとも断言してはいけません。同じパラメーターで再試行してはいけません。資金はすでに移動している可能性があります。ユーザーがウォレット残高を確認し、販売者に連絡できるよう、guidance を提示してください。
success: false(その他)error決済前に支払いがブロックまたは拒否されました。資金は移動していません。安全に再試行できます。
監査。 決済完了、settled_no_delivery、settled_status_unknown、またはブロックのいずれであっても、402 の試行はすべてローカル監査ログ ~/.q402/x402-audit.json に記録され、q402_agent_spend_report に表示されます。settled_no_delivery と settled_status_unknown の結果はいずれも、レポート上では支出として計上されます。

最小限の動作例。

{
  "url": "https://api.example.com/data",
  "method": "GET",
  "confirm": true
}

エンドポイントが 402 を返すと、ツールは needs_confirmation と consentToken を返します。見積もりを一字一句そのままユーザーに提示し、ユーザーから次の独立したメッセージが届くまで待ちます。支払いを承認するには、同じ引数に consentToken を加えて再度呼び出します。トークンは一度のみ使用でき、有効期限は約 120 秒です。

要件。 Q402_ENABLE_REAL_PAYMENTS=1 と、ローカル署名キー(Q402_AGENTIC_PRIVATE_KEY または Q402_PRIVATE_KEY)が必要です。署名済みの認可情報は販売者のファシリテーターエンドポイントに直接送信されます。この経路では Q402 リレーは関与しません。

前提条件 — 委任の確認。 このウォレットで以前に q402_pay を呼び出したことがある場合、EIP-7702 によって委任されている可能性があります(MetaMask / OKX では「スマートアカウント」と表示されます)。古い実装に委任されている場合、q402_x402_fetch は失敗します。現在の ERC-1271 対応実装に委任されているウォレットは、通常どおり動作します。復旧するには、q402_clear_delegation を呼び出します(Base ではガスレスで、元に戻せます)。委任を解除すると、q402_x402_fetch が再び動作します。次回の q402_pay では、自動的に再委任されます。


ガバナンス分析(q402_governance_analyze)

q402_governance_analyze は Snapshot のガバナンス提案を分析し、投票の推奨、5 つの評価軸のスコア、およびその理由を返します。Base 上で x402 を介して、1 回の呼び出しにつき $0.05 USDC です。

入力パラメーター。

パラメーター必須説明
url次のいずれかSnapshot の提案 URL(snapshot.org または snapshot.box)、または 0x 形式の提案 ID。
proposalText次のいずれか提案本文の生テキスト。
proposalId次のいずれかSnapshot の提案 ID(省略した場合、dao のデフォルトは "snapshot")。
weights任意優先度の重み(各項目は 0~100 の整数):riskControl、decentralization、sustainability、communityImpact。persona とは同時に指定できません。
persona任意名前付き分析ペルソナ。weights とは同時に指定できません。
language任意結果の表示に使用する BCP-47 言語コード。ユーザーとの会話で使用する言語を設定します。例:中国語の場合は "zh"、英語の場合は "en"(デフォルト)。サーバーはこの設定を使用して応答フィールドをローカライズします。また、Claude は組み込みの翻訳テーブルも適用するため、結果はユーザーの言語で完全に提示されます。
confirm必須true を指定する必要があります。ユーザーが $0.05 USDC の請求を承認したことを表します。
consentToken任意2 段階の同意確認です。最初の呼び出しでは省略し、見積もりをユーザーに提示して次の独立したメッセージが届くまで待った後、トークンを指定して再度呼び出します。一度のみ使用でき、有効期限は約 120 秒です。

言語に応じた結果。 language: "zh" を設定すると、投票の推奨、評価軸名、評価、および理由のテキストがすべて中国語で提示され、ユーザーに英語の列挙値は表示されません。


サンドボックスモードとライブモード

デフォルトのサンドボックス: q402_pay は、success: false および sandbox: true を伴う偽の txHash を返します。資金もクォータも消費されません。

ライブモード = (a) ライブ API キー(q402_live_*)、(b) 署名経路(A / B / C)、(c) Q402_ENABLE_REAL_PAYMENTS=1。ライブフラグのデフォルトは 1 です。ゲートが切り替わるのは、他の 2 つの条件も満たされた場合のみです。実際のキーを使用していてもサンドボックスモードを強制するには、0 に設定します。

テンプレート q402_doctor は ~/.q402/mcp.env に書き込みます。

# ── API key - fill ONE (or both for auto-routing) ──
# Auto-routing (same for q402_pay AND q402_batch_pay):
#   chain="bnb" or "base" + Q402_TRIAL_API_KEY set  → Trial (free sponsored)
#   anything else                                    → Multichain (paid 12-chain)
# Batch ambiguity: 6+ recipient BNB/Base batch with Trial set returns
#   status="ambiguous" instead of executing - agent asks user to pick.
# Override per call with keyScope: "auto" | "trial" | "multichain".
Q402_TRIAL_API_KEY=                # BNB + Base sponsored Trial key (from /event; Avalanche trial ended)
Q402_MULTICHAIN_API_KEY=           # paid 12-chain key (per-chain Gas Tank)

# ── Signing path - pick ONE of Mode A / B / C ──
Q402_PRIVATE_KEY=                  # Mode A: real EOA pk (0x + 64 hex)
Q402_AGENTIC_PRIVATE_KEY=          # Mode B: exported Agent Wallet pk (from dashboard)
# Mode C: leave both PK lines blank. A Trial key enables one-shot Mode C
# payments; Multichain key required for recurring, batch, and bridge/OFT.
# Q402 signs with the server-managed Agent Wallet. Optionally:
# Q402_AGENT_WALLET_ADDRESS=0x...   # pin one of your wallets when you have multiple

# Live mode switch:
#   0 = sandbox (test mode, no funds move - every q402_pay returns a fake hash)
#   1 = real on-chain payments (live mode)
# Default 1. Safe because the gate only flips to live when an API key AND
# at least one valid signing path (A/B/C) are populated. Empty values
# fail the gate, so partial setups stay in sandbox with a hint.
Q402_ENABLE_REAL_PAYMENTS=1

# Pre-check trust-check (live mode). Triggers for first-time counterparties or
# payments >= $1. Fee: $0.02 per check; cached 7 days. Never blocks the main tx.
# Set Q402_DISABLE_PRECHECK=1 to opt out.

解決されたスコープで不足している項目がある場合は、設定すべき項目を示すヒントとともに、自動的にサンドボックスへフォールバックします。

サンドボックスの応答には、success: false、sandbox: true、mode: "sandbox"、method: "sandbox" に加え、理由を説明する setupHint が含まれます。下流の要約が成功したと誤って主張できないよう、4 つのシグナルで示します。

ハード上限
環境変数デフォルト値効果
Q402_MAX_AMOUNT_PER_CALL200amount > N USD の USDC/USDT/RLUSD の支払いを拒否します。Q(QuackAI)は設計上、上限の対象外です(独自トークンのため)。ただし、受取人の許可リストと確認は引き続き適用されます。
Q402_X402_SESSION_CAP_USD5q402_x402_fetch のセッションごとの累計支出上限(USD)です。セッションの合計がこの値を超える場合はブロックされます。MCP サーバーの再起動時にリセットされます。
Q402_ALLOWED_RECIPIENTSオフカンマ区切りのアドレス許可リストです。
Q402_BUILDER_CODEオフq402_x402_fetch のオンチェーン帰属用 Base Builder Code です(x402 v2 の extensions.builder-code 経由の ERC-8021)。
Q402_DISABLE_PRECHECKオフ1 に設定すると、送金時の自動事前信頼チェックを無効にします。

2段階の consentToken とライブモード環境変数を組み合わせることで、ステーブルコインの支払いには、別のメッセージでユーザーが承認したプレビュー、上限以下の金額、許可された受取人、3つすべてのライブ環境変数が必要になります。consent token は1回限り有効で、有効期限は約120秒です。発行から2秒以内に使用すると、同一ラウンドでの二重呼び出しを防ぐゲートが作動します(これはしきい値であり、人間による確認を保証するものではありません)。Q(QuackAI)は上限の対象外です(独自トークンのため)。ただし、プレビュー、受取人の許可リスト、ライブモード環境変数は引き続き適用されます。

設定リファレンス

環境変数必須となる機能備考
Q402_TRIAL_API_KEYライブ決済(BNB + Base + Mantle)BNB Chain + Base のスポンサー付き Trial キー(永続)。Avalanche のトライアルは終了しました。avax には Multichain を使用してください。また、期間限定の2026-08-21~08-28 UTC+9の間は Mantle にも対応します。https://q402.quackai.ai/event で無料で取得できます。設定すると、q402_pay と q402_batch_pay(受取人5人以下)の両方で、トライアル対象チェーンに自動的にルーティングされます。受取人6人以上のトライアル一括決済では status="ambiguous" が返されるため、エージェントはユーザーに分割方法を確認できます。
Q402_MULTICHAIN_API_KEYライブ決済(12チェーン)有料の12チェーン対応キーです。https://q402.quackai.ai/payment で取得できます。BNB/Base 以外のチェーン(Avalanche のトライアル終了後は avax も含む)、および Trial キーが設定されていない場合の BNB/Base に自動的にルーティングされます。一括決済の上限は受取人20人です。Mode C の単発決済では Trial または Multichain を使用できます。定期決済、Mode C の一括決済、およびブリッジ/OFT には Multichain が必要です。
Q402_PRIVATE_KEYMode AMetaMask EOA の16進数形式の秘密鍵です。ローカル Mode A の署名者となります。絶対に共有しないでください。チャットに貼り付けないでください。
Q402_AGENTIC_PRIVATE_KEYMode Bダッシュボードの Agent タブ → Export からエクスポートした Agent Wallet の16進数形式の秘密鍵です。ローカルで署名しますが、署名者は専用の Agent Wallet であり、MetaMask には一切触れません。絶対に共有しないでください。チャットに貼り付けないでください。
Q402_AGENT_WALLET_ADDRESSMode C(任意)サーバー管理の Agent Wallet を複数(所有者あたり最大10個)お持ちの場合、Q402 が支払い元として使用するウォレットの小文字表記の0x…アドレスを設定します。省略すると、デフォルトのウォレットが使用されます。Modes A/B では無視されます。
Q402_ENABLE_REAL_PAYMENTSライブ決済オプトインするには 1 を設定します。それ以外の値(または未設定)の場合はサンドボックスになります。
Q402_MAX_AMOUNT_PER_CALL任意USDC/USDT/RLUSD の米ドル換算上限です。デフォルトは 200 です。エージェントの影響範囲をより厳しく制限するには、より小さい値を設定してください。Q(QuackAI)は設計上、対象外です(独自トークンのため)。
Q402_X402_SESSION_CAP_USD任意q402_x402_fetch のセッションごとの累積支出上限(米ドル)です。デフォルトは 5 です。MCP サーバーの再起動時にリセットされます。
Q402_ALLOWED_RECIPIENTS任意カンマ区切りの小文字アドレスです。デフォルトでは許可リストはありません。
Q402_BUILDER_CODE任意Base Builder Code(小文字の英字、数字、アンダースコアで1~32文字。例:bc_fu2v7kgf)。登録済みの Builder Code を設定すると、x402 の extensions.builder-code フィールドを通じて、すべての q402_x402_fetch 決済にオンチェーンの ERC-8021 アトリビューションが付与されます。
Q402_DISABLE_PRECHECK任意ライブモードで送金前に実行される自動の事前信頼チェックを無効にするには 1 を設定します。未設定(デフォルト)の場合、初めて取引する相手への送金および1ドル以上の送金では、事前チェックが自動的に実行されます。事前チェックの手数料は0.02ドルです。判定結果は7日間キャッシュされ(TTL内の再請求はありません)、事前チェックによってメインのトランザクションがブロックされることはありません。
Q402_RELAY_BASE_URL任意デフォルトは https://q402.quackai.ai/api です。セルフホスト版 Q402 を使用する場合は上書きしてください。
従来の単一キー構成からの移行

v0.5.0 より前に Q402 をセットアップした場合、Q402_API_KEY 環境変数を1つだけ設定している可能性があります。サーバーは引き続きその設定を暗黙的に解決するため、既存の連携に影響はありません。新規インストールでは、上記の2キー方式(Q402_TRIAL_API_KEY および/または Q402_MULTICHAIN_API_KEY)を使用してください。q402_doctor を含むドキュメントの他の箇所でも、この2つのキーのみを案内しています。移行するには、~/.q402/mcp.env 内の既存の変数名を Q402_MULTICHAIN_API_KEY に変更し、MCP クライアントを再起動してください。


対応チェーン

チェーンチェーン IDトークン備考
BNB Chain56USDC, USDT
Ethereum1USDC, USDT, RLUSDL1 - ガス代は変動するため、見積もりはスナップショットです。RLUSD(Ripple USD、NY DFS 規制対象、小数点以下 18 桁)は Ethereum 専用です。
Avalanche C-Chain43114USDC, USDT
X Layer196USDC, USDT
Stable988USDT0(USDC と USDT はどちらもエイリアス)ガス代は USDT0 で支払います。
Mantle5000USDC, USDT02025-11-27 以降、LayerZero OFT USDT0 に対応しています。
Injective EVM1776USDC, USDTネイティブの Circle USDC(CCTP)は 2026-06 から稼働し、正規の Tether(USDT0)にも対応しています。
Monad143USDC, USDT0ネイティブの Circle USDC(CCTP V2)と USDT0(LayerZero OFT)に対応しています。
Scroll534352USDC, USDTzkEVM L2 - Euclid Phase 2 アップグレード(2025-04-22)以降、EIP-7702 が稼働しています。
Arbitrum One42161USDC, USDTOptimistic rollup - Ethereum と同じ EIP-7702 署名経路です。CCIP ブリッジのエンドポイントです(eth ⇄ avax ⇄ arbitrum)。
Base8453USDC, USDTOP Stack L2 - Ethereum と同じ EIP-7702 署名経路です。ネイティブの Circle USDC とブリッジされた Tether USD に対応しています。
Robinhood Chain4663USDGArbitrum Nitro L2 - USDG のみ(Paxos Global Dollar、小数点以下 6 桁)。ここでは Circle USDC / Tether は正規トークンではありません。ガス代不要の USDG 決済に対応しています。

これが必要な理由

AI エージェントはソフトウェアのデフォルトのインターフェースになりつつありますが、資金を動かす必要が生じた途端、スタックは機能しなくなります。ガストークンの保有、すべてのトランザクションへの署名、多数のチェーンにまたがるウォレットの管理が必要になるためです。エージェントが自律的に動作することを想定する場合、こうした仕組みでは拡張できません。

Q402 は、そのギャップを埋める決済レイヤーです。単一の署名プリミティブ(EIP-712 + EIP-7702)で、12 の EVM チェーンにわたるガス代不要のステーブルコイン決済を実行し、すべてのトランザクションに ECDSA 署名付き Trust Receipt を発行します。MCP パッケージはこの機能を Claude、Codex、Cursor、Cline 内で利用できるようにします。エージェントは自然言語のプロンプトから、決済の見積もり、送金、一括処理、監査を行えます。

単一送金と複数の受取先への一括送金は、すでに利用できます。次のレイヤーとなる定期支払い、条件付き実行、ポリシーで制御されたトレジャリーの自動化も、同じプリミティブを異なる形で組み合わせたものです。エージェントが実際の予算を管理し、相互に決済し、人が手動で開始しなくてもワークフロー内で価値を移動できる未来に向けて開発を進めています。


フック - プログラム可能な決済ポリシー

Q402 Hooks 1.0 は、決済のライフサイクルにルールを適用するポリシーエンジンです。OFAC コンプライアンス審査、支出上限と受取先の許可リスト、ERC-8004 による評判のゲーティング、Chainlink オラクルを使った条件付き決済(「BTC ≥ $80k の場合のみ」)、複数の受取人への自動分割に対応します。また、高額決済には承認が必要なソフトブロックを適用できます(202 approval_required を返します。呼び出し元は別の手段で再送信します。v1 では保留状態は保存されません)。Uniswap v4 が DEX の流動性にプログラム可能なフックを導入したのに対し、Q402 は AI エージェントの決済にフックを導入します。

開発者向けリファレンス:docs/HOOKS.md - ライフサイクル、Hook コントラクト、リリース済みの各フックと設定および例。

Base でのエスクロー: docs/ESCROW-VS-INSTANT.md - エージェント向けの即時決済とエスクロー決済の選択ガイド。docs/ESCROW-BASE-DEPLOY-RUNBOOK.md - Base メインネットへの Vault デプロイに関するエンジニアリング向け手順書(人間が操作するものであり、エージェント向けではありません)。


リポジトリ

ソースコード:https://github.com/quackai-org/q402-mcp
イシュー / リクエスト:https://github.com/quackai-org/q402-mcp/issues

ライセンス

Apache-2.0 - LICENSE を参照してください。

コメント

MCP は初めてですか?

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

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