본문 바로가기
카테고리 없음

🚀 업비트 API Docs 완벽 가이드 – 개발자를 위한 사용법 & 예제

by silvertener 2025. 3. 11.

 


 

 

 


🔥 1. 업비트 API란?

업비트(Upbit)는 대한민국 최대 암호화폐 거래소 중 하나로, **공식 API(Application Programming Interface)**를 제공하여 사용자가 자동매매, 시세 조회, 주문 관리, 거래 내역 확인 등을 자동화할 수 있도록 지원합니다.

업비트 API를 활용하면 프로그래밍을 통해 수동 주문을 자동화하거나, 특정 조건이 충족될 때 자동으로 매매를 실행할 수 있습니다.

✅ 업비트 API 주요 기능:

  • 📊 실시간 시세 조회 (비트코인, 이더리움 등 암호화폐 가격 확인)
  • 💰 계좌 잔액 조회 (보유 코인 및 원화 잔액 조회)
  • 🛒 주문 실행 및 취소 (매수 및 매도 주문 자동화)
  • 📜 거래 내역 확인 (과거 거래 내역 분석)

 


📡 2. 업비트 API 종류

업비트는 RESTful API 방식을 제공하며, 크게 4가지 유형으로 나뉩니다.

API 유형 설명 인증 필요 여부

📡 시세 조회 API 현재가, 호가, 캔들 데이터 조회 ❌ 불필요
🏦 계좌 조회 API 보유 자산 및 잔고 조회 ✅ 필요
💳 주문 API 매수, 매도 주문 실행 ✅ 필요
📄 거래 내역 API 거래 완료 기록 확인 ✅ 필요

🛠 3. 업비트 API 키 발급 방법

업비트 API를 사용하려면 API 키를 발급받아야 합니다.

📌 API 키 발급 절차

  1. 업비트 계정 로그인업비트 공식 사이트 접속
  2. "마이페이지" → "Open API 관리" 이동
  3. 새로운 API 키 발급하기 (읽기/쓰기 권한 설정 가능)
  4. Access Key & Secret Key 저장 (비밀번호처럼 안전하게 보관해야 함)

🔔 주의: API 키가 유출되면 해킹 위험이 있으므로, 절대 공유하지 마세요.


🏗 4. 업비트 API 사용 예제 (Python)

🧐 4.1 시세 조회 API 사용

import requests

url = "https://api.upbit.com/v1/ticker?markets=KRW-BTC"
response = requests.get(url)
data = response.json()

print("현재 비트코인 가격:", data[0]['trade_price'], "KRW")

설명: KRW-BTC(비트코인/원화) 시세 정보를 가져옵니다.


🏦 4.2 계좌 잔액 조회 API 사용

import jwt
import uuid
import requests
from urllib.parse import urlencode

access_key = "YOUR_ACCESS_KEY"
secret_key = "YOUR_SECRET_KEY"

payload = {
    'access_key': access_key,
    'nonce': str(uuid.uuid4()),
}

jwt_token = jwt.encode(payload, secret_key, algorithm='HS256')
headers = {"Authorization": f"Bearer {jwt_token}"}

url = "https://api.upbit.com/v1/accounts"
response = requests.get(url, headers=headers)
print(response.json())

설명: API 키를 사용하여 업비트 계좌의 잔액을 조회합니다.


📈 4.3 매수 주문 실행 API 사용

import time
import hashlib

order_data = {
    "market": "KRW-BTC",
    "side": "bid",
    "volume": "0.01",
    "price": "50000000",
    "ord_type": "limit",
}

query_string = urlencode(order_data).encode("utf-8")
m = hashlib.sha512()
m.update(query_string)
query_hash = m.hexdigest()

payload["query_hash"] = query_hash
payload["query_hash_alg"] = "SHA512"

jwt_token = jwt.encode(payload, secret_key, algorithm='HS256')
headers["Authorization"] = f"Bearer {jwt_token}"

order_url = "https://api.upbit.com/v1/orders"
response = requests.post(order_url, headers=headers, data=order_data)

print(response.json())

설명: 1BTC = 50,000,000 KRW 가격으로 0.01 BTC를 매수하는 주문을 실행합니다.


🚀 5. 업비트 API 활용 꿀팁

📌 5.1 API 요청 속도 제한

  • 업비트는 초당 10~30회의 요청 제한이 있음
  • time.sleep(0.1)을 활용하여 딜레이 적용 추천

🔐 5.2 API 키 보안 강화

  • API 키를 .env 파일이나 환경 변수로 관리 (코드에 직접 입력 ❌)
  • "읽기 전용" API 키를 따로 발급하여 최소한의 권한만 부여

📊 5.3 데이터 분석 및 자동매매

  • Pandas, NumPy 등을 활용하여 시세 데이터 분석
  • 업비트 웹소켓 API를 사용하면 실시간 시세 데이터 수집 가능

📢 6. 결론 – 업비트 API로 자동매매 시작하자!

업비트 API를 활용하면 비트코인, 이더리움 등 다양한 코인의 실시간 시세 조회 및 자동 거래가 가능합니다.

✅ 요약

✔ 업비트 API는 시세 조회, 주문, 계좌 조회 등 다양한 기능 제공
✔ API 키를 발급받아 Python 등 프로그래밍 언어로 활용 가능
✔ 자동매매, 시세 분석 등을 통해 효율적인 트레이딩 가능

🚀 지금 바로 업비트 API를 활용하여 자동매매 시스템을 만들어보세요!

📩 질문이나 의견이 있다면 댓글로 남겨주세요! 😊