โ† All skills
Tencent SkillHub ยท Developer Tools

Weex

WEEX Futures exchange integration. Trade USDT-M perpetual futures with up to 125x leverage on WEEX.

skill openclawclawhub Free
0 Downloads
0 Stars
0 Installs
0 Score
High Signal

WEEX Futures exchange integration. Trade USDT-M perpetual futures with up to 125x leverage on WEEX.

โฌ‡ 0 downloads โ˜… 0 stars Unverified but indexed

Install for OpenClaw

Quick setup
  1. Download the package from Yavira.
  2. Extract the archive and review SKILL.md first.
  3. Import or place the package into your OpenClaw setup.

Requirements

Target platform
OpenClaw
Install method
Manual import
Extraction
Extract archive
Prerequisites
OpenClaw
Primary doc
SKILL.md

Package facts

Download mode
Yavira redirect
Package format
ZIP package
Source platform
Tencent SkillHub
What's included
README.md, SKILL.md, scripts/weex_client.py, references/api_reference.md

Validation

  • Use the Yavira download entry.
  • Review SKILL.md after the package is downloaded.
  • Confirm the extracted package contains the expected setup assets.

Install with your agent

Agent handoff

Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.

  1. Download the package from Yavira.
  2. Extract it into a folder your agent can access.
  3. Paste one of the prompts below and point your agent at the extracted folder.
New install

I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.

Upgrade existing

I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.

Trust & source

Release facts

Source
Tencent SkillHub
Verification
Indexed source record
Version
1.1.0

Documentation

ClawHub primary doc Primary doc: SKILL.md 54 sections Open source page

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

VariableDescriptionRequiredWEEX_API_KEYAPI Key from WEEXYesWEEX_API_SECRETAPI SecretYesWEEX_PASSPHRASEAPI PassphraseYesWEEX_BASE_URLAPI base URLNo (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 }

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}'

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'

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 '.'

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 '.'

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 '.'

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 '.'

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 '.'

Order Types

typeDescription1Open Long (buy to open)2Open Short (sell to open)3Close Long (sell to close)4Close Short (buy to close)

Execution Types

order_typeDescription0Normal order1Post-only (maker only)2FOK (fill or kill)3IOC (immediate or cancel)

Price Types

match_priceDescription0Limit order1Market order

Margin Modes

marginModeDescription1Cross margin3Isolated margin

Trigger Types

trigger_typeDescription1Fill price (last trade price)2Mark price3Index price

Popular Trading Pairs

PairDescriptioncmt_btcusdtBitcoin / USDTcmt_ethusdtEthereum / USDTcmt_solusdtSolana / USDTcmt_xrpusdtXRP / USDTcmt_dogeusdtDogecoin / USDTcmt_bnbusdtBNB / 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

CodeDescriptionSolution00000Success-40001Invalid parameterCheck parameter format40101Invalid API key/signatureVerify credentials and timestamp40301IP not whitelistedAdd IP to whitelist42901Rate limit exceededReduce request frequency50001Internal errorRetry after delay

Rate Limits

CategoryIP LimitUID LimitMarket Data20 req/secN/AAccount Info10 req/sec10 req/secOrder Placement10 req/sec10 req/sec

Additional Resources

WEEX Base URL: https://api-contract.weex.com API Reference

Category context

Code helpers, APIs, CLIs, browser automation, testing, and developer operations.

Source: Tencent SkillHub

Largest current source with strong distribution and engagement signals.

Package contents

Included in package
3 Docs1 Scripts
  • SKILL.md Primary doc
  • README.md Docs
  • references/api_reference.md Docs
  • scripts/weex_client.py Scripts