AlgoLab Blog · 실전 가이드 · 2026 최신 화면

바이낸스 API 발급 완벽 가이드 — 모두 놓치는 보안 함정 4가지

바이낸스 2026-05-16 · 약 9분 읽기 · 알고랩 AlgoLab
한 줄 요약 바이낸스 API 발급은 클릭 7번이면 끝납니다. 다만 IP 화이트리스트, 출금 권한, 키 유형, 라벨링 이 4가지를 잘못 설정하면 자산이 위험해집니다. 이 글은 알고랩이 80건+ 바이낸스 봇을 제작하며 만든 발급+보안 체크리스트입니다.

"바이낸스 API 키 발급 자체는 검색하면 5분 만에 알 수 있는데, 왜 이 글이 필요한가?" — 답은 간단합니다. 발급 절차를 검색하면 나오지만, 발급 후 보안 설정의 차이로 자산이 0이 되는 사례가 매달 보고됩니다. 실제로 2024~2025년 바이낸스 한국 사용자 사이에서도 출금 권한을 켠 키가 유출되어 잔고가 인출된 사건이 여러 번 있었습니다.

이 가이드는 2026년 5월 기준 바이낸스 최신 화면을 그대로 따라가며, 각 단계마다 "이 옵션은 왜 이렇게 설정해야 하는지"를 함께 설명합니다. 처음 발급하시는 분은 이대로만 따라하면 안전합니다. 이미 운영 중이신 분도 끝에 정리된 보안 함정 4가지는 꼭 확인하세요.

이 글에서 다루는 것

  1. 발급 전 체크리스트 (KYC · 2FA · 고정 IP)
  2. 1단계 — API 관리 페이지 진입
  3. 2단계 — 키 유형 선택 (HMAC / Ed25519 / RSA)
  4. 3단계 — 키 이름(라벨) 정하기
  5. 4단계 — 권한 설정 (가장 중요)
  6. 5단계 — IP 화이트리스트 등록
  7. 6단계 — Secret 백업 및 저장
  8. 7단계 — Python으로 테스트 호출
  9. 모두 놓치는 보안 함정 4가지
  10. 자주 묻는 질문 (FAQ)

0. 발급 전 체크리스트

API 키 발급을 누르기 전에 다음 3가지가 준비되어 있어야 합니다. 없으면 발급 도중 막힙니다.

💡 한국 사용자 참고: 바이낸스는 2025년부터 한국에서 직접 가입이 제한적입니다. 기존 계정이 있다면 사용 가능하나, 신규 가입은 글로벌 도메인(binance.com) 접속 가능 여부를 먼저 확인하세요. 국내 거주자라면 업비트 또는 빗썸이 더 안정적인 선택입니다.

1API 관리 페이지 진입

로그인 후 우상단 프로필 아이콘 → Account → 좌측 메뉴에서 API Management 클릭. 또는 직접 URL로 이동: binance.com/en/my/settings/api-management

처음 진입 시 2FA 인증 1번 요구됩니다. 인증 완료 후 화면 우측의 "Create API" 버튼이 활성화됩니다.

2키 유형 선택 — HMAC, Ed25519, RSA

"Create API" 클릭 시 키 유형을 묻습니다. 2026년 현재 3가지 선택지가 있습니다.

유형특징2026년 추천
System generated (HMAC SHA-256) 가장 보편적. 모든 SDK 지원. Secret 분실 시 재발급 필요. ✅ 호환성 최우선이면 추천
Ed25519 2024년부터 도입. 서명 속도 약 3배, 키 길이 짧음, 보안 강도 ↑ 2026년 신규 발급 1순위
RSA 일부 기관 SDK 호환용. 일반 봇 운영에는 과스펙. ❌ 특별한 이유 없으면 비추

처음이라면 Ed25519를 선택하세요. python-binance, ccxt 등 메이저 라이브러리 모두 지원합니다.

3키 이름(라벨) 정하기 — "bot"은 금지

다음 화면에서 키 이름을 입력합니다. 흔히 "bot", "trading", "auto" 같은 일반명을 쓰는데, 키가 늘어나면 어떤 게 어디 쓰이는지 모릅니다.

알고랩 권장 네이밍 규칙:

# 형식: [용도]-[자산]-[환경]-[발급월]
ex)
grid-btc-prod-202605
arbitrage-eth-dev-202605
funding-spot-vps01-202605

이렇게 하면 키가 10개 넘어가도 한눈에 구분되고, 사고 발생 시 어느 봇 키인지 즉시 파악됩니다.

4권한 설정 — 가장 중요한 단계

키 생성 직후 권한(Permissions) 화면이 나옵니다. 여기서 잘못 체크하면 보안 사고가 납니다. 최소 권한 원칙(Principle of Least Privilege)이 기본입니다.

권한설명설정
Enable Reading 잔고/주문/시세 조회. 기본 ON, 끌 수 없음. ✅ ON (필수)
Enable Spot & Margin Trading 현물·마진 주문 권한. 현물봇이면 ON
Enable Futures 선물(USDT-M, COIN-M) 주문 권한. 선물봇이면 ON
Permits Universal Transfer 지갑 간 내부 이동(Spot↔Futures). 꼭 필요할 때만 ON
Enable Withdrawals 외부 주소로 출금. 절대 OFF 유지
Symbol Restriction 특정 심볼(예: BTCUSDT)만 거래 허용. 가능하면 ON (해킹 시 피해 최소화)

⚠️ 절대 켜지 말 것: Enable Withdrawals

자동매매 봇에서 외부 출금이 필요한 경우는 거의 없습니다. 이 권한이 켜진 키가 한 번이라도 깃허브, 디스코드, 텔레그램 채팅에 노출되면 봇이 자산을 모두 외부 주소로 송금합니다. 회복 불가능합니다. 정 필요하면 별도 키로 분리하고 출금 화이트리스트(받는 주소)도 함께 등록하세요.

5IP 화이트리스트 등록 — 보안의 핵심

같은 권한 화면 하단에 "Restrict access to trusted IPs only (Recommended)" 옵션이 있습니다. 반드시 체크 후 봇이 돌아갈 IP를 입력하세요.

봇 서버의 외부 IP 확인:

# 봇이 돌아갈 서버에서 실행
curl ifconfig.me
# 또는
curl ipinfo.io/ip

여러 IP를 동시에 등록하려면 콤마로 구분: 1.2.3.4, 5.6.7.8 (최대 20개)

가정용 인터넷이라 IP가 자주 바뀌는 경우

✅ 화이트리스트의 보너스 효과: IP 화이트리스트가 설정된 키는 90일 자동 만료가 적용되지 않습니다. 즉 봇이 90일마다 중단되는 사태를 방지합니다.

6Secret 백업 — 한 번만 보입니다

생성 완료 화면에 API KeySecret Key가 나옵니다. Secret은 이 화면을 닫으면 영원히 다시 볼 수 없습니다(바이낸스 정책상 평문 저장 안 함).

보관 방법(권장 순):

  1. 패스워드 매니저(1Password, Bitwarden) — 가장 안전
  2. VPS 환경변수(.env 파일, .gitignore 필수) — 봇용 표준
  3. 로컬 암호화 파일(age 또는 gpg) — 오프라인 백업

금지: 메모장, 카톡 자기에게 보내기, 코드에 하드코딩, 깃허브 커밋

# .env 예시 (.gitignore 에 .env 추가 필수)
BINANCE_API_KEY=abcd1234...
BINANCE_API_SECRET=wxyz5678...

# Python에서 사용
import os
from dotenv import load_dotenv
load_dotenv()
api_key = os.getenv("BINANCE_API_KEY")
api_secret = os.getenv("BINANCE_API_SECRET")

7Python으로 테스트 호출

발급 직후 키가 제대로 작동하는지, 권한이 의도대로 설정됐는지 확인합니다. python-binance 라이브러리 사용:

pip install python-binance python-dotenv
from binance.client import Client
import os
from dotenv import load_dotenv

load_dotenv()
client = Client(os.getenv("BINANCE_API_KEY"), os.getenv("BINANCE_API_SECRET"))

# 1. 서버 연결 확인
print(client.ping())  # {} 가 나오면 정상

# 2. 계정 정보 조회 (Read 권한 확인)
account = client.get_account()
print("계정 권한:", account.get("permissions"))
# ['SPOT'] 또는 ['SPOT', 'FUTURES'] 등이 나옴

# 3. 잔고 (0 아닌 것만)
balances = [b for b in account["balances"] if float(b["free"]) > 0]
print("보유 자산:", balances)

# 4. (선물봇 한정) 선물 권한 확인
try:
    futures_account = client.futures_account()
    print("선물 잔고:", futures_account["totalWalletBalance"], "USDT")
except Exception as e:
    print(f"선물 권한 없음 또는 오류: {e}")

위 코드가 에러 없이 돌면 발급 성공입니다. get_account()에서 "permissions" 필드가 의도한 권한(SPOT/MARGIN/FUTURES)과 일치하는지 꼭 확인하세요.

모두 놓치는 보안 함정 4가지

함정 1. IP 화이트리스트 없는 키 = 시한폭탄

"개발 단계라 일단 화이트리스트 없이 발급"하는 경우가 흔합니다. 그런데 그 키가 개발자 노트북, 깃허브, 슬랙 채널, 디스코드 봇을 거치며 의도치 않게 노출됩니다. 화이트리스트가 없으면 노출 즉시 해커가 쓸 수 있습니다.

해결: 개발 단계여도 본인 노트북 IP라도 등록하세요. IP는 클릭 1번으로 바꿀 수 있습니다.

함정 2. 한 키로 여러 봇 운영

키 1개로 그리드봇, 차익봇, 알람봇을 모두 돌리면 한 봇에서 에러 났을 때 전체 키 정지(예: rate limit ban)가 다른 봇까지 멈춥니다. 또한 사고 발생 시 어느 봇에서 비롯됐는지 추적이 어렵습니다.

해결: 봇마다 별도 키. 라벨에 봇 이름을 명시(3단계 참고).

함정 3. Secret을 코드 리포에 커밋

가장 흔한 사고 유형. git status.env가 보이는데 무심코 git add .git push. 5분 안에 봇이 해커 자산으로 변신합니다. 깃허브 시크릿 스캐너가 자동으로 노출된 키를 인덱싱하기 때문입니다.

해결:

함정 4. 90일 만료 정책을 잊고 봇 방치

IP 화이트리스트 없는 키는 발급 90일 후 자동 만료됩니다. 봇 운영자는 "어느 날 갑자기 봇이 멈춤" → 로그 확인 → 인증 에러 → 그제서야 만료를 깨닫습니다. 이 사이 매매 기회 손실 또는 손절 미체결로 더 큰 손실 발생.

해결:

발급 후 첫 운영 체크리스트

자주 묻는 질문

Q. KYC 안 하고 API 발급 가능한가요?

불가능합니다. 2024년 이후 바이낸스는 KYC 레벨 1 완료 계정만 API 메뉴 접근이 허용됩니다.

Q. 키 발급에 비용이 드나요?

무료입니다. 계정당 최대 30개까지 발급 가능. 거래 수수료는 별도(BNB 보유 시 25% 할인).

Q. API 키가 만료되면 봇이 멈추나요?

IP 화이트리스트가 설정된 키는 만료되지 않습니다. 화이트리스트 없는 키만 90일 후 자동 만료입니다. 만료를 막으려면 처음부터 IP 등록을 권장합니다.

Q. 미국 IP에서 한국 IP로 옮기면 화이트리스트는 어떻게 하나요?

API Management → 해당 키 → Edit → 새 IP 추가/삭제. 변경 시 2FA 재인증 요구됩니다. 봇 IP가 바뀔 가능성이 있다면 미리 여러 IP를 등록해두면 됩니다.

Q. 출금 권한 안 켜면 정말 안전한가요?

출금은 막히지만 거래로 자산을 망가뜨릴 수 있습니다(예: 의도적으로 큰 슬리피지 주문). Symbol Restriction을 함께 켜면 안전성이 한 단계 더 올라갑니다.

Q. Ed25519와 HMAC 중 무엇을 쓰면 좋나요?

2026년 신규 발급은 Ed25519 추천. 서명 속도가 3배 빠르고 키 길이가 짧으며, 메이저 SDK(python-binance, ccxt)는 모두 지원합니다. 기존에 HMAC 코드를 다 만들어둔 상태면 굳이 바꿀 필요는 없습니다.

마무리

바이낸스 API 발급 자체는 어렵지 않지만, 발급 후 보안 설정의 차이가 봇의 생존을 결정합니다. 위 4가지 함정만 피해도 알고랩이 80건+ 제작하며 본 사고의 90% 이상이 예방됩니다.

이미 발급된 키가 있다면 지금 바로 API Management로 가서:

이 3가지만 점검하셔도 즉시 보안 수준이 올라갑니다.

바이낸스 봇 맞춤 제작

API 발급부터 보안 설정, 24시간 무중단 운영까지 — 알고랩이 통합 패키지로 제작합니다.
24시간 빠른 답변 가능합니다.

무료 상담 시작하기