뉴스Q

거래 전용 API는 레스트, 호가창 조회 API는 웹소켓 방식

[거래소 톺아보기] ⑧ API 거래란?..."정확한 타이밍에 빠른 거래 가능"

2021. 05. 12 by 함지현
출처=Unsplash
출처=Unsplash

API 거래. 암호화폐 투자를 좀 해본 사람이라면 한 번쯤 들어봤을 단어다. 암호화폐 거래소의 오픈 API를 따서 이를 봇으로 개발해 자동 거래하는, 일종의 시스템 트레이딩이다. 

오픈 API는 기업이 제공하는 서비스나 정보를 외부에서 활용할 수 있도록 공개한 연결통로를 의미한다. 이용자는 이를 통해 제3의 애플리케이션이나 서비스를 개발할 수 있다. 

대다수의 암호화폐 거래소들이 예약 매수·매도 기능을 제공하고 있지만, 이용자가 매수와 매도창에서 주문을 각각 넣어야 한다. 이와 달리 API 거래는 이용자가 설정한 알고리듬에 따라 거래가 체결된다.

특히 거래소에 따라 다르지만, 초당 여러 번의 거래를 발생시킬 수 있어 보다 정교한 거래를 원하는 이용자들이 API 거래를 선호한다.

API 거래를 사용하려면 개인 API 키를 거래소로부터 발급 받아야 한다. 사용자는 개인 API 키로 접근할 수 있는 권한(매수, 매도, 이체 등)을 각각 설정할 수 있다.  

해당 키가 없으면 거래소 API를 따서 봇을 만든다 해도 거래소 지갑을 통제하지 못해 암호화폐 거래나 전송이 불가능하다. 

빗썸과 업비트, 코인원, 코빗, 고팍스 등 국내 거래소들은 봇을 통해 자동 거래를 할 수 있도록 오픈 API를 제공한다. 

 

웹소켓 API와 레스트 API

국내 거래소들은 거래용 API는 레스트(rest) 방식을, 현재가·호가 확인과 체결 정보 수신용 API는 웹소켓 방식을 지원한다. 

레스트 API는 HTTP 프로토콜을 채택한 API로, 기존 웹 브라우저에서도 이용 가능하다는 장점이 있다. 그러나 요청과 응답 주문이 각각 발생하고, 이런 주문들이 반복돼서 서버가 과부하된다는 한계가 존재한다. 서버를 추가하는 방식으로 과부하를 해소할 수는 있다.

웹소켓 API는 웹 서버와 웹 브라우저 사이의 통신을 위한 양방향 통신 규격인 '웹소켓'을 지원하는 API다.

이용자 정보에 변경이 생기면 그 변경 내용을 서버와 실시간으로 주고받기에 서버 부담을 줄일 수 있다. 그러나 별도 프로토콜과 서버를 필요로 하기에 구축 비용이 상당히 든다. 웹소켓 API 구현도 까다로운 편이다.  

레스트 API가 편지처럼 송신과 수신 행위가 각각 발생한다면, 웹소켓 API는 전화처럼 실시간으로 소통할 수 있다. 

API 사용량이 많지 않은 초기 단계에서는 웹소켓보다는 레스트 방식을 채택하는 게 효율적이라는 의미다.

업비트, 빗썸, 코인원, 코빗 등 국내 4대 암호화폐 거래소 로고. 출처=각 거래소.
업비트, 빗썸, 코인원, 코빗 등 국내 4대 암호화폐 거래소 로고. 출처=각 거래소.

업비트는 2018년 6월 오픈 API 출시 시점부터 시세 정보에 한해 웹소켓 API 방식을 제공하며, 레스트 API 요청이 여러 번 필요할 경우 웹소켓 수신을 하도록 안내하고 있다. 다만, 웹소켓 연결 요청 수를 초당 5회, 분당 100회로 제한하고 있다. 

빗썸은 2020년 2월 현재가, 호가, 체결 관련 정보를 수신하는 웹소켓 API를 공개했다. 빗썸의 퍼블릭 API는 레스트, 웹소켓 방식 모두 1초당 최대 135회 요청이 가능하다. 

코인원도 2020년 11월부터 포스트 온리(Post only: 지정가가 아닌 시장가로 거래가 체결될 경우 즉시 취소하는 주문)에 의한 자동 취소 결과 확인 기능을 웹소켓 API로 제공한다.  

코빗은 2020년 7월, 고팍스는 2020년 10월 웹소켓 API 서비스를 오픈했다. 

코빗 웹소켓 API는 ▲시장 현황 상세 정보 ▲매도·매수 호가 ▲체결 내역 등의 기능을 포함한다.

고팍스 웹소켓 API  이용자는 호가창(한 연결당 최대 50개)과 거래쌍 관련 데이터, 미체결 주문을 구독할 수 있다. 

웹소켓 설명도. 출처=웹소켓 재단 웹사이트 캡처
웹소켓 설명도. 출처=웹소켓 재단 웹사이트 캡처

 

"웹소켓 API와 다양한 주문 방식 지원 여부 중요"

총 6억원 정도의 자금을 굴린다는 A씨는 암호화폐 투자 중 90%를 API 거래로 하고 있다. 그간 손으로 하던 매매에서 손실만 보다가 API 거래를 통해 수익을 보기 시작했다.

손으로 할 때보다 진입 타이밍도 빠르고 정확한 시점에 들어갈 수 있어서다. 또한, API 거래가 그간의 통계에 기반한 알고리듬으로 돌아가는 만큼 소위 '감'보다 통계를 토대로 매매하는 점도 승률을 올리는 주요 요소다.

자동 거래를 선호하는 이용자들은 통상 거래소 API로 수집한 데이터를 통계 처리해 유의미한 정보로 만든다. 해당 정보를 활용해 각자의 거래 전략에 따라 주문을 넣는 알고리듬을 짜서 이를 토대로 자동 거래 봇을 개발한다. 

A씨는 API 거래를 위한 거래소를 선택할 때 '웹소켓 API 제공 여부'를 중요한 기준으로 뽑았다. 

그는 "웹소켓 API는 레스트 API와 달리 실시간 처리가 가능해 다수의 사용자가 주문을 넣는 경우에도 서버 과부하 문제를 겪지 않는다"고 말했다.  

다양한 주문 방식을 지원하는지 여부도 거래소 API를 고를 때 감안하는 기준이다. 


“국내 거래소 API를 쓸 경우 거래 요청을 하면 거래 처리 내용, 자산 업데이트 등을 전부 레스트 API로 사용해 주문 빈도가 높아집니다. 반면, 바이낸스 등 해외 거래소는 지정가 전체 거래(FOK; Fill Or Kill), 지정가 일부 거래(IOC; Immediate Or Cancel) 등의 주문 요청 타입을 지원하는데, 이런 요청을 넣을 경우 주문 체결 여부 확인이나 주문 취소 요청을 별도로 보낼 필요가 없습니다”  

 

프라임 API, 고객 크레덴셜 등 제공

빗썸은 기관투자자 전용 서비스 '빗썸 프라임' 이용자를 위한 프라임 API를 별도 제공한다. 

빗썸은 최근 크롬이노베이션이 운영하는 '오토 트레이딩'을 플랫폼에 연동하기도 했다. 인공지능(AI)을 탑재해 지난 7일 동안 최고의 수익률을 낸 설정을 자동으로 추천하는 서비스다. 이용자가 API를 따서 봇을 개발하지 않고도 자동매매를 할 수 있다.

코인원은 코인원 프로 이용자에 한해 웹소켓 프라이빗 API를 제공하는 것으로 알려졌다. 한 코인원 이용자는 "코인원이 코인원 프로 이용자에게는 웹소켓 프라이빗 API 관련 문서를 별도로 제공한다"며 "해당 API는 거래소 웹소켓 변경 시 업데이트 내용을 바로 배포하는 기능을 지원한다"고 말했다.

코빗은 5월 3일부로 오픈 API 액세스 토큰 인증 방식을 비밀번호에서 고객 크레덴셜(Client Credential)로 교체했다. 코빗 관계자는 "이용자가 직접 입력하는 비밀번호와 달리. 크레덴셜은 이용자의 정보를 조합해 암호화한 방식"이라며 "보안을 강화하고 고객 거래 편의를 증진시키고자 인증 방식을 바꿨다"고 말했다. 

몇몇 거래소는 API 거래 이용자를 주요 고객으로 특별 관리하기도 한다.

한 거래소 관계자는 "API를 이용할 경우 초당 몇 개씩 쪼개서 거래가 가능한 만큼 수수료도 더 많이 발생한다"며 "이 때문에 몇몇 거래소는 API 이용자를 따로 관리하는 담당 팀도 두고 있다"고 말했다.  

댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?

기사 댓글

댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.