2025 바이낸스 api 사용법 총정리! (발급부터 자동매매까지)

바이낸스 api 사용법에 대해 궁금해하시는 분들이 많습니다. 이번 글에서는 바이낸스 api 발급, 바이낸스 api 출금 등 바이낸스 api를 어떻게 사용하는지 알아보도록 하겠습니다.

바이낸스 api란?

api란 Application Programming Interface의 줄임말로, 바이낸스에서 서비스하고 있는 프로그래밍 인터페이스 인데요.

바이낸스 파이썬을 통해 프로그래밍 코드를 작성하면 실시간으로 자동매매, 입출금 등의 기능을 구현할 수 있습니다.

바이낸스 api 사용법

먼저 아래 링크를 통해서 가입하시면 거래 수수료 할인이 가능합니다.

🤑 바이낸스 10% 할인 가입하기

바이낸스 api 발급 방법

1. 바이낸스 사이트에 접속하여 로그인해줍니다.

2. 우측 위 사람 모양 버튼 클릭, 하단 메뉴의 Account를 클릭합니다.

바이낸스 api 발급 방법

3. 들어가시면 왼쪽 메뉴에 Account 아래 API Managemant라고 있습니다. 클릭해주세요.

바이낸스 api 발급 방법

4. 경고창이 뜨는데, 바이낸스 API에 대한 안내가 나옵니다. API key Terms of Use.를 클릭해서 한번은 읽어보시기 바랍니다. I agree를 클릭해줍니다.

바이낸스 api 발급 방법

5. 오른쪽 상단에 있는 Create API를 클릭합니다.

바이낸스 api 발급 방법

위 사진의 글을 해석하면 아래와 같습니다.

API 관리 (API Management)

  1. 각 계정은 최대 30개의 API 키를 생성할 수 있습니다.
  2. API Key, Secret Key (HMAC), Private Key (Ed25519, RSA) 는 절대 타인에게 공유하지 마세요. 자산 손실의 원인이 될 수 있습니다.
  3. 신뢰할 수 있는 IP 주소만 접근 가능하도록 제한하는 것을 권장합니다.
  4. KYC(신원 인증) 을 완료하지 않으면 API Key를 생성할 수 없습니다.

체크박스 문구 : 이 박스를 선택하면, 마스터 계정과 하위 계정의 모든 기존 API Key가 기본 보안 설정(Default Security Controls)에 적용됩니다.

6. API 키타입을 골라야 하는데, 처음 하시는 분들은 System generated 방식을 선택해줍니다.

바이낸스 api 발급 방법

7. 원하는 API 이름을 입력해줍니다.

바이낸스 api 발급 방법

8. Security Verifacation 과정을 진행해줍니다. Passkey와 얼굴 인증을 진행해야 합니다.

바이낸스 api 발급 방법

8. API key, Secret Key를 복붙해둡니다. 특히 Secret Key의 경우 처음 접속한 경우 외에는 나타나지 않으니 꼭 저장해두시길 바랍니다.

바이낸스 api 발급 방법

9. API 권한을 설정해줍니다. 위 사진에서 표시된 사항을 설명해드리면 아래와 같습니다.

API 키 정보

  • HMAC lever1000
    → HMAC 방식으로 생성된 API 키이며, 이름(라벨)은 ‘lever1000’입니다.
  • QR 코드
    → 외부 앱이나 봇에서 이 API 키 주소를 스캔해 연결할 때 사용합니다.
  • API Key / Secret Key
    → 거래 프로그램이 거래소 계정에 접근할 때 사용하는 인증키입니다.
    절대 타인에게 공유하지 않아야 하며, 노출 시 자산이 탈취될 수 있습니다.

API 권한 설정 (API Restrictions)

현재 이 API 키에 허용된 기능입니다.

  • Enable Reading (활성화됨) → 계정 정보나 거래내역을 조회(Read) 할 수 있음.
  • Enable Spot & Margin Trading → 현물·마진 거래 기능을 API로 실행할 수 있음.
  • Enable Futures → 선물 거래 가능.
  • Enable Margin Loan, Repay & Transfer → 마진 대출, 상환, 자금 이동 가능.
  • Enable European Options → 유럽식 옵션 거래 가능.
  • Permits Universal Transfer → 지갑 간 자금 이체 허용.
  • Enable Withdrawals → 출금 기능 허용 (가장 위험하므로 일반적으로 비활성화).
  • Enable Symbol Whitelist → 특정 심볼만 허용하는 화이트리스트 설정.

현재 화면에서는 Enable Reading만 체크되어 있으므로, 이 API 키는 읽기 전용(Read-only) 으로 만들어져 있습니다. (가장 안전한 상태입니다.)

IP 접근 제한 (IP Access Restrictions)

  • Unrestricted (Less Secure)
    → 현재 이 API 키는 모든 IP 주소에서 접근이 가능한 상태입니다.
    보안 경고문이 붉은색으로 표시된 이유는 이 설정이 권장되지 않기 때문입니다.
  • Restrict access to trusted IPs only (추천)
    → 특정 IP 주소만 허용하도록 제한하는 옵션입니다.
    보안을 위해 일반적으로 이 설정을 활성화하는 것이 좋습니다.

경고 문구: “이 API 키는 어떤 IP에서도 접근이 가능합니다. 이는 권장되지 않습니다. 자금의 안전을 위해, IP 제한이 없고 Read 이외의 권한이 허용된 경우,해당 API 키는 삭제될 수 있습니다.”

그럼 API 발급이 완료되었습니다. 이제 원하시는대로 사용하시면 됩니다.

바이낸스 API 자동매매 방법

바이낸스 자동매매에 필요한 준비물은 다음과 같습니다.

  • 바이낸스 api
  • 자동매매 봇 프로그램

개인마다 선호하는 프로그램이 다르지만, 저는 트레이딩훅 을 추천드립니다.

  • 트레이딩뷰 파인스크립트

자동매매를 어떤 기준으로 구현할지 결정할 전략이라고 보시면 됩니다. 가격이 비쌀 수록 수익률이 좋은 전략인 경우가 많았습니다. 다만 꼭 그런 건 아닙니다. 그러나 가격이 비쌀 수록 많은 자본이 투입되었거나 많은 사람들이 이미 앞에 사용한 경우가 많습니다.

  • 클라우드(리눅스)

바이낸스 선물거래 자동매매 코드는 아래를 참고하시면 됩니다.

선물 과거 자료 코드

with open("../account.txt") as f:
    lines = f.readlines()
    api_key = lines[0].strip()
    api_secret = lines[1].strip()


from binance.client import Client
client = Client(api_key=api_key, api_secret=api_secret)
data = client.futures_historical_klines(
    symbol="BTCUSDT",
    interval='1d',
    start_str='2021-01-01',
    end_str="2021-11-26"
)
print(data)

선물 현재 가격 코드

with open("../account.txt") as f:
    lines = f.readlines()
    api_key = lines[0].strip()
    api_secret = lines[1].strip()


from binance.client import Client
client = Client(api_key=api_key, api_secret=api_secret)
price = client.futures_symbol_ticker(symbol="BTCUSDT")
print(price)

선물 오더북 코드

with open("../account.txt") as f:
    lines = f.readlines()
    api_key = lines[0].strip()
    api_secret = lines[1].strip()


from binance.client import Client
client = Client(api_key=api_key, api_secret=api_secret)
orderbook = client.futures_order_book(symbol='BTCUSDT')
print(orderbook.keys())

선물 주문 코드

with open("../account.txt") as f:
    lines = f.readlines()
    api_key = lines[0].strip()
    api_secret = lines[1].strip()


from binance.client import Client
client = Client(api_key=api_key, api_secret=api_secret)
order = client.futures_create_order(
    symbol="XRPUSDT",
    type="LIMIT",
    timeInForce='GTC',
    price=0.85,
    side='BUY',
    quantity=10
)
print(order)

바이낸스 API 출금 방법

바이낸스 api 출금 코드

바이낸스 api 출금

바이낸스 api 출금 코드는 아래와 같습니다.

from binance.client import Client
from binance.exceptions import BinanceAPIException

api_key = "본인의 바이낸스 API키"
api_secret = "본인의 바이낸스 시크릿키"

client = Client(api_key=api_key, api_secret=api_secret)

result = client.withdraw(coin= '코인', amount=수량, address="출금주소", network='체인')

#ex)result = client.withdraw(coin= 'USDT', amount=100, address="출금주소", network='BSC')

일단 아래와 같이 터미널에서 바이낸스 파이썬 모듈을 다운받아옵니다.

pip install python-binance

코드를 살펴보면, 우선 바이낸스 모듈을 import 해옵니다.

from binance.client import Client
from binance.exceptions import BinanceAPIException

api_key = "본인의 바이낸스 API키"
api_secret = "본인의 바이낸스 시크릿키"

그리고 api_key, api_secret 변수를 선언해 본인의 바이낸스 api 키와 시크릿 키를 저장해두는데요. 시크릿 키는 api 발급할 때 이후로는 찾을 수 없으니 주의하셔야 합니다.

그런 다음 client 함수를 설정하여 본인의 api키와 시크릿키를 연동시켜 줍니다.

client = Client(api_key=api_key, api_secret=api_secret)

result = client.withdraw(coin= '코인', amount=수량, address="출금주소", network='체인')

출금해주는 withdraw 함수에는 출금 코인 종류 및 수량, 출금 주소 및 출금 체인 정보가 포함되어 있습니다.

체인의 경우 이더리움 – ETH, 아비트럼 – ARB, 트론 – TRX 같은 방식으로 입력해주시면 출금 코드 작성이 완료됩니다.

API 예제(24년 버전)

현재 원화 잔고 출력 코드

import ccxt

with open("key/bithumb_key.txt") as f:
    lines = f.readlines()
    connect_key = lines[0].strip()
    secret_key = lines[1].strip()

exchange = ccxt.bithumb(config={
    'apiKey': connect_key,
    'secret': secret_key,
    'enableRateLimit': True
    }
)

# balance
balance = exchange.fetch_balance()
krw_balance = balance['KRW']
print(krw_balance['total'])

바이낸스 api key – 계좌 접속 코드

import os
from binance.client import Client

api_key = os.getenv('Binan_API_KEY')
api_secret = os.getenv('Binan_SECRET_KEY')

client = Client(api_key, api_secret)

# Get asset balance
balance = client.get_asset_balance(asset='XRP')
print('XRP balance :', balance)

바이낸스 선물 매수 및 매도 예제 코드

def order(symbol, side, quantity)-> int:
    now = rq.get('https://api.binance.com/api/v3/time').json()['serverTime']  # 현재 시점
    if quantity >= 10:
        quantity = str(int(quantity))
    else:
        quantity = str(quantity)
        quantity = quantity[:5]
        if quantity.endswith('.'):
            quantity = quantity[:-1]
    if side == 1:
        side = 'BUY'
    else:
        side = 'SELL'
    message = f'symbol={symbol}&side={side}&type=MARKET&quantity={quantity}&timestamp={now}'
    signature = hmac.new(key=SECRET_KEY.encode('utf-8'), msg=message.encode('utf-8'),
                 digestmod=hashlib.sha256).hexdigest()
    url = f'{URL}/fapi/v1/order?{message}&signature={signature}'
    result = rq.post(url, headers = headers)
    return result.status_code
		
symbol = 'IOTAUSDT'
side = 'SELL'  # or BUY
quantity = 20
status_code = order(symbol, side, quantity)
print(status_code)

바이낸스 자동매매 후기

자동매매 후기가 궁금하신 분들은 아래 글을 참고하시기 바랍니다.

최근에는 이런 복잡한 과정 없이 바이낸스에 있는 기능을 사용해서 만든 봇으로 거래해서 괜찮은 수익을 내는 분들도 많아졌습니다. 추후에 포스팅 해보겠습니다.

바이낸스 사용법

지금까지 정리해둔 모든 거래소 사용법들과 QNA를 보기 편하게 노션으로 모아두었습니다. 즐겨찾기 해두시고 사용하시기 바랍니다.

코인 거래소 사용법 확인하기

Leave a Comment