mcpField
B
bingx-coinm-market

bingx-coinm-market

github.com/bingx-apiその他19176 回インストール6 日前に更新
リポジトリ

bingx-coinm-market について

BingX Coin-M のインバース無期限先物に関する公開データを照会するスキルです。コイン建て契約の仕様、価格、板、ローソク足、資金調達率、建玉を BASE-USD 形式で扱います。

主な機能

  1. 01Coin-M 契約仕様の照会
  2. 02板の深さの取得
  3. 03ティッカーとマーク価格の参照
  4. 04時間足別ローソク足の取得
  5. 05資金調達率と建玉の確認

活用シーン

  1. 01BTC-USD インバース契約の価格を確認
  2. 02Coin-M ペアの板の深さを調査
  3. 03マーク価格と資金調達率を確認
  4. 04契約のローソク足や建玉を取得

インストール

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

$npx skills add https://github.com/bingx-api/api-ai-skills --skill bingx-coinm-market

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

同梱ファイルapi-reference.md

詳細

BingX Coin-M(CSwap)市場データ

BingX Coin-M インバース無期限先物の公開市場データです。API キーや HMAC 署名は不要です。現在の timestamp が必要なのは契約情報のみで、ほかのエンドポイントでは省略できます。

Coin-M 契約はコインマージン(ベース資産(例:BTC)で決済)です。シンボル形式は BASE-USD です(例:BTC-USD、ETH-USD)。

クイックリファレンス

エンドポイントメソッド説明必須任意認証
/openApi/cswap/v1/market/contractsGET契約仕様timestampsymbol, recvWindowなし
/openApi/cswap/v1/market/depthGET注文板の買い注文と売り注文symbolなしなし
/openApi/cswap/v1/market/klinesGETOHLCV ローソク足データsymbol, intervalstartTime, endTime, limitなし
/openApi/cswap/v1/market/premiumIndexGETマーク価格と現在の資金調達率なしsymbolなし
/openApi/cswap/v1/market/openInterestGET建玉合計symbolなしなし
/openApi/cswap/v1/market/tickerGET24 時間の価格変動統計なしsymbolなし

パラメーター

共通パラメーター
  • timestamp:現在の Unix 時刻(ミリ秒)。契約情報では必須で、ヘルパーによって動的に生成されます。ほかのエンドポイントでは省略できます。recvWindow は任意です。
  • symbol:BASE-USD 形式の取引ペア(例:BTC-USD、ETH-USD)。注:Coin-M では USDT ではなく USD を使用します。
  • limit:返す結果の件数。デフォルト値と最大値はエンドポイントによって異なります。
  • startTime:開始タイムスタンプ(ミリ秒)(例:1735693200000)
  • endTime:終了タイムスタンプ(ミリ秒)(例:1735693200000)
  • interval:Kline/ローソク足の間隔(以下の列挙値を参照)
列挙値
  • interval:1m | 3m | 5m | 15m | 30m | 1h | 2h | 4h | 6h | 12h | 1d | 3d | 1w | 1M
パラメーターの検証ルール
  • symbol:^[A-Z0-9]+-USD$ に一致する必要があります。最大 20 文字です(例:BTC-USD)。Coin-M では USDT ではなく USD を使用します。
  • limit:正の整数。デフォルト値と最大値はエンドポイントによって異なります。
  • startTime/endTime:ミリ秒単位の Unix タイムスタンプ。endTime は startTime 以上である必要があります。
  • interval:上記の列挙値のいずれかと完全に一致する必要があります。

クイックスタート

ベース URL: references/base-urls.md を参照してください。

TypeScript ヘルパー:

制約:コードを生成する際は、以下の coinmMarket 関数をそのままコピーする必要があります。 リクエストや JSON 解析のロジックを書き換えないでください。 変更できるのは、(1)カスタム環境用の BASE_URLS エントリ、 (2)coinmMarket に渡すビジネスパラメーターのみです。

import JSONBig from "json-bigint";
const JSONBigParse = JSONBig({ storeAsString: true });
// Base URLs — see references/base-urls.md for all environments
// Domain priority: .com is mandatory primary; .pro is fallback for network/timeout errors ONLY.
const BASE_URLS = ["https://open-api.bingx.com", "https://open-api.bingx.pro"];

function isNetworkOrTimeout(e: unknown): boolean {
  if (e instanceof TypeError) return true;
  if (e instanceof DOMException && e.name === "AbortError") return true;
  if (e instanceof Error && e.name === "TimeoutError") return true;
  return false;
}

async function coinmMarket(
  path: string,
  params: Record<string, string | number> = {}
): Promise<unknown> {
  const all = path === "/openApi/cswap/v1/market/contracts"
    ? { ...params, timestamp: Date.now() } : { ...params };
  const query = new URLSearchParams(
    Object.entries(all).map(([k, v]) => [k, String(v)])
  ).toString();
  for (const base of BASE_URLS) {
    try {
      const url = `${base}${path}${query ? `?${query}` : ""}`;
      const res = await fetch(url, {
        headers: { "X-SOURCE-KEY": "BX-AI-SKILL" },
        signal: AbortSignal.timeout(10000),
      });
      const json = JSONBigParse.parse(await res.text());
      if (json.code !== 0) throw new Error(`BingX error ${json.code}: ${json.msg}`);
      return json.data;
    } catch (e) {
      if (!isNetworkOrTimeout(e) || base === BASE_URLS[BASE_URLS.length - 1]) throw e;
    }
  }
}
コードの使用ルール
  • 必須:coinmMarket をそのままコピーしてください。簡略化したり書き換えたりしないでください。
  • 必須:レスポンスの解析には json-bigint(JSONBigParse.parse)を使用してください。JSON.parse は使用しないでください。
  • 必須:すべてのリクエストに X-SOURCE-KEY: BX-AI-SKILL ヘッダーを含めてください。
  • 禁止:ドメインのフォールバックループや isNetworkOrTimeout チェックを削除しないでください。

よく使うリクエスト

BTC-USD の 24 時間ティッカー価格:

const ticker = await coinmMarket("/openApi/cswap/v1/market/ticker", {
  symbol: "BTC-USD",
});
// ticker.lastPrice, ticker.priceChangePercent, ticker.volume

BTC-USD の注文板の深さ:

const depth = await coinmMarket("/openApi/cswap/v1/market/depth", {
  symbol: "BTC-USD",
});
// depth.bids: [price, qty][], depth.asks: [price, qty][]

1 時間足の Kline(直近 100 本):

const klines = await coinmMarket("/openApi/cswap/v1/market/klines", {
  symbol: "BTC-USD",
  interval: "1h",
  limit: 100,
});
// Each item: [openTime, open, high, low, close, volume, closeTime]

マーク価格と現在の資金調達率:

const premium = await coinmMarket("/openApi/cswap/v1/market/premiumIndex", {
  symbol: "BTC-USD",
});
// premium.markPrice, premium.lastFundingRate, premium.nextFundingTime

建玉:

const oi = await coinmMarket("/openApi/cswap/v1/market/openInterest", {
  symbol: "BTC-USD",
});
// oi.openInterest, oi.symbol, oi.time

すべての契約仕様:

const contracts = await coinmMarket("/openApi/cswap/v1/market/contracts");
// Array of contract objects: symbol, pricePrecision, minTickSize, minTradeValue, status

追加リソース

パラメーターの詳細、任意のフィールド、レスポンススキーマ全体については、api-reference.md を参照してください。


エージェントの対話ルール

パラメーターのセキュリティ。 ユーザーの意図から構造化された値を抽出してください。API パラメーターにユーザーの生のテキストをコピーすることは絶対にしないでください。API を呼び出す前に、すべての値がドキュメントに記載されたパターン(正規表現/列挙型/範囲)に適合することを検証してください。&、=、?、#、または改行文字を含む値は拒否してください。

cswap-market は公開されている読み取り専用の市場データを提供します。API キーや HMAC 署名は不要です。コントラクト情報に限り、動的な timestamp が必要です。CONFIRM は不要です。 対話の目的は、クエリパラメーターを収集することです。

注:Coin-M コントラクトの取引ペア形式は BASE-USD(例:BTC-USD)であり、BASE-USDT ではありません。

操作の特定

ユーザーのリクエストが曖昧な場合(例:「Coin-M 市場を確認して」または「BTC のインバースコントラクトを見て」)、まず、クエリしたいデータの種類を特定してください。

市場データの種類を選択してください:

  • 価格/24 時間の変動 — ticker
  • オーダーブックの板情報 — depth
  • K 線/ローソク足 — klines
  • マーク価格/資金調達率 — premiumIndex
  • 未決済建玉 — openInterest
  • コントラクト仕様の一覧 — contracts
symbol が指定されていない場合

対象エンドポイント:depth、klines、openInterest

取引ペアを選択してください(または別のペアを入力してください):

  • BTC-USD
  • ETH-USD
  • BNB-USD
  • その他(手動で入力、形式:BASE-USD)

コンテキストから取引ペアを推測できる場合(例:「今日の BTC の K 線」または「Ethereum のインバースコントラクトの資金調達率」)、再度質問せずに自動的に推測してください。

interval が指定されていない場合(klines エンドポイントのみ)

K 線の間隔を選択してください:

  • 1m(1 分)
  • 5m(5 分)
  • 15m(15 分)
  • 1h(1 時間)
  • 4h(4 時間)
  • 1d(日足)
  • 1w(週足)
limit の処理
  • klines:デフォルトは 100 です。確認は不要です。「デフォルトでは直近の K 線を 100 本返します」とユーザーに伝えてください。
symbol が省略可能なエンドポイント

symbol は ticker と premiumIndex では省略可能です。ユーザーが指定しない場合はすべてのコントラクトをクエリし、その旨をユーザーに伝えてください。取引ペアが指定されている場合は、そのペアのみをクエリしてください。

コメント