mcpField
A
arbitova

arbitova

ローカル
github.com/jiayuanliang0716-max金融データ226 週間前に更新

arbitova について

Arbitovaは、Base上のエージェント間USDC決済向け非カストディ型エスクローとAI仲裁プロトコルです。資金はコントラクトにロックされ、納品の確認や異議申し立てができ、SDKとMCPサーバーも提供します。

主な機能

  1. 01オンチェーンでUSDCをロック・決済
  2. 02納品確認、異議申し立て、仲裁に対応
  3. 03納品内容のハッシュをオンチェーンに記録
  4. 04案件ごとの仲裁判定を公開
  5. 05Node.js・Python SDKとMCPサーバーを提供

活用シーン

  1. 01エージェント間取引の支払いをエスクロー
  2. 02納品が確認されない場合に異議を申し立て
  3. 03MCPツールでエスクローを管理・照会

MCP 対応

`@arbitova/mcp-server`は、Claude Desktop、Claude CodeなどのMCPクライアントに6種類のオンチェーンエスクローツールを提供します。署名はethers v6を通じてローカルで行われます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"jiayuanliang0716-max-arbitova": {
"command": "npx",
"args": [
"-y",
"@arbitova/mcp-server"
],
"env": {
"ARBITOVA_API_KEY": "<ARBITOVA_API_KEY>",
"ARBITOVA_BASE_URL": "<ARBITOVA_BASE_URL>"
}
}
}
}
起動コマンドnpx -y @arbitova/mcp-server
設定が必要な環境変数
ARBITOVA_API_KEYシークレットYour Arbitova API key. Register an agent at https://arbitova.com to get one.
ARBITOVA_BASE_URLOverride the Arbitova API base URL. Defaults to production.

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

パッケージ
npm@arbitova/mcp-server3.4.0

ツール

47

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

パラメーター型必須説明
service_idstringはい雇用する販売者のサービス ID
requirementsstringいいえ必要な納品内容を記述した詳細な要件または JSON オブジェクト

詳細

Arbitova

jiayuanliang0716-max/Arbitova MCP server

Base 上のエージェント間決済向け、非カストディ型 USDC エスクローと AI 仲裁。

2 つのエージェントが USDC をコントラクトにロックし、一方が納品すると、もう一方が確認または異議申し立てを行い、中立的な AI 仲裁者が解決します。Arbitova が資金を保管することはありません。資金を保管するのはコントラクトです。

API キー不要。登録不要。資金の保管なし。Ethereum アドレスがあなたの ID です。


これが必要な理由

世にある A2A/エージェントコマースの仕様(MCP、Google の A2A、ERC-7683、Coinbase の Agent Commerce)は、いずれもエージェント同士の通信方法を定義しています。しかし、エージェント同士が信頼し合っていない場合に、資金をどう移動させるかを定義したものはありません。

Arbitova は、欠けていた決済基盤のプリミティブです。

  • 決定論的な状態マシン。 createEscrow → markDelivered → {confirmDelivery | dispute → resolve | cancel}。隠れた分岐も、管理者による上書きもありません。
  • タイムアウト後の自動リリースなし。 レビュー期間が終了すると、売り手への支払いではなく DISPUTED に移行します。誤った確認より、沈黙のほうが安全です。
  • コンテンツハッシュをオンチェーンに固定。 買い手による確認後に、売り手が納品ファイルを差し替えることはできません。
  • ケースごとの判定を透明化。 仲裁者のすべての判断は署名付き JSON blob で、その keccak256 がオンチェーンに保存されます。判定履歴全体は /verdicts で照会できます。集約も遅延もありません。

これはマーケットプレイスではありません。Arbitova アカウントも、出品手数料も、Pro プランもありません。プロトコル全体が製品です。


クイックスタート — Node.js SDK

npm install @arbitova/sdk ethers
import { Arbitova } from '@arbitova/sdk';

const buyer = await Arbitova.fromPrivateKey({ privateKey: process.env.BUYER_PK });

const { escrowId, txHash } = await buyer.createEscrow({
  seller: process.env.SELLER_ADDRESS,
  amount: '5.00',
  deliveryHours: 24,
  reviewHours: 24,
  verificationURI: 'https://example.com/spec.json',
});

console.log(`Escrow #${escrowId} locked — ${buyer.explorerTx(txHash)}`);

売り手側、仲裁者側、ブラウザーウォレットとの統合については、packages/sdk-js/README.md を参照してください。

クイックスタート — Python SDK

pip install "arbitova[path_b]"
from arbitova import path_b

result = path_b.arbitova_create_escrow(
    seller="0x...",
    amount=5.00,
    verification_uri="https://example.com/spec.json",
)
print(result)

クイックスタート — Claude/任意の MCP クライアント

{
  "mcpServers": {
    "arbitova": {
      "command": "npx",
      "args": ["-y", "@arbitova/mcp-server"],
      "env": {
        "ARBITOVA_RPC_URL": "https://sepolia.base.org",
        "ARBITOVA_ESCROW_ADDRESS": "0xA8a031bcaD2f840b451c19db8e43CEAF86a088fC",
        "ARBITOVA_USDC_ADDRESS": "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
        "ARBITOVA_AGENT_PRIVATE_KEY": "0x..."
      }
    }
  }
}

6 つのツール:arbitova_create_escrow、arbitova_mark_delivered、arbitova_confirm_delivery、arbitova_dispute、arbitova_cancel_if_not_delivered、arbitova_get_escrow。すべて ethers v6 を使ってローカルで署名します。秘密鍵がプロセスの外に出ることはありません。

読み取り専用の確認モード(可観測性の確保に便利)を使う場合は、ARBITOVA_AGENT_PRIVATE_KEY を指定しないでください。


ライフサイクル

                      ┌──────────────────┐
                      │     CREATED      │ buyer locked USDC
                      └────────┬─────────┘
                               │
                               ▼ seller.markDelivered()
                      ┌──────────────────┐
                      │    DELIVERED     │ deliveryHash on-chain
                      └────────┬─────────┘
                               │
        buyer.confirmDelivery()│        │ buyer.dispute()
                               │        │ or seller.dispute()
                               ▼        ▼
                   ┌─────────────┐  ┌──────────┐
                   │  RELEASED   │  │ DISPUTED │ waiting for arbiter
                   └─────────────┘  └────┬─────┘
                                         │ arbiter.resolve(bps split + verdictHash)
                                         ▼
                                   ┌──────────┐
                                   │ RESOLVED │
                                   └──────────┘

図に示していない終端状態が 2 つあります。CANCELLED(納品期間の終了後に買い手が cancelIfNotDelivered を呼び出した場合)と、確認がないままレビュー期間が終了した場合に DISPUTED へ自動移行する状態です。


フレームワークリファレンスエージェント

Base Sepolia 上で実際に動作する AI 仲裁者と連携する、A2A のエンドツーエンドデモを 3 つ用意しています。

  • Claude Agent SDK — インプロセス MCP ツール
  • LangGraph — ReAct エージェント、買い手+売り手+仲裁者
  • CrewAI — エージェント+タスク+クルー

各デモでは、実際のオンチェーントランザクションを使って、CREATED → DELIVERED → CONFIRMED(または DISPUTED → RESOLVED)の一連のフローを実行します。


パッケージ

パッケージ用途
@arbitova/sdkNode.js / ブラウザー向け SDK(ethers v6)
arbitovaPython SDK。オンチェーンサポートを利用するには [path_b] エクストラを指定してインストールします
@arbitova/mcp-serverClaude Desktop、Claude Code、任意の MCP クライアント向け MCP サーバー(オンチェーンツール 6 種)

どのパッケージも同じ 6 つのエントリーポイントを提供するため、Python SDK を使うエージェントは MCP サーバーを使うエージェントと精算できます。どちらも同じコントラクトを利用しています。


手数料

タイミング手数料支払者
confirmDelivery / レビュー期間の終了による自動精算0.5%販売者への支払額から差し引かれます
仲裁人による紛争の解決2%仲裁人の判定に従って分配されます

手数料はコントラクト内に蓄積されます。プロトコルは手数料で運営され、サブスクリプションはありません。


ネットワーク

ネットワーク状態コントラクト
Base Sepolia稼働中、実際の Circle USDC0xA8a031bcaD2f840b451c19db8e43CEAF86a088fC
Base mainnet監査およびマルチシグ仲裁人の準備待ちTBA

メインネットのローンチ情報は開発ログをご確認ください。


レガシー(Path A)

SDK の v2.x と MCP サーバーの v3.4.0 は、api.arbitova.com を利用するカストディアル HTTP クライアントでした。このアーキテクチャには 4 つの構造的な問題(データベースとオンチェーンの不整合、カストディアルウォレットのガス代、単一の ADMIN_KEY、単一の WALLET_ENCRYPTION_KEY による単一障害点)があり、上記で説明したノンカストディアルなオンチェーン設計の Path B に移行するため、非推奨となりました。

古いパッケージは npm/PyPI に残っていますが、非推奨です。


ライセンス

MIT

コメント

MCP は初めてですか?

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

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