비트겟 자동매매 봇 제작
비트겟(Bitget)은 USDT 선물·현물·카피트레이딩에 강점이 있는 글로벌 거래소입니다. Bybit·바이낸스와 유사한 REST + WebSocket 구조로, 알고랩 표준 코드베이스를 그대로 활용해 빠르게 봇을 제작할 수 있습니다.
한 줄 요약
Bitget API v2에서 봇이 실제로 막히는 지점은 셋입니다.
① 인증 헤더가 4개 — ACCESS-KEY·ACCESS-SIGN·ACCESS-TIMESTAMP·ACCESS-PASSPHRASE(바이낸스·바이비트에는 없는 Passphrase가 추가로 필요).
② 서명은 Base64 — timestamp + METHOD + requestPath + queryString + body를 HMAC-SHA256으로 만든 뒤 hex가 아니라 Base64로 인코딩합니다. 여기서 틀리면 40009(sign signature error)가 뜹니다.
③ HTTP 200이어도 실패일 수 있습니다 — 응답의 code가 "00000"일 때만 성공이므로 상태코드만 보고 넘어가면 주문이 안 들어간 걸 모릅니다.
비트겟 자동매매 주요 유형
- USDT 무기한 선물 트렌드 추종 — BTC·ETH 등 대형 코인 추세 매매
- 그리드 봇 — 횡보 코인 일정 간격 매수·매도
- 현물 + 선물 헤지 — 현물 보유 + 선물 숏으로 위험 중립
- 카피트레이딩 자동 추종 — 비트겟 카피트레이딩 시그널을 자체 봇 로직과 결합
- 트레이딩뷰 웹훅 연동 — Pine Script 시그널 → 비트겟 실거래 자동 전달
- 거래소 간 차익거래 — 비트겟 ↔ 바이낸스·바이비트 가격차 활용
기술 구조
| 항목 | 사양 |
|---|---|
| API 문서 | 공식 www.bitget.com/api-doc (v2). 구 bitgetlimited.github.io/apidoc는 v1 문서 |
| 인증 | API Key + Secret + Passphrase + HMAC-SHA256 서명 (Base64 인코딩) |
| 언어 | Python 3.10+ 64bit, requests / websockets / aiohttp |
| 상품 | USDT-M 선물, Coin-M 선물, 현물, 카피트레이딩 |
| Rate Limit | 엔드포인트별 상이 (주문 초당 10~20회 안팎) |
| WebSocket | Public: 시세·호가·체결 / Private: 주문·체결·잔고 |
| 테스트넷 | demo trading 환경 제공 |
비트겟 고유 특징 — Passphrase 인증: 비트겟 API는 일반적인 API Key + Secret 외에 Passphrase가 추가로 필요합니다. 알고랩은 이를 안전하게 환경변수로 분리해 운영합니다.
핵심 기능 구성 요소
- Passphrase 인증 자동 처리: 3개 시크릿(Key+Secret+Passphrase) 안전 관리
- Multi-product 라우팅: 선물·현물 자동 분기
- WebSocket 재연결: 끊김 자동 복구 + 누락 메시지 보정
- 포지션 모드: One-Way / Hedge 모드 자동 설정
- 레버리지·마진 타입: Isolated/Cross 자동 설정
- 리스크 관리: 포지션당 최대 손실, 일일 한도, 레버리지 상한
- 알림: 텔레그램 진입·청산·청산위험 즉시 알림
Bitget API v2는 실제로 어떻게 호출하나
비트겟 봇 제작에서 시간을 가장 많이 잡아먹는 구간은 전략이 아니라 첫 인증입니다. 바이낸스·바이비트를 다뤄 본 사람도 여기서 한 번은 막힙니다. 아래는 실제로 무엇이 다른지입니다.
① 인증 헤더는 4개다 — Passphrase가 추가된다
바이낸스는 X-MBX-APIKEY 하나, 바이비트는 키·타임스탬프·서명 조합이면 되지만, 비트겟은 OKX 계열이라 API Key 생성 시 직접 정한 Passphrase가 헤더로 함께 들어갑니다. 이 값을 잃어버리면 키를 다시 만드는 수밖에 없습니다. 키·시크릿·Passphrase 세 값의 보관 원칙은 API 키 보안과 계좌 보호를 참고하십시오.
| 헤더 | 값 |
|---|---|
ACCESS-KEY | API Key |
ACCESS-SIGN | 서명 — Base64 문자열 |
ACCESS-TIMESTAMP | 밀리초 단위 유닉스 시각 |
ACCESS-PASSPHRASE | 키 생성 시 정한 문구 |
Content-Type | application/json |
② 서명은 hex가 아니라 Base64다
공식 문서 기준 서명 대상 문자열은 timestamp + method.toUpperCase() + requestPath + "?" + queryString + body이고, 이것을 secretKey로 HMAC-SHA256한 뒤 Base64로 인코딩합니다. 바이비트처럼 hexdigest()를 쓰면 그대로 서명 오류가 납니다.
import base64, hashlib, hmac, json, time, requests
BASE = "https://api.bitget.com"
def sign(secret, timestamp, method, request_path, query="", body=""):
prehash = timestamp + method.upper() + request_path
if query:
prehash += "?" + query
prehash += body
mac = hmac.new(secret.encode(), prehash.encode(), hashlib.sha256)
return base64.b64encode(mac.digest()).decode() # ★ hex 아님
def headers(api_key, secret, passphrase, method, path, query="", body=""):
ts = str(int(time.time() * 1000)) # ★ 밀리초
return {
"ACCESS-KEY": api_key,
"ACCESS-SIGN": sign(secret, ts, method, path, query, body),
"ACCESS-TIMESTAMP": ts,
"ACCESS-PASSPHRASE": passphrase,
"Content-Type": "application/json",
"locale": "en-US",
}
함정 — 본문을 두 번 직렬화하면 서명이 어긋납니다. 서명에 넣은 body 문자열과 실제로 전송하는 본문이 한 글자라도 다르면 40009가 납니다. json.dumps()를 서명용으로 한 번, 전송용으로 또 한 번 부르면 공백·키 순서가 달라질 수 있습니다. 문자열을 한 번만 만들어 두 곳에 같은 값을 쓰십시오.
body = json.dumps(payload) # ★ 한 번만 만든다
h = headers(KEY, SECRET, PASSPHRASE, "POST", path, body=body)
res = requests.post(BASE + path, headers=h, data=body, timeout=10) # data=body
③ 잔고 조회 — 요청과 응답 실물
path = "/api/v2/mix/account/accounts"
query = "productType=USDT-FUTURES"
h = headers(KEY, SECRET, PASSPHRASE, "GET", path, query=query)
res = requests.get(f"{BASE}{path}?{query}", headers=h, timeout=10)
print(res.json())
{
"code": "00000",
"msg": "success",
"requestTime": 1754700000000,
"data": [
{ "marginCoin": "USDT", "available": "1000.00", "locked": "0",
"crossedMaxAvailable": "1000.00", "unrealizedPL": "0" }
]
}
④ 선물 주문 — productType을 빼먹지 말 것
path = "/api/v2/mix/order/place-order"
payload = {
"symbol": "BTCUSDT",
"productType": "USDT-FUTURES", # ★ v2에서 필수
"marginMode": "isolated",
"marginCoin": "USDT",
"size": "0.001",
"side": "buy",
"orderType": "limit",
"price": "60000",
"force": "gtc",
}
body = json.dumps(payload)
h = headers(KEY, SECRET, PASSPHRASE, "POST", path, body=body)
res = requests.post(BASE + path, headers=h, data=body, timeout=10)
data = res.json()
if data.get("code") != "00000": # ★ 200이어도 실패일 수 있다
raise RuntimeError(f"주문 실패: {data.get('code')} {data.get('msg')}")
print(data["data"]["orderId"])
HTTP 200을 성공으로 읽지 마십시오. 비트겟은 요청이 서버에 닿기만 하면 200을 돌려주고, 실제 성패는 본문의 code에 담깁니다. "00000"만 성공입니다. res.raise_for_status()만 걸어 두고 넘어가면 봇은 주문을 넣었다고 믿는데 실제로는 아무것도 안 들어간 상태가 됩니다. 이 확인을 빼먹은 봇은 포지션 수량 계산부터 어긋나기 시작합니다.
⑤ 자주 만나는 에러코드
| 코드 | 뜻 | 먼저 볼 것 |
|---|---|---|
40009 | sign signature error | Base64 인코딩 여부 · 서명 문자열 순서 · 본문 이중 직렬화 |
| 인증 계열 | 키·Passphrase 불일치 | ACCESS-PASSPHRASE 오타, 데모/실거래 키 혼용 |
| IP 계열 | 허용 IP 밖에서 호출 | API Key의 IP 화이트리스트에 서버 공인 IP 등록 |
| 파라미터 계열 | 필수값 누락 | productType·marginCoin·marginMode 확인 |
에러코드의 정확한 목록과 의미는 공식 API 문서에서 최신 값을 확인하십시오. 거래소 에러코드는 버전 전환 시 함께 바뀝니다. 서명 오류를 잡는 절차는 HTX API 서명 오류 5가지와 접근 방식이 같습니다 — 서명 문자열을 그대로 출력해 눈으로 대조하는 것이 가장 빠릅니다.
확인 캐치. 위 서명 방식·헤더·응답 형식은 2026년 8월 9일 기준 비트겟 공식 API 문서(www.bitget.com/api-doc)의 v2 규격을 근거로 정리했습니다. 엔드포인트·파라미터·수수료·호출 한도는 거래소 사정으로 예고 없이 변경될 수 있으므로 구현 전 공식 문서에서 반드시 확인하십시오. 본 페이지는 특정 종목·수익률에 대한 어떤 예측이나 권유도 담고 있지 않습니다.
제작 비용·기간 가이드
| 유형 | 예상 비용 | 제작 기간 |
|---|---|---|
| 단일 심볼 지표 기반 봇 | 80~150만원 | 7~10일 |
| 다중 심볼 + 리스크 관리 | 150~250만원 | 10~14일 |
| 그리드 봇 (선물·현물) | 200~350만원 | 14~20일 |
| 카피트레이딩 자동 추종 + 자체 로직 | 300~500만원 | 18~25일 |
| 바이낸스·바이비트 차익거래 | 350~600만원 | 21~30일 |
📖 더 자세히: 비트겟(Bitget) 자동매매 완전 가이드 — API 발급(Passphrase 인증)부터 선물·현물·그리드·카피트레이딩까지 총정리한 글입니다.
자주 묻는 질문
바이비트·바이낸스와 비교해 비트겟이 나은 점은?
카피트레이딩 시장이 활성화되어 있어 다른 트레이더 시그널을 활용한 자동매매가 가능합니다. 수수료도 경쟁력 있고 한국 사용자 가입·인증 절차가 비교적 단순합니다.
Passphrase가 추가로 필요한 이유는?
비트겟은 OKX와 유사한 보안 정책을 사용해 API Key + Secret + Passphrase 3중 인증을 요구합니다. 알고랩은 .env 파일이나 OS 환경변수로 안전 분리합니다.
카피트레이딩 시그널을 봇과 결합할 수 있나요?
API로 카피트레이딩 진입·청산 이벤트를 받아 자체 리스크 로직과 결합한 하이브리드 봇 제작이 가능합니다. 단순 추종이 아닌 '신호 + 본인 필터' 구조 권장.
데모(테스트) 환경에서 검증 가능한가요?
비트겟은 별도 demo trading 계정을 제공해 가상 자금으로 검증 가능합니다. 알고랩 봇은 설정 토글로 demo ↔ 실거래 전환되게 제작합니다.
제작 사례
비트겟 자동매매 제작 사례는 포트폴리오에서 확인하실 수 있습니다.