weex-trading
WEEX先物取引所で、USDT-M無期限先物を最大125倍のレバレッジで取引できるSkill。
📜 元の英語説明(参考)
WEEX Futures exchange integration. Trade USDT-M perpetual futures with up to 125x leverage on WEEX.
🇯🇵 日本人クリエイター向け解説
WEEX先物取引所で、USDT-M無期限先物を最大125倍のレバレッジで取引できるSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-17
- 取得日時
- 2026-05-17
- 同梱ファイル
- 4
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
[Skill 名] weex-trading
WEEX 先物取引 🔵
WEEX取引所におけるUSDT証拠金無期限先物取引のためのOpen AI Agent Skillです。最大125倍のレバレッジに対応しています。
Open Agent Skill: このスキルは、Claude、GPT、Gemini、LLaMA、Mistral、その他のLLMベースのエージェントを含む、bash/curlコマンドをサポートするあらゆるAIエージェントで動作するように設計されています。
特徴
- 📊 先物取引 - USDT-M無期限契約、最大125倍のレバレッジ
- 💰 アカウント管理 - 残高、ポジション、証拠金設定
- 📈 市場データ - ティッカー、板情報、ローソク足、ファンディングレート
- 🎯 高度な注文 - トリガー注文、TP/SL、条件付き注文
- 🤖 AI連携 - AIの取引決定をログに記録
- 🔌 ユニバーサルな互換性 - シェルコマンドをサポートするあらゆるAIエージェントで動作
環境変数
| 変数 | 説明 | 必須 |
|---|---|---|
WEEX_API_KEY |
WEEXのAPIキー | はい |
WEEX_API_SECRET |
APIシークレット | はい |
WEEX_PASSPHRASE |
APIパスフレーズ | はい |
WEEX_BASE_URL |
APIベースURL | いいえ (デフォルト: https://api-contract.weex.com) |
認証
API_KEY="${WEEX_API_KEY}"
SECRET="${WEEX_API_SECRET}"
PASSPHRASE="${WEEX_PASSPHRASE}"
BASE_URL="${WEEX_BASE_URL:-https://api-contract.weex.com}"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
# Generate signature
generate_signature() {
local method="$1"
local path="$2"
local body="$3"
local message="${TIMESTAMP}${method}${path}${body}"
echo -n "$message" | openssl dgst -sha256 -hmac "$SECRET" -binary | base64
}
市場データエンドポイント (認証不要)
サーバー時刻の取得
curl -s "${BASE_URL}/capi/v2/market/time" | jq '.'
全契約情報の取得
curl -s "${BASE_URL}/capi/v2/market/contracts" | jq '.data[] | {symbol: .symbol, baseCoin: .underlying_index, quoteCoin: .quote_currency, contractVal: .contract_val, minLeverage: .minLeverage, maxLeverage: .maxLeverage, tickSize: .tick_size, sizeIncrement: .size_increment}'
単一契約情報の取得
SYMBOL="cmt_btcusdt"
curl -s "${BASE_URL}/capi/v2/market/contracts?symbol=${SYMBOL}" | jq '.data'
ティッカー価格の取得
SYMBOL="cmt_btcusdt"
curl -s "${BASE_URL}/capi/v2/market/ticker?symbol=${SYMBOL}" | jq '.data | {symbol: .symbol, last: .last, high: .high_24h, low: .low_24h, volume: .volume_24h, markPrice: .markPrice}'
全ティッカーの取得
curl -s "${BASE_URL}/capi/v2/market/tickers" | jq '.data[] | {symbol: .symbol, last: .last, change: .priceChangePercent, volume: .volume_24h}'
板情報の取得
SYMBOL="cmt_btcusdt"
curl -s "${BASE_URL}/capi/v2/market/depth?symbol=${SYMBOL}&limit=15" | jq '.data | {asks: .asks[:5], bids: .bids[:5]}'
最近の取引の取得
SYMBOL="cmt_btcusdt"
LIMIT="50"
curl -s "${BASE_URL}/capi/v2/market/trades?symbol=${SYMBOL}&limit=${LIMIT}" | jq '.data[] | {time: .time, price: .price, size: .size, side: (if .isBuyerMaker then "sell" else "buy" end)}'
ローソク足データの取得
SYMBOL="cmt_btcusdt"
GRANULARITY="1h" # 1m, 5m, 15m, 30m, 1h, 4h, 12h, 1d, 1w
LIMIT="100"
curl -s "${BASE_URL}/capi/v2/market/candles?symbol=${SYMBOL}&granularity=${GRANULARITY}&limit=${LIMIT}" | jq '.data[] | {timestamp: .[0], open: .[1], high: .[2], low: .[3], close: .[4], volume: .[5]}'
インデックス価格の取得
SYMBOL="cmt_btcusdt"
curl -s "${BASE_URL}/capi/v2/market/index?symbol=${SYMBOL}" | jq '.data | {symbol: .symbol, index: .index, timestamp: .timestamp}'
建玉の取得
SYMBOL="cmt_btcusdt"
curl -s "${BASE_URL}/capi/v2/market/open_interest?symbol=${SYMBOL}" | jq '.data[] | {symbol: .symbol, openInterest: .base_volume, value: .target_volume}'
現在のファンディングレートの取得
SYMBOL="cmt_btcusdt"
curl -s "${BASE_URL}/capi/v2/market/currentFundRate?symbol=${SYMBOL}" | jq '.data[] | {symbol: .symbol, rate: .fundingRate, nextSettlement: .timestamp}'
過去のファンディングレートの取得
SYMBOL="cmt_btcusdt"
LIMIT="20"
curl -s "${BASE_URL}/capi/v2/market/getHistoryFundRate?symbol=${SYMBOL}&limit=${LIMIT}" | jq '.data[] | {symbol: .symbol, rate: .fundingRate, settleTime: .fundingTime}'
次回ファンディング時刻の取得
SYMBOL="cmt_btcusdt"
curl -s "${BASE_URL}/capi/v2/market/funding_time?symbol=${SYMBOL}" | jq '.data | {symbol: .symbol, nextFundingTime: .fundingTime}'
アカウントエンドポイント (認証が必要)
アカウント資産の取得
PATH_URL="/capi/v2/account/assets"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "GET" "$PATH_URL" "")
curl -s "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" | jq '.data[] | {coin: .coinName, available: .available, frozen: .frozen, equity: .equity, unrealizedPnl: .unrealizePnl}'
設定付きアカウントリストの取得
PATH_URL="/capi/v2/account/getAccounts"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "GET" "$PATH_URL" "")
curl -s "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" | jq '.data'
コイン別単一アカウントの取得
COIN="USDT"
PATH_URL="/capi/v2/account/getAccount?coin=${COIN}"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "GET" "$PATH_URL" "")
curl -s "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" | jq '.data'
ユーザー設定の取得
SYMBOL="cmt_btcusdt"
PATH_URL="/capi/v2/account/settings?symbol=${SYMBOL}"
TIMESTAMP=$(python3 -c "import time; print(int(time. 📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
WEEX Futures Trading 🔵
Open AI Agent Skill for USDT-margined perpetual futures trading on WEEX exchange. Up to 125x leverage.
Open Agent Skill: This skill is designed to work with any AI agent that supports bash/curl commands, including Claude, GPT, Gemini, LLaMA, Mistral, and other LLM-based agents.
Features
- 📊 Futures Trading - USDT-M perpetual contracts up to 125x leverage
- 💰 Account Management - Balance, positions, margin settings
- 📈 Market Data - Tickers, order book, candlesticks, funding rates
- 🎯 Advanced Orders - Trigger orders, TP/SL, conditional orders
- 🤖 AI Integration - Log AI trading decisions
- 🔌 Universal Compatibility - Works with any AI agent supporting shell commands
Environment Variables
| Variable | Description | Required |
|---|---|---|
WEEX_API_KEY |
API Key from WEEX | Yes |
WEEX_API_SECRET |
API Secret | Yes |
WEEX_PASSPHRASE |
API Passphrase | Yes |
WEEX_BASE_URL |
API base URL | No (default: https://api-contract.weex.com) |
Authentication
API_KEY="${WEEX_API_KEY}"
SECRET="${WEEX_API_SECRET}"
PASSPHRASE="${WEEX_PASSPHRASE}"
BASE_URL="${WEEX_BASE_URL:-https://api-contract.weex.com}"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
# Generate signature
generate_signature() {
local method="$1"
local path="$2"
local body="$3"
local message="${TIMESTAMP}${method}${path}${body}"
echo -n "$message" | openssl dgst -sha256 -hmac "$SECRET" -binary | base64
}
Market Data Endpoints (No Auth)
Get Server Time
curl -s "${BASE_URL}/capi/v2/market/time" | jq '.'
Get All Contracts Info
curl -s "${BASE_URL}/capi/v2/market/contracts" | jq '.data[] | {symbol: .symbol, baseCoin: .underlying_index, quoteCoin: .quote_currency, contractVal: .contract_val, minLeverage: .minLeverage, maxLeverage: .maxLeverage, tickSize: .tick_size, sizeIncrement: .size_increment}'
Get Single Contract Info
SYMBOL="cmt_btcusdt"
curl -s "${BASE_URL}/capi/v2/market/contracts?symbol=${SYMBOL}" | jq '.data'
Get Ticker Price
SYMBOL="cmt_btcusdt"
curl -s "${BASE_URL}/capi/v2/market/ticker?symbol=${SYMBOL}" | jq '.data | {symbol: .symbol, last: .last, high: .high_24h, low: .low_24h, volume: .volume_24h, markPrice: .markPrice}'
Get All Tickers
curl -s "${BASE_URL}/capi/v2/market/tickers" | jq '.data[] | {symbol: .symbol, last: .last, change: .priceChangePercent, volume: .volume_24h}'
Get Order Book
SYMBOL="cmt_btcusdt"
curl -s "${BASE_URL}/capi/v2/market/depth?symbol=${SYMBOL}&limit=15" | jq '.data | {asks: .asks[:5], bids: .bids[:5]}'
Get Recent Trades
SYMBOL="cmt_btcusdt"
LIMIT="50"
curl -s "${BASE_URL}/capi/v2/market/trades?symbol=${SYMBOL}&limit=${LIMIT}" | jq '.data[] | {time: .time, price: .price, size: .size, side: (if .isBuyerMaker then "sell" else "buy" end)}'
Get Candlestick Data
SYMBOL="cmt_btcusdt"
GRANULARITY="1h" # 1m, 5m, 15m, 30m, 1h, 4h, 12h, 1d, 1w
LIMIT="100"
curl -s "${BASE_URL}/capi/v2/market/candles?symbol=${SYMBOL}&granularity=${GRANULARITY}&limit=${LIMIT}" | jq '.data[] | {timestamp: .[0], open: .[1], high: .[2], low: .[3], close: .[4], volume: .[5]}'
Get Index Price
SYMBOL="cmt_btcusdt"
curl -s "${BASE_URL}/capi/v2/market/index?symbol=${SYMBOL}" | jq '.data | {symbol: .symbol, index: .index, timestamp: .timestamp}'
Get Open Interest
SYMBOL="cmt_btcusdt"
curl -s "${BASE_URL}/capi/v2/market/open_interest?symbol=${SYMBOL}" | jq '.data[] | {symbol: .symbol, openInterest: .base_volume, value: .target_volume}'
Get Current Funding Rate
SYMBOL="cmt_btcusdt"
curl -s "${BASE_URL}/capi/v2/market/currentFundRate?symbol=${SYMBOL}" | jq '.data[] | {symbol: .symbol, rate: .fundingRate, nextSettlement: .timestamp}'
Get Historical Funding Rates
SYMBOL="cmt_btcusdt"
LIMIT="20"
curl -s "${BASE_URL}/capi/v2/market/getHistoryFundRate?symbol=${SYMBOL}&limit=${LIMIT}" | jq '.data[] | {symbol: .symbol, rate: .fundingRate, settleTime: .fundingTime}'
Get Next Funding Time
SYMBOL="cmt_btcusdt"
curl -s "${BASE_URL}/capi/v2/market/funding_time?symbol=${SYMBOL}" | jq '.data | {symbol: .symbol, nextFundingTime: .fundingTime}'
Account Endpoints (Auth Required)
Get Account Assets
PATH_URL="/capi/v2/account/assets"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "GET" "$PATH_URL" "")
curl -s "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" | jq '.data[] | {coin: .coinName, available: .available, frozen: .frozen, equity: .equity, unrealizedPnl: .unrealizePnl}'
Get Account List with Settings
PATH_URL="/capi/v2/account/getAccounts"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "GET" "$PATH_URL" "")
curl -s "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" | jq '.data'
Get Single Account by Coin
COIN="USDT"
PATH_URL="/capi/v2/account/getAccount?coin=${COIN}"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "GET" "$PATH_URL" "")
curl -s "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" | jq '.data'
Get User Settings
SYMBOL="cmt_btcusdt"
PATH_URL="/capi/v2/account/settings?symbol=${SYMBOL}"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "GET" "$PATH_URL" "")
curl -s "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" | jq '.data'
Change Leverage
SYMBOL="cmt_btcusdt"
LEVERAGE="20"
MARGIN_MODE="1" # 1=Cross, 3=Isolated
PATH_URL="/capi/v2/account/leverage"
BODY="{\"symbol\":\"${SYMBOL}\",\"marginMode\":${MARGIN_MODE},\"longLeverage\":\"${LEVERAGE}\",\"shortLeverage\":\"${LEVERAGE}\"}"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "POST" "$PATH_URL" "$BODY")
curl -s -X POST "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" \
-d "$BODY" | jq '.'
Adjust Position Margin (Isolated Only)
POSITION_ID="123456789" # Isolated position ID
AMOUNT="100" # Positive to add, negative to reduce
PATH_URL="/capi/v2/account/adjustMargin"
BODY="{\"coinId\":2,\"isolatedPositionId\":${POSITION_ID},\"collateralAmount\":\"${AMOUNT}\"}"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "POST" "$PATH_URL" "$BODY")
curl -s -X POST "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" \
-d "$BODY" | jq '.'
Auto Margin Top-Up (Isolated Only)
POSITION_ID="123456789" # Isolated position ID
AUTO_APPEND="true" # true to enable, false to disable
PATH_URL="/capi/v2/account/modifyAutoAppendMargin"
BODY="{\"positionId\":${POSITION_ID},\"autoAppendMargin\":${AUTO_APPEND}}"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "POST" "$PATH_URL" "$BODY")
curl -s -X POST "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" \
-d "$BODY" | jq '.'
Get Account Bill History
COIN="USDT"
LIMIT="20"
PATH_URL="/capi/v2/account/bills"
BODY="{\"coin\":\"${COIN}\",\"limit\":${LIMIT}}"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "POST" "$PATH_URL" "$BODY")
curl -s -X POST "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" \
-d "$BODY" | jq '.data'
Position Endpoints (Auth Required)
Get All Positions
PATH_URL="/capi/v2/account/position/allPosition"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "GET" "$PATH_URL" "")
curl -s "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" | jq '.data[] | select(.size != "0") | {symbol: .symbol, side: .side, size: .size, leverage: .leverage, unrealizedPnl: .unrealizePnl, entryPrice: .avg_cost}'
Get Single Position
SYMBOL="cmt_btcusdt"
PATH_URL="/capi/v2/account/position/singlePosition?symbol=${SYMBOL}"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "GET" "$PATH_URL" "")
curl -s "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" | jq '.data[] | {symbol: .symbol, side: .side, size: .size, leverage: .leverage, unrealizedPnl: .unrealizePnl, entryPrice: .avg_cost, liquidationPrice: .liq_price}'
Change Margin Mode
SYMBOL="cmt_btcusdt"
MARGIN_MODE="1" # 1=Cross, 3=Isolated
PATH_URL="/capi/v2/account/position/changeHoldModel"
BODY="{\"symbol\":\"${SYMBOL}\",\"marginMode\":${MARGIN_MODE},\"separatedMode\":1}"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "POST" "$PATH_URL" "$BODY")
curl -s -X POST "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" \
-d "$BODY" | jq '.'
Order Endpoints (Auth Required)
Place Market Order
SYMBOL="cmt_btcusdt"
SIZE="10" # Quantity in contracts
TYPE="1" # 1=Open Long, 2=Open Short, 3=Close Long, 4=Close Short
CLIENT_OID="order_$(date +%s)"
PATH_URL="/capi/v2/order/placeOrder"
BODY="{\"symbol\":\"${SYMBOL}\",\"client_oid\":\"${CLIENT_OID}\",\"size\":\"${SIZE}\",\"type\":\"${TYPE}\",\"order_type\":\"0\",\"match_price\":\"1\",\"price\":\"0\"}"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "POST" "$PATH_URL" "$BODY")
curl -s -X POST "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" \
-d "$BODY" | jq '.'
Place Limit Order
SYMBOL="cmt_btcusdt"
SIZE="10"
TYPE="1" # 1=Open Long
PRICE="90000" # Limit price
ORDER_TYPE="0" # 0=Normal, 1=Post-only, 2=FOK, 3=IOC
CLIENT_OID="limit_$(date +%s)"
PATH_URL="/capi/v2/order/placeOrder"
BODY="{\"symbol\":\"${SYMBOL}\",\"client_oid\":\"${CLIENT_OID}\",\"size\":\"${SIZE}\",\"type\":\"${TYPE}\",\"order_type\":\"${ORDER_TYPE}\",\"match_price\":\"0\",\"price\":\"${PRICE}\"}"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "POST" "$PATH_URL" "$BODY")
curl -s -X POST "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" \
-d "$BODY" | jq '.'
Get Open Orders
PATH_URL="/capi/v2/order/current"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "GET" "$PATH_URL" "")
curl -s "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" | jq '.data[] | {orderId: .order_id, symbol: .symbol, side: .type, price: .price, size: .size, status: .status}'
Get Order Details
ORDER_ID="1234567890"
PATH_URL="/capi/v2/order/detail?orderId=${ORDER_ID}"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "GET" "$PATH_URL" "")
curl -s "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" | jq '.data'
Get Order History
SYMBOL="cmt_btcusdt"
LIMIT="50"
PATH_URL="/capi/v2/order/history?symbol=${SYMBOL}&limit=${LIMIT}"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "GET" "$PATH_URL" "")
curl -s "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" | jq '.data[] | {orderId: .order_id, symbol: .symbol, side: .type, price: .price, size: .size, filledSize: .filled_qty, status: .status}'
Get Trade Fills
SYMBOL="cmt_btcusdt"
LIMIT="50"
PATH_URL="/capi/v2/order/fills?symbol=${SYMBOL}&limit=${LIMIT}"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "GET" "$PATH_URL" "")
curl -s "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" | jq '.data[] | {tradeId: .trade_id, orderId: .order_id, symbol: .symbol, price: .price, size: .size, fee: .fee, time: .created_at}'
Cancel Order
ORDER_ID="1234567890"
PATH_URL="/capi/v2/order/cancel_order"
BODY="{\"orderId\":\"${ORDER_ID}\"}"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "POST" "$PATH_URL" "$BODY")
curl -s -X POST "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" \
-d "$BODY" | jq '.'
Cancel All Orders
SYMBOL="cmt_btcusdt" # Optional: omit to cancel all
PATH_URL="/capi/v2/order/cancelAllOrders"
BODY="{\"symbol\":\"${SYMBOL}\"}"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "POST" "$PATH_URL" "$BODY")
curl -s -X POST "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" \
-d "$BODY" | jq '.'
Close All Positions
PATH_URL="/capi/v2/order/closePositions"
BODY="{}"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "POST" "$PATH_URL" "$BODY")
curl -s -X POST "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" \
-d "$BODY" | jq '.'
Trigger Order Endpoints (Auth Required)
Place Trigger Order (Stop-Loss / Take-Profit)
SYMBOL="cmt_btcusdt"
SIZE="10"
TYPE="1" # 1=Open Long, 2=Open Short, 3=Close Long, 4=Close Short
TRIGGER_PRICE="95000" # Price that triggers the order
EXECUTE_PRICE="0" # 0 for market, or limit price
TRIGGER_TYPE="1" # 1=Fill price, 2=Mark price, 3=Index price
CLIENT_OID="trigger_$(date +%s)"
PATH_URL="/capi/v2/order/plan_order"
BODY="{\"symbol\":\"${SYMBOL}\",\"client_oid\":\"${CLIENT_OID}\",\"size\":\"${SIZE}\",\"type\":\"${TYPE}\",\"trigger_price\":\"${TRIGGER_PRICE}\",\"execute_price\":\"${EXECUTE_PRICE}\",\"trend_side\":\"1\",\"trigger_type\":\"${TRIGGER_TYPE}\"}"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "POST" "$PATH_URL" "$BODY")
curl -s -X POST "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" \
-d "$BODY" | jq '.'
Get Current Trigger Orders
SYMBOL="cmt_btcusdt"
PATH_URL="/capi/v2/order/currentPlan?symbol=${SYMBOL}"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "GET" "$PATH_URL" "")
curl -s "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" | jq '.data[] | {orderId: .order_id, symbol: .symbol, triggerPrice: .trigger_price, size: .size, type: .type}'
Get Trigger Order History
SYMBOL="cmt_btcusdt"
LIMIT="50"
PATH_URL="/capi/v2/order/historyPlan?symbol=${SYMBOL}&limit=${LIMIT}"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "GET" "$PATH_URL" "")
curl -s "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" | jq '.data[] | {orderId: .order_id, symbol: .symbol, triggerPrice: .trigger_price, status: .status}'
Cancel Trigger Order
ORDER_ID="1234567890"
PATH_URL="/capi/v2/order/cancel_plan"
BODY="{\"orderId\":\"${ORDER_ID}\"}"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "POST" "$PATH_URL" "$BODY")
curl -s -X POST "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" \
-d "$BODY" | jq '.'
TP/SL Order Endpoints (Auth Required)
Place TP/SL Order
SYMBOL="cmt_btcusdt"
SIDE="1" # 1=Long position, 2=Short position
TP_PRICE="100000" # Take profit trigger price
SL_PRICE="85000" # Stop loss trigger price
TP_SIZE="10" # Take profit size (0 for entire position)
SL_SIZE="10" # Stop loss size (0 for entire position)
PATH_URL="/capi/v2/order/placeTpSlOrder"
BODY="{\"symbol\":\"${SYMBOL}\",\"side\":\"${SIDE}\",\"tp_trigger_price\":\"${TP_PRICE}\",\"sl_trigger_price\":\"${SL_PRICE}\",\"tp_size\":\"${TP_SIZE}\",\"sl_size\":\"${SL_SIZE}\"}"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "POST" "$PATH_URL" "$BODY")
curl -s -X POST "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" \
-d "$BODY" | jq '.'
Modify TP/SL Order
SYMBOL="cmt_btcusdt"
SIDE="1" # 1=Long position, 2=Short position
TP_PRICE="105000" # New take profit price
SL_PRICE="82000" # New stop loss price
PATH_URL="/capi/v2/order/modifyTpSlOrder"
BODY="{\"symbol\":\"${SYMBOL}\",\"side\":\"${SIDE}\",\"tp_trigger_price\":\"${TP_PRICE}\",\"sl_trigger_price\":\"${SL_PRICE}\"}"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "POST" "$PATH_URL" "$BODY")
curl -s -X POST "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" \
-d "$BODY" | jq '.'
AI Integration (Auth Required)
Upload AI Trading Log
AI_LOG="Trading decision: Buy BTC based on momentum indicators"
ORDER_ID="1234567890"
PATH_URL="/capi/v2/order/uploadAiLog"
BODY="{\"orderId\":\"${ORDER_ID}\",\"aiLog\":\"${AI_LOG}\"}"
TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))")
SIGNATURE=$(generate_signature "POST" "$PATH_URL" "$BODY")
curl -s -X POST "${BASE_URL}${PATH_URL}" \
-H "ACCESS-KEY: ${API_KEY}" \
-H "ACCESS-SIGN: ${SIGNATURE}" \
-H "ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-H "ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "Content-Type: application/json" \
-d "$BODY" | jq '.'
Reference Tables
Order Types
| type | Description |
|---|---|
1 |
Open Long (buy to open) |
2 |
Open Short (sell to open) |
3 |
Close Long (sell to close) |
4 |
Close Short (buy to close) |
Execution Types
| order_type | Description |
|---|---|
0 |
Normal order |
1 |
Post-only (maker only) |
2 |
FOK (fill or kill) |
3 |
IOC (immediate or cancel) |
Price Types
| match_price | Description |
|---|---|
0 |
Limit order |
1 |
Market order |
Margin Modes
| marginMode | Description |
|---|---|
1 |
Cross margin |
3 |
Isolated margin |
Trigger Types
| trigger_type | Description |
|---|---|
1 |
Fill price (last trade price) |
2 |
Mark price |
3 |
Index price |
Popular Trading Pairs
| Pair | Description |
|---|---|
| cmt_btcusdt | Bitcoin / USDT |
| cmt_ethusdt | Ethereum / USDT |
| cmt_solusdt | Solana / USDT |
| cmt_xrpusdt | XRP / USDT |
| cmt_dogeusdt | Dogecoin / USDT |
| cmt_bnbusdt | BNB / USDT |
Safety Rules
- ALWAYS display order details before execution
- VERIFY trading pair and quantity
- CHECK account balance before trading
- WARN about leverage risks (up to 125x)
- NEVER execute without user confirmation
- CONFIRM position closure before executing
Error Codes
| Code | Description | Solution |
|---|---|---|
00000 |
Success | - |
40001 |
Invalid parameter | Check parameter format |
40101 |
Invalid API key/signature | Verify credentials and timestamp |
40301 |
IP not whitelisted | Add IP to whitelist |
42901 |
Rate limit exceeded | Reduce request frequency |
50001 |
Internal error | Retry after delay |
Rate Limits
| Category | IP Limit | UID Limit |
|---|---|---|
| Market Data | 20 req/sec | N/A |
| Account Info | 10 req/sec | 10 req/sec |
| Order Placement | 10 req/sec | 10 req/sec |
Additional Resources
- WEEX
- Base URL:
https://api-contract.weex.com - API Reference
同梱ファイル
※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。
- 📄 SKILL.md (24,051 bytes)
- 📎 README.md (8,708 bytes)
- 📎 references/api_reference.md (5,079 bytes)
- 📎 scripts/weex_client.py (10,383 bytes)