비트겟(Bitget) API를 사용하기 위해서는 **API Key**와 **Secret Key**를 생성하고 인증하는 과정이 …
페이지 정보
작성자 bryanai 작성일 25-01-21 15:42 조회 534 댓글 0본문
비트겟(Bitget) API를 사용하기 위해서는 API Key와 Secret Key를 생성하고 인증하는 과정이 필요합니다.
아래는 API 인증을 위한 HMAC SHA256 서명(Signature) 생성 및 요청 방법을 설명하는 코드입니다.
1️⃣ API Key & Secret 생성
✅ 비트겟 API Key 발급 방법
- 비트겟(Bitget) 웹사이트에 로그인 https://www.bitget.com
- [API 관리] 메뉴로 이동
- 새 API 키 생성 (권한:
읽기(Read)
,거래(Trade)
선택) - API Key, API Secret, Passphrase 저장 (나중에 필요함)
2️⃣ API 인증 방식
비트겟 API는 요청 시 HMAC SHA256
방식으로 **서명(Signature)**을 생성해야 합니다.
요청 헤더 예시
{
"X-BG-APIKEY": "your_api_key",
"X-BG-SIGNATURE": "your_signature",
"X-BG-TIMESTAMP": "your_timestamp",
"X-BG-PASSPHRASE": "your_passphrase"
}
X-BG-APIKEY
: API KeyX-BG-SIGNATURE
: HMAC SHA256 서명X-BG-TIMESTAMP
: 현재 시간 (밀리초)X-BG-PASSPHRASE
: API 생성 시 입력한 패스프레이즈
3️⃣ Python 코드: API 인증 및 계정 잔고 조회
아래 코드는 비트겟 API 인증을 거쳐 계정 잔고를 조회하는 예제입니다.
import requests
import time
import hmac
import hashlib
import base64
import json
# === 비트겟 API 정보 입력 ===
API_KEY = "your_api_key"
API_SECRET = "your_api_secret"
PASSPHRASE = "your_passphrase"
BASE_URL = "https://api.bitget.com"
# === 서명(Signature) 생성 함수 ===
def create_signature(timestamp, method, endpoint, body=""):
message = timestamp + method + endpoint + body
signature = hmac.new(API_SECRET.encode(), message.encode(), hashlib.sha256).hexdigest()
return signature
# === 계정 잔고 조회 함수 ===
def get_balance():
endpoint = "/api/v2/spot/accounts"
url = BASE_URL + endpoint
timestamp = str(int(time.time() * 1000)) # 밀리초 단위 시간
method = "GET"
# 서명(Signature) 생성
signature = create_signature(timestamp, method, endpoint)
headers = {
"X-BG-APIKEY": API_KEY,
"X-BG-SIGNATURE": signature,
"X-BG-TIMESTAMP": timestamp,
"X-BG-PASSPHRASE": PASSPHRASE
}
response = requests.get(url, headers=headers)
if response.status_code == 200:
print("✅ 계정 잔고 조회 성공:", response.json())
else:
print("❌ API 요청 실패:", response.text)
# === 실행 ===
get_balance()
4️⃣ 코드 설명
-
HMAC SHA256 서명 생성
timestamp + method + endpoint + body
조합 후,HMAC SHA256
해시 생성create_signature()
함수에서 처리
-
API 요청 헤더 구성
X-BG-APIKEY
: API Key 포함X-BG-SIGNATURE
: 서명(Signature) 포함X-BG-TIMESTAMP
: 현재 시간(밀리초) 포함X-BG-PASSPHRASE
: API 패스프레이즈 포함
-
잔고 조회 API 요청
get_balance()
함수에서/api/v2/spot/accounts
엔드포인트 호출- 계정의 잔고 정보를 JSON 형태로 반환
5️⃣ 실행 방법
- Python 라이브러리 설치
pip install requests
-
API Key, Secret 입력
API_KEY
,API_SECRET
,PASSPHRASE
를 본인 값으로 변경
-
Python 코드 실행
python bitget_api_auth.py
- 결과 예시 (잔고 조회 성공)
✅ 계정 잔고 조회 성공: {
"code": "00000",
"data": [
{
"asset": "USDT",
"available": "1234.56",
"frozen": "0.00"
},
{
"asset": "BTC",
"available": "0.02",
"frozen": "0.00"
}
]
}
추가 기능 (다른 API 요청)
- ✅ 현재 시세 조회:
/api/v2/market/ticker
- ✅ 거래 주문 실행:
/api/v2/spot/orders
- ✅ 거래 내역 조회:
/api/v2/spot/orders/history
더 추가하고 싶은 기능이 있다면 알려주세요!
자바스크립트
// === Bitget API Info ===
const API_KEY = "your_api_key";
const API_SECRET = "your_api_secret";
const PASSPHRASE = "your_passphrase";
const BASE_URL = "https://api.bitget.com";
const fetch = require("node-fetch");
const crypto = require("crypto");
// === Create Signature Function ===
function createSignature(timestamp, method, endpoint, body = "") {
const message = timestamp + method + endpoint + body;
const signature = crypto.createHmac("sha256", API_SECRET).update(message).digest("hex");
return signature;
}
// === Get Account Balance Function ===
async function getBalance() {
const endpoint = "/api/v2/spot/accounts";
const url = `${BASE_URL}${endpoint}`;
const timestamp = Date.now().toString(); // Milliseconds timestamp
const method = "GET";
// Create Signature
const signature = createSignature(timestamp, method, endpoint);
const headers = {
"X-BG-APIKEY": API_KEY,
"X-BG-SIGNATURE": signature,
"X-BG-TIMESTAMP": timestamp,
"X-BG-PASSPHRASE": PASSPHRASE
};
try {
const response = await fetch(url, { method, headers });
if (response.ok) {
const data = await response.json();
console.log("✅ Account balance fetched successfully:", data);
} else {
const errorText = await response.text();
console.error("❌ API request failed:", errorText);
}
} catch (error) {
console.error("❌ Error fetching account balance:", error);
}
}
// === Execute ===
getBalance();
- 이전글 비트겟(Bitget) API를 사용하여 **시세 조회(Ticker, Order Book, Market Data)**를 구현하는 Python 코드를 작성하겠습니다. --- ## **1. 주요 시세 조회 기능** 1. ✅ **현재 가격 조회 (Ticker)** 2. ✅ **호가(Or
- 다음글 비트겟 RSI & MACD 자동매매 봇 - 비트겟(Bitget) API를 활용한 **자동매매 트레이딩 봇 (RSI & MACD 기반)**을 Python으로 구현하겠습니다.
댓글목록 0
등록된 댓글이 없습니다.