mcpField
C
Canton Venues

Canton Venues

リモート
cantonvenues.com金融データ01 日前に更新
リポジトリ公式サイト

Canton Venues について

Canton Venuesは、Canton Network上の複数の取引所でデータの取得や取引を行うオープンソースのPython SDKです。プール型とオーダーブック型市場に共通インターフェースを提供し、オーダーブック用アダプターでは取引が初期状態で無効です。

主な機能

  1. 014種類の市場構造に共通インターフェース
  2. 02複数のCanton取引所からデータ取得
  3. 03プール価格と見積もりの算出
  4. 04対応する取引所でスワップと指値注文
  5. 05オーダーブック用取引は明示的に有効化

活用シーン

  1. 01Canton各取引所の市場データ取得
  2. 02プールの見積もりと板価格の比較
  3. 03共通の取引所アダプターを使ったアプリ構築

MCP 対応

このツールキットは、AIエージェント向けMCPサーバーのほか、Canton Venuesのウェブ展示と公開JSON APIを支えています。READMEにはMCPサーバーが公開する具体的なツールの記載はありません。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://cantonvenues.com/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

Canton Venues SDK

Canton アルゴリズム取引ツールキット: Canton Network 上のあらゆる取引所で取引およびデータ取得を行うための、オープンソースの Python SDK です。cantonvenues.com を支えています。cantonvenues としてインストールしてインポートします。

コア(cantonvenues.core)は特定の取引所に依存しません。小規模な型付きドメインモデルと、共通の VenueError 階層を持つ4つのアダプターインターフェースで構成されています。

  • PoolDataAdapter — AMM のデータ取得と価格計算を行います:Instrument、Pool、Quote。
  • VenueAdapter — 取引も可能な PoolDataAdapter です:Balance、SwapResult。
  • MarketDataAdapter — プールとスワップではなく、シンボルと板で構成される取引所の読み取り専用市場状態を取得します:Market、OrderBook、Trade、Ticker、FundingRate。
  • OrderTradingAdapter — 取引も可能な MarketDataAdapter です:指値注文(Post-only、期限付き)、キャンセル、未約定注文、残高に対応します。アダプターを trading=True で構築しない限り、取引は無効です。そのため、同じキーを持つ市場データ取得用のクライアントが注文を出すことはありません。

8つの取引所、4つの市場構造、1つのクライアント:

アダプター取引所形式対応範囲
TempleAdapterTemple現物の注文板キーなしで決済済み取引量を取得可能。アカウントキーがあればティッカー、板、取引を取得可能。指値注文とキャンセルはオプトイン(注文処理は初回のライブ実行待ち)
CantexAdapterCantex現物 AMMデータ取得+スワップ、メインネット
CantexPublicDataCantex現物 AMMキーなしで準備金、取引量、ローソク足、ティッカーを取得可能、メインネット
RockyAdapterRocky現物および無期限先物の注文板市場データ、メインネット、キー不要
TradecraftAdapterTradecraft現物 AMMデータ取得+価格計算、メインネット
OneSwapPublicDataOneSwap現物 AMMキーなしで準備金を取得可能、メインネット
PoolPartyPublicDataPool Party現物 AMMキーなしで準備金と取引量を取得可能、メインネット
EkidenAdapterEkiden無期限先物市場データ、メインネット(テストネットも利用可能)
CanborsaPublicDataCanborsa無期限先物キーなしで市場、資金調達率、価格、約定深度を取得可能、メインネット(ウェブアプリのルート。ドキュメントなし)
DexRefAdapterCanton DEX reference implementation現物の注文板+RFQデータ取得+スワップ、ホストされている同取引所のテストネット

CantexAdapter は公式の cantex_sdk 非同期クライアントをラップしているため、認証、署名、通信処理は SDK が担い、アダプターはモデルと例外の変換のみを行います。ほかの取引所には Python SDK がないか、Temple のように JavaScript SDK しかないため、HTTP で直接呼び出します。すべての統合箇所について、対応するソースまたはライブレスポンスを SOURCES.md に記載しています。

インストール

cantex_sdk は PyPI に公開されていないため、Git 依存関係として宣言し、GitHub から直接取得します。

pip install "cantonvenues @ git+https://github.com/olevasyliev/canton-venues-sdk"
# or, from a checkout:
pip install -e ".[dev]"

環境変数

認証情報は環境変数からのみ読み込みます(ハードコードはしません)。変数名は SDK 独自のものです。

変数必須説明
CANTEX_OPERATOR_KEYはいオペレーターの Ed25519 秘密鍵(16進数)。チャレンジレスポンス認証と台帳への署名に使用します。
CANTEX_TRADING_KEYスワップ時インテント取引に使用する secp256k1 秘密鍵(16進数)。swap() に必要です。
CANTEX_BASE_URLいいえAPI のベース URL。デフォルトは https://api.testnet.cantex.io です。
TRADECRAFT_BASE_URLいいえTradecraft API のベース URL。デフォルトはメインネットの https://api.tradecraft.fi/v1 です。データ取得に認証情報は不要です。
TEMPLE_API_KEYTemple の板取得時Temple アプリのアカウントキー(Settings > API Keys)。決済済み取引量の取得には不要です。
EKIDEN_BASE_URLいいえEkiden ゲートウェイ。デフォルトはメインネットの https://api.ekiden.fi です。

使用方法

import asyncio
from decimal import Decimal
from cantonvenues import CantexAdapter, Instrument

async def main():
    async with CantexAdapter() as venue:  # reads keys from the environment
        pools = await venue.pools()
        quote = await venue.quote(
            Decimal("1"),
            pools[0].token_a,
            pools[0].token_b,
        )
        print(quote.returned_amount, quote.trade_price)

asyncio.run(main())

オーダーブック型取引所のマーケットデータです。キーは不要です。

from cantonvenues import RockyAdapter

async def top_of_book():
    async with RockyAdapter() as rocky:          # RockyAdapter("perp") for perpetuals
        book = await rocky.order_book("CBTC-USDCX", 20)
        print(book.best_bid, book.best_ask, book.mid_price)

ライブデモ

Canton Venues はこのツールキットで動作します (examples/canton_venues)。上記の取引所におけるすべてのトークンの価格、外部市場に対する Canton のプレミアム、プールとオーダーブック全体での取引サイズ別の最良執行、取引所間のスプレッドスキャナー、スプレッドが閉じる速さに関する日次分析、公開 JSON API、AI エージェント向け MCP サーバーを提供します。

テストの実行

pip install -e ".[dev]"
pytest        # fully offline; the SDK client is mocked at its method boundary
ruff check .

ライブスモークテスト

scripts/live_smoke.py は、実際の Cantex API に対する読み取り専用のチェックです。認証(connect())を行い、プールを一覧表示し、小さなクォートを 1 件取得します。swap() や transfer() は呼び出しません。

ツールキットのルートに実際のキーを含む .env を作成するか、既存のファイルに入力します(上記の環境変数表と同じ名前を使用します)。

CANTEX_OPERATOR_KEY=...
CANTEX_TRADING_KEY=...
CANTEX_BASE_URL=...

次に、以下を実行します。

python scripts/live_smoke.py

スクリプトは認証情報の値を出力せず、手順の結果のみを出力します。失敗した場合は、認証エラーかリクエストエラーかを示します(どちらの場合も終了コードは 1 です)。

ステータス

すべての取引所でライブ検証済みです。テストは完全にオフラインで実行され、各取引所から取得した実際のレスポンス形式を使います。

  • Temple(メインネット、2026-10-04)— キーなしで市場ごとの確定済み取引量を取得できます。ティッカー、オーダーブック(最大200段階)、取引履歴の取得にはアカウントキーが必要です。ライブのペイロードはTemple独自のJavaScript SDKの型と異なり、アダプターはライブの形式に準拠しています。詳しくはSOURCES.mdを参照してください。取引機能では、残高、未決済注文、trading_status(リンク済みウォレット、委任、手数料残高)をライブで検証済みです。注文の発注とキャンセルはSDKをもとに実装済みです。これらの確認を完了するため、まずTempleのテストネットでscripts/temple_order_smoke.pyを実行します(--executeを指定しない限りドライランです。約定しない価格を設定したポストオンリー注文を発注して、すぐにキャンセルします)。

  • Rocky(メインネット、2026-10-03)— 公開されているBinance形式のAPIから、現物および無期限先物市場、24時間ティッカー、板の深さ、取引履歴を取得できます。ティッカーの買値と売値は0を返すため、最良気配値には板の深さを使用します。

  • OneSwapとPool Party(メインネット、2026-10-03)— キーなしでプールの準備金を取得できます(Pool Partyではプールごとの取引量も取得可能)。価格はローカルで定積型に基づいて算出します。

  • Ekidenは2026-10-03にメインネットをデフォルトに変更しました(2026-09-08から稼働中)。テストネットと同じルートがメインネットでも応答します。

  • Canborsa(メインネット、2026-10-28)— 無期限先物市場、資金調達率、30日間の取引量、価格、約定可能な板の深さを、ウェブアプリが読み取るソケットから取得します。文書化されたAPIはまだありません。

  • Cantex(メインネット、2026-07-17)— チャレンジ・レスポンス認証、プール、価格見積もり、および実資金によるスワップの実行を検証済みです。CC-USDC市場で10 CCを売却し、1.2981357151 USDCxを得ました。

  • Reference DEX(ホスト型テストネット、2026-07-29)— アダプター経由で両方向のスワップを実行し、残高の増減とプールの準備金が完全に一致することを確認しました。2種類のスワップルートに対応しています。文書化されたウォレット作成のアロケーション経路と、トレーダーのパーティを自らホストするデプロイです。scripts/dexref_testnet_report.pyでは、取引所独自のホスト型ルートもエンドツーエンドで検証します。1つのパーティによる複数段階・両側の価格提示、最良執行のレシートを含むRFQのライフサイクル、LPトークンによる流動性提供です。

  • Ekiden(Cantonテストネットゲートウェイ、2026-07-27)— 3つすべての無期限先物市場で、市場情報、ティッカー、オーダーブック、最近の取引、資金調達履歴を取得できます。取引にはEd25519署名付きセッションが必要で、未実装です。

  • Tradecraft(メインネット、2026-08-11)— 13種類のトークンにまたがる23のプールを読み取り、価格をエンドツーエンドで算出します。scripts/tradecraft_market_smoke.pyは45方向中45方向の価格を算出し、プールの状態だけから取引所独自の見積もりを相対誤差約1e-16で再現します。これにより、SOURCES.mdに記載の手数料モデルを推測ではなく実証しました。エンジンは各レッグでプールの合計手数料の半分を課金するため、公表値が0.3%である一方、実際の手数料は0.299775%です。注文は取引所のパッケージ上でDamlの選択肢を通じて決済され、バリデーターノードが必要です。そのため、アダプターは読み取りと価格算出には対応しますが、取引はできません。

ライブチェックはscripts/live_swap_smoke.py(Cantex、デフォルトでドライラン)、scripts/dexref_testnet_smoke.pyおよびscripts/dexref_testnet_report.py(Reference DEX、--executeを指定しない限り読み取り専用)、scripts/ekiden_market_smoke.py(Ekiden)、scripts/tradecraft_market_smoke.py(Tradecraft)で実行します。最後の2つは設計上、読み取り専用です。

コメント

MCP は初めてですか?

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

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