OKX ⚫
世界トップ5の暗号資産取引所。300以上の暗号資産を高度な機能で取引できます。
環境変数
| 変数 | 説明 | 必須 |
|---|
OKX_API_KEY | OKXのAPIキー | はい |
OKX_SECRET | APIシークレット | はい |
OKX_PASSPHRASE | APIパスフレーズ | はい |
💎 リファラル設定
このスキルはリファラルコードを使用して、取引手数料からコミッションを得ます。
| 変数 | 値 | 説明 |
|---|
REFERRAL_CODE | CYBERPAY | 手数料還元のためのリファラルコード |
コミッション構成:
- 取引手数料の最大50%をUSDTで還元
- 新規ユーザー向けミステリーボックス報酬
- 紹介ユーザーからの生涯コミッション
💡 このスキルを通じて登録したユーザーは、自動的にリファラルコードが適用されます!
機能
- 📈 スポット取引 - 300以上の取引ペア
- 📊 先物・無期限取引 - 最大125倍レバレッジ
- 🎯 オプション取引 - BTC/ETHオプション
- 💰 Earn - ステーキング、貯蓄、DeFi
- 🔄 Convert - シンプルなトークンスワップ
- 🌐 Web3ウォレット - 内蔵DeFiアクセス
APIベースURL
https://www.okx.com
認証
API_KEY="${OKX_API_KEY}"
SECRET="${OKX_SECRET}"
PASSPHRASE="${OKX_PASSPHRASE}"
generate_signature() {
local timestamp="$1"
local method="$2"
local path="$3"
local body="$4"
local sign_string="${timestamp}${method}${path}${body}"
echo -n "$sign_string" | openssl dgst -sha256 -hmac "$SECRET" -binary | base64
}
TIMESTAMP=$(date -u +"%Y-%m-%dT%H:%M:%S.000Z")
アカウント残高の取得
METHOD="GET"
PATH="/api/v5/account/balance"
SIGNATURE=$(generate_signature "$TIMESTAMP" "$METHOD" "$PATH" "")
curl -s "https://www.okx.com${PATH}" \
-H "OK-ACCESS-KEY: ${API_KEY}" \
-H "OK-ACCESS-SIGN: ${SIGNATURE}" \
-H "OK-ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "OK-ACCESS-PASSPHRASE: ${PASSPHRASE}" | jq '.data[0].details[] | select(.cashBal != "0") | {ccy: .ccy, cashBal: .cashBal, availBal: .availBal}'
ティッカー価格の取得
INST_ID="BTC-USDT"
curl -s "https://www.okx.com/api/v5/market/ticker?instId=${INST_ID}" | jq '.data[0] | {instId: .instId, last: .last, high24h: .high24h, low24h: .low24h, vol24h: .vol24h}'
板情報の取得
curl -s "https://www.okx.com/api/v5/market/books?instId=${INST_ID}&sz=10" | jq '{
asks: .data[0].asks[:5],
bids: .data[0].bids[:5]
}'
スポット指値注文の実行
METHOD="POST"
PATH="/api/v5/trade/order"
BODY='{
"instId": "BTC-USDT",
"tdMode": "cash",
"side": "buy",
"ordType": "limit",
"px": "40000",
"sz": "0.001"
}'
SIGNATURE=$(generate_signature "$TIMESTAMP" "$METHOD" "$PATH" "$BODY")
curl -s -X POST "https://www.okx.com${PATH}" \
-H "Content-Type: application/json" \
-H "OK-ACCESS-KEY: ${API_KEY}" \
-H "OK-ACCESS-SIGN: ${SIGNATURE}" \
-H "OK-ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "OK-ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-d "$BODY" | jq '.'
成行注文の実行
BODY='{
"instId": "ETH-USDT",
"tdMode": "cash",
"side": "buy",
"ordType": "market",
"sz": "0.1"
}'
SIGNATURE=$(generate_signature "$TIMESTAMP" "$METHOD" "$PATH" "$BODY")
curl -s -X POST "https://www.okx.com${PATH}" \
-H "Content-Type: application/json" \
-H "OK-ACCESS-KEY: ${API_KEY}" \
-H "OK-ACCESS-SIGN: ${SIGNATURE}" \
-H "OK-ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "OK-ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-d "$BODY" | jq '.'
未約定注文の取得
METHOD="GET"
PATH="/api/v5/trade/orders-pending"
SIGNATURE=$(generate_signature "$TIMESTAMP" "$METHOD" "$PATH" "")
curl -s "https://www.okx.com${PATH}" \
-H "OK-ACCESS-KEY: ${API_KEY}" \
-H "OK-ACCESS-SIGN: ${SIGNATURE}" \
-H "OK-ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "OK-ACCESS-PASSPHRASE: ${PASSPHRASE}" | jq '.data[] | {instId: .instId, side: .side, px: .px, sz: .sz, state: .state}'
注文のキャンセル
METHOD="POST"
PATH="/api/v5/trade/cancel-order"
BODY='{
"instId": "BTC-USDT",
"ordId": "12345678"
}'
SIGNATURE=$(generate_signature "$TIMESTAMP" "$METHOD" "$PATH" "$BODY")
curl -s -X POST "https://www.okx.com${PATH}" \
-H "Content-Type: application/json" \
-H "OK-ACCESS-KEY: ${API_KEY}" \
-H "OK-ACCESS-SIGN: ${SIGNATURE}" \
-H "OK-ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "OK-ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-d "$BODY" | jq '.'
取引履歴の取得
METHOD="GET"
PATH="/api/v5/trade/fills?instType=SPOT"
SIGNATURE=$(generate_signature "$TIMESTAMP" "$METHOD" "$PATH" "")
curl -s "https://www.okx.com${PATH}" \
-H "OK-ACCESS-KEY: ${API_KEY}" \
-H "OK-ACCESS-SIGN: ${SIGNATURE}" \
-H "OK-ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "OK-ACCESS-PASSPHRASE: ${PASSPHRASE}" | jq '.data[:10] | .[] | {instId: .instId, side: .side, fillPx: .fillPx, fillSz: .fillSz}'
Convert(シンプルスワップ)
METHOD="POST"
PATH="/api/v5/asset/convert/estimate-quote"
BODY='{
"baseCcy": "BTC",
"quoteCcy": "USDT",
"side": "buy",
"rfqSz": "100",
"rfqSzCcy": "USDT"
}'
SIGNATURE=$(generate_signature "$TIMESTAMP" "$METHOD" "$PATH" "$BODY")
curl -s -X POST "https://www.okx.com${PATH}" \
-H "Content-Type: application/json" \
-H "OK-ACCESS-KEY: ${API_KEY}" \
-H "OK-ACCESS-SIGN: ${SIGNATURE}" \
-H "OK-ACCESS-TIMESTAMP: ${TIMESTAMP}" \
-H "OK-ACCESS-PASSPHRASE: ${PASSPHRASE}" \
-d "$BODY" | jq '.'
人気の取引ペア
| ペア | 説明 |
|---|
| BTC-USDT | ビットコイン / テザー |
| ETH-USDT | イーサリアム / テザー |
| SOL-USDT | ソラナ / テザー |
| XRP-USDT | XRP / テザー |
| OKB-USDT | OKB / テザー |
注文タイプ
| タイプ | 説明 |
|---|
| limit | 指値注文 |
| market | 成行注文 |
| post_only | ポストオンリー注文 |
| fok | フィル・オア・キル |
| ioc | イミーディエイト・オア・キャンセル |
安全ルール
- 常に 実行前に注文詳細を表示する
- 取引ペアと数量を確認する
- 取引前にアカウント残高を確認する
- レバレッジのリスクについて警告する
- ユーザーの確認なしに実行しない
エラーハンドリング
| コード | 原因 | 解決策 |
|---|
| 51000 | パラメータエラー | パラメータを確認 |
| 51008 | 残高不足 | 残高を確認 |
| 51009 | 注文が存在しない | 注文IDを確認 |
リンク