안녕하세요. 경제 전문가 로런스입니다. 본 글에서는 업비트에서 제공하고 있는 업비트 API에 대해 알아보고, 이를 활용하여 어떤 기능을 구현할 수 있을지 알아보겠습니다.
* '업이썬' 컨텐츠란 업비트+파이썬의 합성어로 파이썬과 업비트 API를 이용하여 어떤 기능을 구현할 수 있을지 탐구하는 컨텐츠입니다. 질문 댓글 환영합니다.
1. Upbit API
국내 최대 가상화폐 거래소 Upbit에서는 개발자들을 위해 API를 제공하고 있습니다. 현재 업비트 API(v1.4.1)에서 제공하고 있는 API는 크게 Exchange API와 Quotation API로 구분할 수 있습니다.
- Exchange API: 자산, 주문, 출금,입금, 서비스 정보 등의 항목을 포함
- Quotation API: 시세 종목 조회, 시세 캔들 조회, 시세 체결 조회, 시세 현재가 조회, 시세 호가 정보 조회 등의 항목을 포함
업비트 API 서비스는 두나무가 제공하는 연결모듈로서, 위 API를 통해 사용자가 직접 제작하거나 제공하는 웹 서비스, 모바일 애플리케이션 및 기타 응용 프로그램을 업비트 시스템에 연결하여 시세 및 잔고 조회, 주문, 입출금을 실행할 수 있습니다. 즉, 우리는 업비트 홈페이지나 앱이 아니라 직접 만든 프로그램에서 업비트 계좌를 통해 주문을 넣고 입출금을 실행할 수 있다는 것이죠.
2. 그래서 API로 뭘 할 수 있는데?
사실, 업비트 API에서 제공하는 정보로 할 수 있는건 정말 무한합니다. 가장 대표적인 활용은 API를 통해 가상화폐 자동 매매 시스템을 구축하여 우리가 잠을 자거나, 일을 하거나, 기타 가상화폐 거래를 하기 어려울 때 프로그램을 통해 자동으로 매매할 수 있습니다. 세계적인 투자자 워렌 버핏은 "잠자는 동안에도 돈이 들어오는 방법을 찾아내지 못한다면 당신은 죽을 때까지 일을 해야만 할 것이다" 라는 명언을 남기기도 하였는데, 업비트 자동 매매를 통해 잠자는 동안에도 돈이 들어오게 구현해 낼 수 있습니다.
또한 조건 검색, 시세 포착 시스템을 구축하여 내가 원하는 가상 화폐가 특정 가격이 왔을 때 알림을 보내거나, 어떤 프로세스를 수행하게끔 할 수 있습니다. 가장 대표적인 사례로는 김프(김치 프리미엄)가 일정 수준을 초과하였을 때 해외 거래소에서 국내 거래소로 코인을 자동 송금하여 이익을 내는 프로그램이 있습니다.
3. 주의사항
두나무는 사용자가 Open AI 서비스를 사용한 프로그램 등으로 인하여 발생하는 모든 결과에 책임을 지지 않으며, 그 책임은 사용자에게 있습니다.
당연한 얘기겠지만 자동 매매 프로그램을 만들었는데 오류가 발생하여 손실을 입었다면 100% 본인 책임입니다. 그렇기에 자동 매매 프로그램을 제작하고 운용할 때에는 오류가 나지 않도록 수차례 검증하고, 오류 발생 시 바로 중지할 수 있는 기능을 제작하시는게 좋습니다.
# 오류로 인한 손실 사례 1
직장인 A씨는 자동매매 프로그램을 가동해놓고 출근하였다. 하지만 프로그램을 제작하며 예상하지 못했던 변수가 발생했고, 프로그램은 1분에 수십번씩 같은 코인을 사고 파는 행위를 반복하였다. A씨는 직장에서 풀시드의 80%가량이 수수료로 지출되는 것을 멍하지 지켜볼 수 밖에 없었다.
마지막으로, API에 요청 수 제한이 있어 무제한으로 시세, 주문 등을 요청할 수 없습니다. 요청 수 제한은 다음과 같습니다.
- Exchange API: 주문 요청 초당 8회, 주문 요청 외 API 초당 30회
- Quotation API: WebSocket 연결: 초당 5회, WebSocket 데이터 요청: 초당 5회, 분당 100회
- REST API: 초당 10회
아마 헤비 유저가 아니라면 요청 수 제한 때문에 문제를 겪을 일은 없을 것 같네요. 만약 잔여 요청 수를 확인하고 싶다면 Remaining-Req 응답 헤더를 통해 확인 가능합니다.