--- name: binance-pro description: "完整的Binance集成——世界最大的加密货币交易所。" metadata: {"openclaw":{"emoji":"🟡","always":true,"requires":{"bins":["curl","jq"]}}} --- # Binance Pro 🟡 Professional skill for trading on Binance - the world's largest crypto exchange. ## 🚀 Quick Start ### Setup Credentials Save to `~/.openclaw/credentials/binance.json`: ```json { "apiKey": "YOUR_API_KEY", "secretKey": "YOUR_SECRET_KEY" } ``` ### Environment Variables (alternative) ```bash export BINANCE_API_KEY="your_api_key" export BINANCE_SECRET="your_secret_key" ``` ## 📊 Basic Queries ### Check Spot Balance ```bash TIMESTAMP=$(date +%s%3N) QUERY="timestamp=${TIMESTAMP}" SIGNATURE=$(echo -n "$QUERY" | openssl dgst -sha256 -hmac "$SECRET" | cut -d' ' -f2) curl -s "https://api.binance.com/api/v3/account?${QUERY}&signature=${SIGNATURE}" \ -H "X-MBX-APIKEY: ${API_KEY}" | jq '[.balances[] | select(.free != "0.00000000")]' ``` ### Get Current Price ```bash curl -s "https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT" | jq '.' ``` ### Get All Futures Positions ```bash TIMESTAMP=$(date +%s%3N) QUERY="timestamp=${TIMESTAMP}" SIGNATURE=$(echo -n "$QUERY" | openssl dgst -sha256 -hmac "$SECRET" | cut -d' ' -f2) curl -s "https://fapi.binance.com/fapi/v2/positionRisk?${QUERY}&signature=${SIGNATURE}" \ -H "X-MBX-APIKEY: ${API_KEY}" | jq '[.[] | select(.positionAmt != "0")]' ``` ## ⚡ Futures (Leverage Trading) ### Open LONG Position (Buy) ```bash SYMBOL="BTCUSDT" SIDE="BUY" QUANTITY="0.001" TIMESTAMP=$(date +%s%3N) QUERY="symbol=${SYMBOL}&side=${SIDE}&type=MARKET&quantity=${QUANTITY}×tamp=${TIMESTAMP}" SIGNATURE=$(echo -n "$QUERY" | openssl dgst -sha256 -hmac "$SECRET" | cut -d' ' -f2) curl -s -X POST "https://fapi.binance.com/fapi/v1/order?${QUERY}&signature=${SIGNATURE}" \ -H "X-MBX-APIKEY: ${API_KEY}" | jq '.' ``` ### Open SHORT Position (Sell) ```bash SYMBOL="BTCUSDT" SIDE="SELL" QUANTITY="0.001" TIMESTAMP=$(date +%s%3N) QUERY="symbol=${SYMBOL}&side=${SIDE}&type=MARKET&quantity=${QUANTITY}×tamp=${TIMESTAMP}" SIGNATURE=$(echo -n "$QUERY" | openssl dgst -sha256 -hmac "$SECRET" | cut -d' ' -f2) curl -s -X POST "https://fapi.binance.com/fapi/v1/order?${QUERY}&signature=${SIGNATURE}" \ -H "X-MBX-APIKEY: ${API_KEY}" | jq '.' ``` ### Set Stop Loss ```bash SYMBOL="BTCUSDT" SIDE="SELL" # To close LONG use SELL, to close SHORT use BUY STOP_PRICE="75000" TIMESTAMP=$(date +%s%3N) QUERY="symbol=${SYMBOL}&side=${SIDE}&type=STOP_MARKET&stopPrice=${STOP_PRICE}&closePosition=true×tamp=${TIMESTAMP}" SIGNATURE=$(echo -n "$QUERY" | openssl dgst -sha256 -hmac "$SECRET" | cut -d' ' -f2) curl -s -X POST "https://fapi.binance.com/fapi/v1/order?${QUERY}&signature=${SIGNATURE}" \ -H "X-MBX-APIKEY: ${API_KEY}" | jq '.' ``` ### Set Take Profit ```bash SYMBOL="BTCUSDT" SIDE="SELL" # To close LONG use SELL, to close SHORT use BUY TP_PRICE="85000" TIMESTAMP=$(date +%s%3N) QUERY="symbol=${SYMBOL}&side=${SIDE}&type=TAKE_PROFIT_MARKET&stopPrice=${TP_PRICE}&closePosition=true×tamp=${TIMESTAMP}" SIGNATURE=$(echo -n "$QUERY" | openssl dgst -sha256 -hmac "$SECRET" | cut -d' ' -f2) curl -s -X POST "https://fapi.binance.com/fapi/v1/order?${QUERY}&signature=${SIGNATURE}" \ -H "X-MBX-APIKEY: ${API_KEY}" | jq '.' ``` ### Close Position (Market) ```bash # First, get current position quantity POSITION=$(curl -s "https://fapi.binance.com/fapi/v2/positionRisk?timestamp=${TIMESTAMP}&signature=${SIGNATURE}" \ -H "X-MBX-APIKEY: ${API_KEY}" | jq -r '.[] | select(.symbol=="BTCUSDT") | .positionAmt') # If POSITION > 0, it's LONG, close with SELL # If POSITION < 0, it's SHORT, close with BUY ``` ### Change Leverage ```bash SYMBOL="BTCUSDT" LEVERAGE="10" # 1 to 125 TIMESTAMP=$(date +%s%3N) QUERY="symbol=${SYMBOL}&leverage=${LEVERAGE}×tamp=${TIMESTAMP}" SIGNATURE=$(echo -n "$QUERY" | openssl dgst -sha256 -hmac "$SECRET" | cut -d' ' -f2) curl -s -X POST "https://fapi.binance.com/fapi/v1/leverage?${QUERY}&signature=${SIGNATURE}" \ -H "X-MBX-APIKEY: ${API_KEY}" | jq '.' ``` ## 📈 Spot Trading ### Buy (Market) ```bash SYMBOL="ETHUSDT" QUANTITY="0.1" TIMESTAMP=$(date +%s%3N) QUERY="symbol=${SYMBOL}&side=BUY&type=MARKET&quantity=${QUANTITY}×tamp=${TIMESTAMP}" SIGNATURE=$(echo -n "$QUERY" | openssl dgst -sha256 -hmac "$SECRET" | cut -d' ' -f2) curl -s -X POST "https://api.binance.com/api/v3/order?${QUERY}&signature=${SIGNATURE}" \ -H "X-MBX-APIKEY: ${API_KEY}" | jq '.' ``` ### Sell (Market) ```bash SYMBOL="ETHUSDT" QUANTITY="0.1" TIMESTAMP=$(date +%s%3N) QUERY="symbol=${SYMBOL}&side=SELL&type=MARKET&quantity=${QUANTITY}×tamp=${TIMESTAMP}" SIGNATURE=$(echo -n "$QUERY" | openssl dgst -sha256 -hmac "$SECRET" | cut -d' ' -f2) curl -s -X POST "https://api.binance.com/api/v3/order?${QUERY}&signature=${SIGNATURE}" \ -H "X-MBX-APIKEY: ${API_KEY}" | jq '.' ``` ## 🔧 Utilities ### View Open Orders ```bash TIMESTAMP=$(date +%s%3N) QUERY="timestamp=${TIMESTAMP}" SIGNATURE=$(echo -n "$QUERY" | openssl dgst -sha256 -hmac "$SECRET" | cut -d' ' -f2) # Futures curl -s "https://fapi.binance.com/fapi/v1/openOrders?${QUERY}&signature=${SIGNATURE}" \ -H "X-MBX-APIKEY: ${API_KEY}" | jq '.' ``` ### Cancel Order ```bash SYMBOL="BTCUSDT" ORDER_ID="123456789" TIMESTAMP=$(date +%s%3N) QUERY="symbol=${SYMBOL}&orderId=${ORDER_ID}×tamp=${TIMESTAMP}" SIGNATURE=$(echo -n "$QUERY" | openssl dgst -sha256 -hmac "$SECRET" | cut -d' ' -f2) curl -s -X DELETE "https://fapi.binance.com/fapi/v1/order?${QUERY}&signature=${SIGNATURE}" \ -H "X-MBX-APIKEY: ${API_KEY}" | jq '.' ``` ### View Trade History ```bash SYMBOL="BTCUSDT" TIMESTAMP=$(date +%s%3N) QUERY="symbol=${SYMBOL}×tamp=${TIMESTAMP}" SIGNATURE=$(echo -n "$QUERY" | openssl dgst -sha256 -hmac "$SECRET" | cut -d' ' -f2) curl -s "https://fapi.binance.com/fapi/v1/userTrades?${QUERY}&signature=${SIGNATURE}" \ -H "X-MBX-APIKEY: ${API_KEY}" | jq '.[-10:]' ``` ## 🏦 Detailed Futures Balance ```bash TIMESTAMP=$(date +%s%3N) QUERY="timestamp=${TIMESTAMP}" SIGNATURE=$(echo -n "$QUERY" | openssl dgst -sha256 -hmac "$SECRET" | cut -d' ' -f2) curl -s "https://fapi.binance.com/fapi/v2/balance?${QUERY}&signature=${SIGNATURE}" \ -H "X-MBX-APIKEY: ${API_KEY}" | jq '[.[] | select(.balance != "0")]' ``` ## 📋 Popular Pairs | Pair | Description | |------|-------------| | BTCUSDT | Bitcoin | | ETHUSDT | Ethereum | | BNBUSDT | BNB | | SOLUSDT | Solana | | XRPUSDT | XRP | | DOGEUSDT | Dogecoin | | ADAUSDT | Cardano | | AVAXUSDT | Avalanche | ## ⚠️ Safety Rules 1. **ALWAYS** verify position before closing 2. **ALWAYS** set Stop Loss on leveraged trades 3. **NEVER** use leverage higher than 10x without experience 4. **VERIFY** pair and quantity before executing 5. **CONFIRM** with user before executing large orders ## 🔗 Links - [API Documentation](https://binance-docs.github.io/apidocs/) - [Create Account](https://accounts.binance.com/register?ref=CPA_00F3AR52CL) - [Testnet](https://testnet.binance.vision/) --- *Skill created by Total Easy Software - Clayton Martins*