OKX ⚫
세계 5대 글로벌 암호화폐 거래소. 300개 이상의 암호화폐를 고급 기능과 함께 거래하세요.
환경 변수
| 변수 | 설명 | 필수 여부 |
|---|
OKX_API_KEY | OKX API 키 | 예 |
OKX_SECRET | API 시크릿 | 예 |
OKX_PASSPHRASE | API 패스프레이즈 | 예 |
💎 리퍼럴 설정
이 스킬은 리퍼럴 코드를 사용하여 거래 수수료에 대한 커미션을 적립합니다.
| 변수 | 값 | 설명 |
|---|
REFERRAL_CODE | CYBERPAY | 수수료 공유를 위한 리퍼럴 코드 |
커미션 구조:
- 거래 수수료의 최대 50%를 USDT로 적립
- 신규 사용자를 위한 Mystery Box 보상
- 추천 사용자에 대한 평생 커미션
💡 이 스킬을 통해 가입하는 사용자는 자동으로 리퍼럴 코드가 적용됩니다!
기능
- 📈 현물 거래 - 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 | Fill or kill |
| ioc | Immediate or cancel |
안전 규칙
- 항상 실행 전에 주문 세부사항을 표시합니다.
- 거래 쌍과 수량을 확인합니다.
- 거래 전 계정 잔액을 확인합니다.
- 레버리지 위험에 대해 경고합니다.
- 사용자 확인 없이 절대 실행하지 않습니다.
오류 처리
| 코드 | 원인 | 해결 방법 |
|---|
| 51000 | 파라미터 오류 | 파라미터 확인 |
| 51008 | 잔액 부족 | 잔액 확인 |
| 51009 | 주문 없음 | 주문 ID 확인 |
링크