거래소 API 키 권한, 자동매매 연결 전에 출금 체크박스를 봐야 하는 이유
페이지 정보
본문
거래소 API 키를 만들 때 읽기, 거래, 출금 권한이 한 화면에 같이 보이면 대충 넘기기 쉽습니다. 하지만 자동매매 앱에 필요한 권한과 잔고가 밖으로 나가는 권한은 다른 문제입니다. 앱이 작동한다는 말과 계정 자산을 옮길 수 있다는 말은 같지 않습니다.
API 키는 로그인 비밀번호를 직접 넘기지 않고도 외부 프로그램이 거래소 계정에 접근하게 해 주는 통로입니다. 그래서 세금 정리 앱, 포트폴리오 앱, 자동매매 봇을 연결할 때 자주 등장합니다. 문제는 키를 만들었다는 사실보다 그 키가 계정 안에서 어디까지 움직일 수 있느냐입니다.
읽기 권한의 자리
읽기 권한은 보통 잔고, 주문 내역, 체결 기록처럼 이미 계정 안에 있는 정보를 보는 데 쓰입니다. 세금 리포트나 포트폴리오 앱은 대개 이 수준의 접근만으로도 목적을 달성할 수 있습니다. Binance.US 도움말도 제3자 플랫폼에는 필요한 최소 수준의 접근만 주고, 세금 리포트 플랫폼에는 거래나 출금보다 Read 접근을 쓰는 예를 듭니다.
그렇다고 읽기 권한이 아무 위험도 없다는 뜻은 아닙니다. 잔고 규모, 거래 습관, 보유 종목, 입출금 기록은 공격자가 다음 피싱이나 사칭을 설계할 때 좋은 재료가 됩니다. 돈을 바로 움직이지 못하더라도 내 계정 안을 들여다보는 문이라는 점은 남습니다.
그래서 첫 질문은 간단합니다. 이 앱이 정말 주문을 넣어야 하나, 아니면 기록만 읽으면 되나. 기록만 읽으면 되는 앱에 거래 권한까지 줄 이유는 없습니다.
거래 권한은 이미 높은 문
자동매매 앱은 주문을 넣고 취소해야 하므로 읽기 권한만으로는 부족할 수 있습니다. Kraken Pro의 API 키 안내도 거래 봇에는 Modify Orders, Cancel/Close Orders, Query Open Orders & Trades 같은 권한이 필요할 수 있다고 설명합니다. 여기까지는 앱의 목적과 맞을 수 있습니다.
하지만 거래 권한은 잔고를 밖으로 빼내지 못하더라도 이미 계정의 위험을 바꿉니다. 잘못된 봇 설정이나 탈취된 키가 반복 주문을 넣으면 원치 않는 가격에 사고팔 수 있고, 수수료가 쌓이거나 포지션이 꼬일 수 있습니다. 현물 계정에서는 보유 자산 구성이 바뀌고, 파생상품 계정에서는 레버리지와 청산 위험까지 이어질 수 있습니다.
그래서 거래 권한을 켤 때는 자동매매 앱의 전략보다 먼저 계정 범위를 봐야 합니다. 전체 계정이 아니라 특정 포트폴리오, 서브계정, 소액 테스트 계정으로 줄일 수 있다면 그 편이 낫습니다. API 키의 안전은 좋은 봇을 고르는 문제만이 아니라, 틀렸을 때 손실이 어디까지 번지는지 정하는 문제입니다.
출금 체크박스의 무게
출금 권한은 다른 층입니다. Kraken의 Withdraw Funds API 문서는 출금 요청에 Funds permissions - Withdraw 권한이 필요하다고 적습니다. 이 권한이 켜진 키는 조건이 맞으면 계정 안 자산을 밖으로 보내는 기능과 연결됩니다.
자동매매에 출금 권한이 필요한 경우는 드뭅니다. 봇이 해야 할 일이 주문을 넣고 취소하는 것이라면 자산을 외부 주소로 보낼 이유가 없습니다. Kraken Pro 안내도 일반적인 거래 봇은 Withdraw Funds 권한이 거의 필요하지 않을 것이라고 설명합니다. 이 문장을 거래소가 대신 지켜 주는 안전장치로만 보지 말고, 사용자가 권한 화면에서 먼저 줄여야 할 기준으로 읽어야 합니다.
출금 권한은 켜는 순간 확인할 것이 늘어납니다. 주소록 제한이 있는지, 새 주소 등록 뒤 대기 시간이 있는지, IP 제한이 붙어 있는지, 출금 2단계 인증과 어떻게 엮이는지 봐야 합니다. 자동매매 앱 연결 화면에서 "권장 설정"처럼 보여도, 출금 권한은 별도로 이유를 설명할 수 있을 때만 켜는 편이 안전합니다.
IP 제한과 키 교체
API 키는 만들고 끝나는 물건이 아닙니다. IP 제한은 키를 쓸 수 있는 서버나 기기 위치를 좁히는 장치입니다. Coinbase의 권한 확인 API도 키가 보기, 거래, 전송, 수신 권한을 갖는지 분리해 보여 주고, 여러 거래소 안내는 IP 제한과 권한 축소를 기본 보안 습관으로 둡니다.
IP 제한이 있으면 키 문자열이 새더라도 아무 곳에서나 바로 쓰기 어렵습니다. 반대로 제한이 없으면 노트북, 클라우드 서버, 자동매매 프로그램, 백업 파일 중 어디에서든 키가 복사됐을 때 위험 범위가 넓어집니다. 특히 봇을 클라우드에 올려 둔다면 그 서버의 고정 IP를 쓰는지, IP가 바뀌면 주문이 멈출 수 있는지도 확인해야 합니다.
오래된 키를 끊는 일도 중요합니다. 더 이상 쓰지 않는 봇, 해지한 세금 서비스, 실험으로 만든 포트폴리오 앱에 키가 남아 있으면 계정에는 보이지 않는 출입문이 계속 열린 셈입니다. 새 키를 만들 때보다 기존 키 목록을 정리할 때 사고 가능성이 줄어드는 경우가 많습니다.
연결 전 세 가지 질문
API 키 화면에서 먼저 볼 것은 앱 이름이 아니라 권한입니다. 첫째, 이 앱이 잔고와 기록만 읽으면 되는지 봅니다. 둘째, 주문을 넣어야 한다면 어떤 계정과 어떤 시장까지 허용할지 줄입니다. 셋째, 출금 권한이 정말 필요한지 따로 묻습니다.
이 순서를 잡아 두면 보안 기능들이 서로 다른 자리에 놓입니다. 패스키 로그인은 계정에 들어오는 문을 지키는 장치이고, 지갑 서명 요청은 개인지갑에서 권한성 서명을 조심하는 문제입니다. API 키 권한은 거래소 계정 안에서 외부 프로그램이 어떤 행동까지 할 수 있는지 정하는 문제입니다.
자동매매를 쓰지 말라는 결론이 아닙니다. 다만 키를 만들 때는 "앱이 연결되는가"보다 "이 키 하나로 무엇까지 할 수 있는가"를 먼저 봐야 합니다. 읽기, 거래, 출금, IP 제한, 키 교체 주기를 나눠 놓으면 API 키 화면은 복잡한 설정표가 아니라 계정 위험을 줄이는 체크리스트가 됩니다.
스테이블코인, 거래소 서비스, 지갑 전송, 예치 상품은 가격 괴리, 출금 지연, 체인 선택 오류, 정책 변경 같은 위험이 있을 수 있습니다. 이 글은 정보 제공용이며 특정 자산 매수, 예치, 전송을 권유하지 않습니다. 실제 실행 전에는 공식 공지와 본인 계정 조건을 다시 확인해야 합니다.