거래소 API 키, 어디까지 열어 줘야 하나: 읽기·거래·출금과 IP 화이트리스트

거래소 API 키, 어디까지 열어 줘야 하나: 읽기·거래·출금과 IP 화이트리스트

API 키는 비밀번호가 아니라 스위치 묶음입니다. 위험한 칸은 IP를 고정했는지를 거래소가 먼저 보고 정합니다.

거래소 문서를 직접 열어 확인, 2026년 9월
빠른 요약

질문짧은 답
API 키가 비밀번호인가요?아닙니다. 권한 스위치 묶음이고, 어느 칸을 켤지는 내가 정합니다.
칸이 몇 개인가요?중요한 건 셋입니다. 읽기, 거래, 출금.
가계부 앱에는 뭘 줘야 하나요?읽기만 주면 됩니다. 대부분의 도구는 그 이상이 필요 없습니다.
출금을 안 켜면 안전한가요?아닙니다. 거래 권한만으로도 잔고가 줄어들 수 있습니다.
권한이 왜 안 켜지나요?IP를 고정했는지를 먼저 봅니다. 거래소가 그렇게 막아 놨습니다.
키가 유출됐는데 여기 나오나요?그건 다른 글입니다. 이 글은 그전 단계를 다룹니다.

어떤 도구가 API 키를 달라고 하면 결정할 게 사실 하나뿐입니다. 어느 칸까지 열어 줄 것인가. 그 칸들은 보통 4초 만에 체크되고, 세 번째 칸이 무슨 일을 하는지는 아무도 알려 주지 않습니다. 각 칸이 무엇을 여는지, 그리고 왜 일부는 거래소가 나보다 먼저 정해 버리는지 정리했습니다.

거래소 API 키에 붙는 권한 스위치 세 개를 보여 주는 구조도. 읽기는 잔고와 포지션, 주문 기록을 보게 해 주며 포트폴리오 앱과 세금 도구가 필요로 하고, 거래는 내 잔고로 주문을 넣고 취소하게 해 주며 자동매매 프로그램이 필요로 하며, 출금은 계정 밖으로 자산을 내보내게 해 주지만 개인이 돌리는 프로그램 중에는 필요한 경우가 거의 없다는 점을 표시하고, 유출됐을 때의 피해 크기가 이 스위치를 고르는 순간 이미 정해진다는 설명을 덧붙임 - Cryptonakta
자격 증명은 하나인데 사고 크기는 세 가지입니다. 만들 때 내가 고릅니다.

1. 키는 비밀번호가 아니라 스위치 묶음입니다

API 키를 만들려는데 권한 칸에서 막히는 경우가 많습니다. 원하는 칸이 안 켜지거나, 켜려니까 다른 걸 먼저 하라고 합니다.

이게 거래소가 까다롭게 구는 게 아닙니다. 순서가 정해져 있어서 그렇습니다.

용어 세 개만 짚고 갑니다

API 키는 외부 프로그램이 내 거래소 계정에서 일하게 해 주는 자격 증명입니다. 로그인 화면을 거치지 않습니다. 비밀번호도 2차 인증도 안 물어봅니다.

권한은 그 키에 붙은 스위치입니다. 거래소가 따로따로 켜게 해 뒀고, 키는 켜 둔 것만 할 수 있습니다.

IP 화이트리스트는 그 키를 쓸 수 있는 인터넷 주소 목록입니다. 목록 밖에서 오는 요청은 키가 맞아도 거절됩니다.

스위치가 실제로 무엇인가

스위치무엇이 되나정말 필요한 쪽
읽기잔고, 포지션, 주문 기록, 체결 내역 조회가계부 앱, 세금 도구, 대시보드, 스프레드시트
거래내 잔고로 주문을 넣고, 고치고, 취소실제로 매매하는 자동매매 프로그램
출금계정 밖으로 자산을 내보내기개인이 돌리는 것 중에는 거의 없음

키를 달라는 도구 대부분은 첫 줄이면 끝납니다. 이 글에서 가장 쓸모 있는 문장입니다.

왜 이게 예전보다 중요해졌나

예전에는 API 키를 개발자만 만들었습니다. 지금은 세금 정리 앱도, 휴대폰 앱도, 스프레드시트 양식도 같은 걸 요구합니다.

쓰는 사람은 바뀌었는데 화면은 그대로입니다. 여전히 스위치를 그대로 보여 주고, 그 뜻은 아무도 안 알려 줍니다.

어려운 내용은 없습니다. 스위치 세 개 이름만 알면 나머지는 따라옵니다.

비밀번호와 뭐가 다른가

비밀번호는 내가 직접 로그인할 때 씁니다. 화면을 보고, 2차 인증을 넣고, 이상하면 중간에 멈출 수 있습니다.

API 키는 그 과정이 없습니다. 프로그램이 알아서 붙고, 내가 보고 있지 않아도 붙습니다.

그래서 위험의 성격이 다릅니다. 비밀번호는 누가 훔쳐서 쓰려면 관문을 여러 개 지나야 하는데, API 키는 그 자체가 통과권입니다.

대신 좋은 점도 있습니다. 비밀번호와 달리 언제든 지우고 새로 만들 수 있습니다. 30초면 끝납니다.

이 글이 다루지 않는 것

키가 이미 유출된 다음 어떻게 하느냐는 여기 없습니다. 그건 따로 한 편이 있습니다.

이 글은 그 앞 단계입니다. 만들 때 어떤 칸을 켜느냐로 나중에 생길 사고의 크기가 정해진다는 얘기입니다.

순서를 뒤집어 말하면, 여기서 5초 쓰면 나중에 며칠을 안 씁니다.

2차 인증과의 관계

2차 인증은 로그인 화면을 지킵니다. 누가 비밀번호를 알아도 거기서 한 번 더 막힙니다.

API 키는 그 화면을 지나지 않습니다. 그래서 2차 인증이 켜져 있어도 키 쪽은 따로 관리해야 합니다.

이게 사람들이 가장 자주 놓치는 지점입니다. 보안을 신경 써서 2차 인증까지 켜 놓고, 몇 년 전에 만든 키가 살아 있는 줄 모릅니다.

2차 인증 자체를 잃어버렸을 때 무엇이 잠기고 무엇은 안 잠기는지는 2FA 분실 글에 정리돼 있습니다.

2. IP를 고정했는지가 켤 수 있는 칸을 정합니다

순서를 바꿔 놓는 사실이 있습니다. 권한은 내가 자유롭게 고르는 게 아닙니다.

거래소는 IP를 고정했는지를 먼저 봅니다. 그 답이 켤 수 있는 칸을 제한합니다.

문서에 적혀 있는 내용

바이낸스 지원 문서는 이렇게 적어 뒀습니다. 출금 권한을 켜려면 IP 접근 제한을 거는 게 필수입니다.

그리고 IP 제한이 없으면 시스템이 만들어 준 키는 읽기로만 설정할 수 있습니다.

뒷문장을 다시 보시면 됩니다. IP를 안 걸었을 때 읽기 전용은 권고가 아닙니다. 그것밖에 선택지가 없습니다.

다른 거래소, 같은 결론

OKX는 막는 방식이 다릅니다. 개발자 문서에 이렇게 적혀 있습니다. IP에 묶이지 않은 키가 거래나 출금 권한을 들고 있으면, 14일 동안 안 쓰면 만료됩니다.

키 하나에 주소는 스무 개까지 걸 수 있다고도 적혀 있습니다.

한쪽은 아예 안 내주고, 다른 쪽은 조용히 죽입니다. 방식은 다른데 서 있는 자리가 같습니다.

이 규칙을 미리 알면 달라지는 것

대부분은 이걸 에러 메시지로 처음 만납니다. 자동매매 설정을 하다 중간에 막히고, 거래소가 괜히 까다롭다고 느낍니다.

까다로운 게 아닙니다. 서로 상관없는 두 거래소가 같은 상황을 막기로 하고 화면을 그렇게 만든 겁니다.

그래서 첫 질문이 바뀝니다. 어떤 칸을 켤까가 아니라, 이 프로그램이 도는 자리에 고정할 수 있는 주소가 있느냐입니다.

왜 하필 IP 인가

키가 유출됐다고 해 봅시다. 가져간 쪽은 그 키로 아무 데서나 접속하려고 합니다.

IP가 걸려 있으면 그 시도가 막힙니다. 키가 맞아도 주소가 목록에 없으면 거절되니까요.

그래서 거래소 입장에서는 IP 고정이 유출 피해를 줄이는 가장 단순한 장치입니다. 그걸 위험한 권한의 조건으로 건 겁니다.

바꿔 말하면, IP를 걸 수 없는 환경에서는 위험한 권한을 주지 않겠다는 뜻이기도 합니다.

여기서 갈리는 두 부류

고정 주소가 있는 곳에서 프로그램을 돌리는 사람은 이 규칙을 만날 일이 거의 없습니다. 주소를 넣고 넘어갑니다.

집 컴퓨터나 노트북에서 돌리는 사람은 여기서 막힙니다. 주소가 바뀌니까요.

실력 차이가 아니라 환경 차이입니다. 그래서 같은 안내문을 읽고도 한쪽은 쉽다 하고 다른 쪽은 안 된다고 합니다.

먼저 확인할 것

그러니 권한 칸을 만지기 전에 이걸 먼저 보시면 됩니다. 이 프로그램이 어디서 도는가.

내 기기에서 돈다면 내 주소가 고정인지 확인합니다. 남의 서비스라면 그 회사가 공개한 접속 주소를 찾습니다.

둘 다 아니면 읽기 전용으로 계획을 잡는 게 빠릅니다. 나중에 막히고 되돌아오는 것보다 낫습니다.

화면에서 만나는 문구들

권한이 안 켜질 때 뜨는 안내는 거래소마다 다릅니다. 권한이 없다고만 적힌 경우도 있고, IP를 먼저 등록하라고 알려 주는 경우도 있습니다.

문구가 불친절해도 뜻은 대개 같습니다. 지금 상태로는 그 칸을 못 준다는 겁니다.

이럴 때 계정에 문제가 생긴 건지 걱정하실 필요는 없습니다. 조건이 안 맞은 것뿐입니다.

계정을 막 만든 경우

가입 직후에는 API 생성 자체가 잠시 막히는 곳도 있습니다. 위험 관리 목적입니다.

이건 시간이 지나면 풀립니다. 뭔가 잘못해서 그런 게 아닙니다.

급하게 자동매매를 붙이려다 여기서 당황하는 경우가 많은데, 화면 안내에 적힌 시간을 기다리면 됩니다.

3. 출금을 껐다고 무해한 건 아닙니다

흔한 계획은 이렇습니다. 출금만 안 켜면 나머지는 대충 해도 된다.

앞부분은 맞습니다. 뒷부분에서 사고가 납니다.

거래 권한도 돈을 움직입니다

거래가 되는 키는 내 잔고를 쓸 수 있습니다. 계정 밖으로 뭘 내보내지 않아도 잔고는 줄어듭니다.

실제로 크게 벌어진 적이 있습니다. 어떤 자동매매 서비스가 뚫리면서 거래소 키가 대량으로 유출됐습니다.

그때 생긴 손실은 출금이 아니라 무단 거래에서 나왔습니다. 그 상황이 어떻게 진행되는지는 거래소 계정이 털렸을 때에 정리돼 있습니다.

불리한 체결이 왜 생기는지는 주문 유형청산되는 이유에 있습니다. 이 글은 스위치 쪽만 봅니다.

그럼 출금을 끄면 무엇을 얻나

가장 빠르고 완전한 결말을 없앱니다. 내 것이 아닌 주소로 자산이 나가지 못합니다.

대신 키가 무해해지는 건 아닙니다. IP를 거는 것과도 별개입니다. 두 장치가 하는 일이 다릅니다.

거래 스위치를 판단하는 법

그 프로그램이 정상으로 돌 때 무슨 일을 하는지 보면 됩니다. 그 안에 주문 넣기가 없으면 거래 권한은 필요 없습니다.

설정 안내문에 켜라고 적혀 있어도 마찬가지입니다. 쓰는 것보다 많이 요구하는 도구가 꽤 있습니다. 한 번 물어보는 게 두 번 물어보는 것보다 쉬우니까요.

겁낼 일은 아니고 확인할 일입니다.

거래 권한이 위험해지는 조건

거래 권한만 있으면 자산이 계정 안에 계속 있습니다. 그런데도 값어치가 줄어들 수 있습니다.

사는 값과 파는 값이 벌어져 있는 시장에서 반복해서 주고받으면 잔고가 깎입니다. 거래가 될 때마다 조금씩 빠집니다.

구체적인 방법은 여기 안 씁니다. 알아야 할 결론은 하나입니다. 출금을 껐다고 손실이 0이 되는 게 아닙니다.

그래서 어떻게 막나

권한을 최소로 두는 게 첫째입니다. 읽기로 되는 도구에 거래를 켜 주지 않는 것입니다.

둘째가 IP 고정입니다. 권한을 줄여도 키가 어디서나 쓰이면 남는 위험이 있습니다.

셋째가 키를 쪼개는 겁니다. 문제가 생겼을 때 하나만 끊으면 되게 해 두는 것입니다.

세 개가 서로 다른 일을 합니다. 하나로 나머지를 대신할 수 없습니다.

읽기 전용 키도 드러내는 것

거래를 못 한다고 아무것도 안 보이는 건 아닙니다. 잔고 규모가 보입니다.

어떤 코인을 얼마나 들고 있는지, 언제 사고팔았는지도 보입니다.

이건 돈이 바로 나가는 정보는 아닙니다. 대신 누가 접근해 올 때 쓰기 좋은 정보입니다. 그런 접근이 어떤 모양인지는 사기 수법 글에 있습니다.

그래서 읽기 전용도 아무 데나 주는 건 아닙니다. 다만 최악의 결말이 다릅니다.

세 장치가 각각 막는 것

권한 최소화는 키가 할 수 있는 일 자체를 줄입니다. 유출돼도 읽기만 되면 거래가 안 됩니다.

IP 고정은 키를 쓸 수 있는 자리를 줄입니다. 권한이 있어도 다른 곳에서는 거절됩니다.

키 분리는 사고 났을 때 끊는 범위를 줄입니다. 하나만 지우면 되니까 망설임이 없어집니다.

셋 다 하면 좋지만, 하나만 한다면 첫 번째가 제일 값어치가 큽니다. 다른 둘은 조건이 맞아야 할 수 있는데 권한은 언제나 내가 정할 수 있기 때문입니다.

4. 두 거래소가 실제로 공개해 둔 규칙

아래는 이 글을 쓰면서 문서를 직접 열어 읽은 두 곳의 규칙입니다. 2026년 9월 확인값이고, 다른 거래소는 표현이 다르니 본인 화면에서 보시면 됩니다.

항목바이낸스OKX
권한 구분읽기와 출금을 따로 켬읽기, 거래, 출금
IP 없이 출금 권한불가. IP 제한이 필수만들 수는 있으나 만료됨
IP 없는 거래·출금 키시스템 생성 키는 읽기로만 설정 가능14일 미사용 시 만료
키당 주소 수출금 권한에는 화이트리스트 필수최대 20개, IPv4·IPv6, 대역도 가능
자격 증명 구성키와 시크릿, 또는 직접 만든 키키, 시크릿, 그리고 직접 정한 패스프레이즈

2026년 9월 확인값이고 거래소가 정하는 값입니다. 숫자보다 규칙의 모양으로 보시면 됩니다.

자격 증명이 두 조각이 아닐 수 있습니다

한쪽에서는 시스템이 만들어 주는 키가 키와 시크릿 두 개입니다. 사용자가 직접 만드는 키는 방식이 다르고, 비밀에 해당하는 쪽을 내가 들고 있습니다.

다른 쪽에는 조각이 하나 더 있습니다. 키를 만들 때 정한 패스프레이즈인데, 요청할 때마다 키·시크릿과 같이 들어갑니다.

사소한데 사람을 붙잡는 지점입니다. 두 개를 저장해 뒀는데 프로그램이 세 개를 물어보면, 고장 난 게 아니라 세 개짜리 거래소를 쓰는 겁니다.

어디에도 저장되지 않는 것

시크릿은 만들 때 한 번만 보여 줍니다. 다시 보여 주는 거래소는 없고 고객센터도 못 꺼내 줍니다.

그래서 시크릿을 잃어버린 건 복구 문제가 아닙니다. 지우고 새로 만드는 문제입니다. 이쪽이 훨씬 나은 문제입니다.

이 표를 어떻게 읽나

숫자 자체를 외울 필요는 없습니다. 거래소가 바꾸면 그만입니다.

봐야 할 건 모양입니다. 두 곳 다 위험한 권한을 주소 고정에 묶어 놨다는 사실입니다.

방식은 다릅니다. 한쪽은 아예 안 내주고, 한쪽은 내주되 안 쓰면 만료시킵니다.

서로 상의했을 리 없는 두 회사가 같은 곳에 서 있으면, 그건 회사 정책이 아니라 구조입니다.

다른 거래소는 어떤가

이 글에서는 문서를 직접 열어 읽은 두 곳만 적었습니다. 다른 거래소 문서는 화면이 자바스크립트로 그려져 본문을 확인하지 못했습니다.

확인 못 한 걸 그럴듯하게 적는 게 더 나쁩니다. 그래서 안 적었습니다.

본인이 쓰는 거래소의 API 관리 화면을 열어 권한 칸 이름과 IP 관련 안내를 읽어 보시면 됩니다. 대개 같은 자리에 같은 내용이 있습니다.

권한 칸 이름이 달라 보일 때

거래소마다 부르는 이름이 다릅니다. 읽기를 조회라고 쓰기도 하고, 거래를 스팟 거래로 나눠 놓기도 합니다.

이름이 달라도 하는 일로 보면 됩니다. 조회만 되는가, 주문이 되는가, 밖으로 보낼 수 있는가. 이 셋으로 나누면 어느 화면이든 읽힙니다.

확인 시점을 왜 적나

이 숫자들은 거래소가 예고 없이 바꿉니다. 14일이 30일이 될 수도 있고, 스무 개가 열 개가 될 수도 있습니다.

그래서 언제 확인한 값인지를 같이 적습니다. 나중에 읽는 분이 지금 화면과 대조할 수 있게 하려는 겁니다.

구조는 잘 안 바뀝니다. 권한이 갈라져 있고 위험한 칸이 주소에 묶인다는 것은 숫자가 바뀌어도 그대로일 가능성이 큽니다.

5. 용도별로 필요한 권한

도구를 용도로 줄 세우면 권한은 저절로 정해집니다.

연결하려는 것실제로 필요한 권한
포트폴리오 앱, 잔고 대시보드읽기
거래 내역을 가져가는 세금·회계 도구읽기
직접 만든 스프레드시트읽기
그리드봇, 자동매매, 카피 도구읽기와 거래. 출금은 아님
거래소 사이로 자금을 자동으로 옮기는 것출금. 여기서 IP 요구가 걸림
백테스트나 연습테스트넷 키. 실계정 키가 아님

마지막 줄이 자주 빠집니다. 테스트 환경은 자기 키를 따로 발급합니다. 연습하겠다고 실계정 키를 쓰는 게 이 주제에서 제일 안 해도 되는 사고입니다.

자동매매에 필요한 최소 권한

주문을 넣는 프로그램이라면 읽기와 거래가 필요합니다. 잔고를 못 보면 얼마를 주문할지 계산을 못 하니까요.

출금은 여기 안 들어갑니다. 봇이 돈을 어디로 보낼 일이 없습니다.

선물까지 돌린다면 그 권한이 따로 있는 경우가 많습니다. 현물만 하는 프로그램이면 선물 칸은 꺼 두는 게 낫습니다. 그래야 오작동으로 포지션이 열리는 결말이 없어집니다.

봇이 출금 권한을 달라고 하면

정말 필요한 구성도 있습니다. 여러 거래소에 걸쳐 자금을 재배치하는 종류입니다. 대부분은 아닙니다.

전략 도구가 출금을 요구하면 어느 기능이 그걸 쓰는지 물어볼 만합니다. 답이 분명하면 됐고, 답이 없으면 그것도 답입니다.

돈을 어디에 둘지 고르는 중이라면 거래소 비교가 있고, 넣기 전에 볼 것들은 안전한 거래소 판별에 있습니다.

읽기로 어디까지 되나

잔고를 보고, 포지션을 보고, 지난 주문과 체결을 가져옵니다. 수익률 계산이나 세금 정리는 이걸로 다 됩니다.

안 되는 건 주문입니다. 사고파는 행위 자체가 막혀 있습니다.

그래서 읽기 전용 키는 누가 가져가도 거래를 못 합니다. 대신 내 잔고 규모와 거래 습관은 보게 됩니다.

도구가 요구하는 권한이 과할 때

설정 안내문이 전부 켜라고 하는 경우가 있습니다. 만드는 쪽이 편해서 그렇게 적어 둔 것일 때가 많습니다.

이럴 때는 읽기만 켜서 한번 붙여 보시면 됩니다. 되면 그걸로 끝입니다.

안 되면 그때 필요한 칸을 하나씩 더 켭니다. 처음부터 다 켜는 것보다 몇 분 더 걸리는 대신 남는 권한이 없습니다.

권한을 줄일 수 없는 경우

도구가 정말로 거래 권한을 써야 하는 경우가 있습니다. 자동매매가 그렇습니다.

이럴 때는 권한을 줄이는 대신 다른 쪽을 조입니다. IP를 걸고, 키를 그 프로그램 전용으로 만들고, 선물 같은 안 쓰는 상품 칸은 끕니다.

그리고 금액을 나눕니다. 자동매매에 계정 잔고 전부를 올려 둘 이유는 없습니다.

어느 것도 완벽하지 않습니다. 대신 나쁜 날의 크기를 정할 수는 있습니다.

그리드봇처럼 계속 도는 프로그램

한 번 켜 두고 오래 도는 종류는 키도 오래 살아 있습니다. 그래서 더 신경 쓸 값어치가 있습니다.

이런 프로그램이 실제로 무슨 일을 하는지는 그리드 매매 봇 글에 정리돼 있습니다. 거기 나오는 동작 중에 출금은 없습니다.

권한보다 IP 고정 여부를 먼저 확인한다는 것을 보여 주는 도표. 한 거래소는 출금 권한을 켜려면 IP 제한을 필수로 걸게 하고 IP 제한이 없으면 시스템 생성 키를 읽기로만 내주며, 다른 거래소는 IP에 묶이지 않은 키가 거래나 출금 권한을 들고 있을 경우 14일 미사용 후 만료시켜, 서로 다른 방식으로 같은 결론에 도달한다는 점을 나란히 표시 - Cryptonakta
거래소 두 곳, 방식 두 가지, 결론은 하나입니다. 고정 안 한 키에는 힘을 안 줍니다.

6. 프로그램 하나에 키 하나

키 하나로 다 쓰는 게 편합니다. 편하지 않은 날이 오기 전까지는요. 나누는 데 1분이면 됩니다.

프로그램 하나에 키 하나

도구마다 키를 따로 만들고 도구 이름을 붙입니다. 그러면 뭔가 이상한 날 키 하나를 지우고, 프로그램 하나만 멈춥니다.

키를 같이 쓰면 선택이 나빠집니다. 지워서 전부 멈추게 하거나, 어느 도구가 샜는지 알아낼 동안 살려 두거나 둘 중 하나입니다.

이름을 붙여야 목록이 쓸모 있습니다

대부분의 거래소가 키에 라벨을 달게 해 줍니다. 날짜나 번호 말고 프로그램 이름을 적으시면 됩니다.

1년 뒤에 그 키가 아직 쓰이는지 알려 주는 건 라벨뿐입니다. ‘테스트’라고 적힌 키는 지울 결심이 안 서는 키입니다.

이미 이름 없는 키가 쌓여 있으면, 지우고 필요한 것만 다시 만드는 편이 안전합니다. 뭔가 멈추면 그게 쓰이고 있었다는 뜻입니다.

비활성화 말고 삭제

키는 쌓입니다. 2년 전에 일주일 써 보고 만 서비스도, 안 지웠으면 아직 살아 있는 자격 증명을 들고 있습니다.

거래소도 이걸 문제로 봅니다. 위에 나온 14일 미사용 만료 규칙이 그 얘기입니다.

시크릿을 어디에 두나

채팅방, 스크린샷, 코드 저장소는 아닙니다. 누구 잘못이라고 하기도 애매한 유출이 대부분 이 셋에서 나옵니다.

비밀번호 관리 앱에 항목 하나면 충분합니다. 복구 문구와 같은 보관 문제인데 다른 점이 하나 있습니다. API 키는 30초면 새로 만듭니다. 그래서 애매하면 그냥 새로 만드는 게 답입니다.

몇 개까지 만들어도 되나

거래소마다 상한이 있습니다. 보통은 개인이 쓰기에 넉넉합니다.

문제는 개수가 아니라 관리입니다. 열 개를 만들어 놓고 뭐가 뭔지 모르면 하나도 못 지웁니다.

그래서 프로그램 수만큼만 만들고, 프로그램을 그만 쓰면 같이 지우는 게 제일 단순합니다.

가족이나 지인에게 줄 때

대신 봐 준다고 키를 달라는 경우가 있습니다. 이때도 읽기 전용이면 충분한지 먼저 보시면 됩니다.

잔고를 확인하고 조언하는 정도라면 읽기로 됩니다. 대신 매매해 준다면 거래 권한이 필요한데, 그건 계정을 맡기는 것과 비슷한 얘기가 됩니다.

어느 쪽이든 키를 준 사실과 권한을 적어 두시는 게 좋습니다. 나중에 정리할 때 기준이 됩니다.

주기적으로 바꿔야 하나

정해진 주기는 없습니다. 대신 바꿔야 하는 시점은 분명합니다.

키를 어디에 적어 뒀는지 기억이 안 날 때, 쓰던 서비스를 그만둘 때, 기기를 정리할 때. 이 셋은 바꿀 때입니다.

바꾸는 비용이 거의 없다는 게 핵심입니다. 지우고 새로 만들고 프로그램에 넣으면 끝입니다. 애매하면 바꾸는 쪽이 항상 쌉니다.

목록을 언제 보나

거래소에 로그인할 일이 있을 때 겸사겸사 열어 보시면 됩니다. API 관리 화면은 대개 보안 설정 옆에 있습니다.

모르는 이름이 있으면 지웁니다. 지워서 뭔가 멈추면 그때 다시 만들면 됩니다.

멈추는 게 없으면 안 쓰던 키였다는 뜻입니다. 그게 제일 흔한 결과입니다.

7. 화이트리스트에 누구 주소를 넣나

IP를 건다고 하면 서버 다루는 사람 얘기처럼 들립니다. 대개는 그것보다 간단합니다.

무엇의 주소를 넣는 건가

화이트리스트에 들어가는 건 그 프로그램이 접속해 오는 주소입니다. 내 노트북이나 휴대폰 주소가 아닙니다. 프로그램이 거기서 돌고 있는 게 아니라면요.

빌린 서버에서 도는 봇은 주소가 하나로 고정돼 있습니다. 이건 쉬운 경우입니다.

집 인터넷에서 도는 봇은 통신사가 주는 주소를 쓰고, 그게 바뀔 수 있습니다.

화이트리스트 칸 읽는 법

프로그램이 도는 자리주소가 고정인가그래서 가능한 것
빌린 서버, 클라우드고정거래소가 주는 권한 전부
회사나 학교 망대개 고정, 대역인 경우도망 관리자에게 대역을 받으면 같음
집 인터넷몇 달 그대로인 곳도, 자주 바뀌는 곳도며칠 간격으로 두 번 확인하고 판단
옮겨 다니는 노트북아님읽기 전용, 또는 고정된 자리로 옮기기
휴대폰 데이터아님, 계속 바뀜읽기 전용

아래 두 줄에서 사람들이 화면과 싸웁니다. 화면이 까다로운 게 아니라 이 프로그램은 고정할 수 없다고 알려 주는 겁니다.

자주 나오는 실수

남의 서비스가 쓸 키인데 자기 집 주소를 화이트리스트에 넣는 경우가 있습니다. 그러면 서비스가 접속을 못 하고 키가 고장 난 것처럼 보입니다.

고장이 아닙니다. 화이트리스트가 원하는 건 요청을 보내는 쪽의 주소이고, 남의 서비스면 그 회사 서버입니다.

키를 요구하는 도구는 자기가 접속하는 주소를 공개해 둡니다. 안 적혀 있으면 그것도 넘기기 전에 따져 볼 사실입니다.

주소가 바뀌면

현실적인 선택지는 둘입니다. 주소가 고정된 곳에서 프로그램을 돌리거나, 읽기 전용으로 두고 거래가 필요했던 부분을 다른 방법으로 하거나.

적어도 한 거래소에서는 셋째 선택지가 없습니다. 아무것도 안 걸고 출금 권한을 들고 있는 건 화면이 안 내줍니다.

내 주소를 확인하는 법

인터넷에 ‘내 IP 확인’이라고 치면 지금 쓰는 주소가 나옵니다. 그 숫자를 적어 둡니다.

며칠 뒤에 한 번 더 확인합니다. 같으면 당분간 고정으로 봐도 됩니다.

달라졌다면 그 회선은 고정이 아닙니다. 거기서 도는 프로그램에는 거래 권한을 걸어 봐야 곧 막힙니다.

주소가 바뀌었을 때 생기는 일

키가 지워지는 건 아닙니다. 요청이 거절될 뿐입니다.

프로그램 쪽에서는 인증 오류처럼 보입니다. 그래서 키가 잘못된 줄 알고 새로 만드는 경우가 많은데, 새로 만들어도 주소가 그대로면 똑같습니다.

이런 증상이면 화이트리스트부터 보시면 됩니다. 지금 주소가 목록에 있는지만 확인하면 끝납니다.

회사나 공용 망에서 돌릴 때

회사나 학교 망은 대개 고정 주소를 씁니다. 다만 개인이 그 값을 모르는 경우가 많습니다.

이때는 망을 관리하는 쪽에 물어보면 됩니다. 대역으로 알려 주는 경우도 있는데, 화이트리스트가 대역을 받으면 그대로 넣으시면 됩니다.

주의할 점은 그 망을 쓰는 다른 사람도 같은 주소로 보인다는 겁니다. 주소 고정이 사람을 특정해 주지는 않습니다.

주소를 여러 개 넣어도 되나

대부분 여러 개를 받습니다. 한 거래소는 스무 개까지 적을 수 있다고 문서에 적어 뒀습니다.

프로그램이 두 대에서 번갈아 도는 경우를 위한 것입니다. 둘 다 넣어 두면 됩니다.

상한이 있는 건 이유가 있습니다. 전부 허용하는 목록은 목록이 없는 것과 같기 때문입니다.

8. 연습용 키와 실계정 키를 섞지 않기

두 계정이 계속 헷갈립니다. 조심하는 사람이 그래도 노출되는 경로가 여기입니다.

테스트넷 키는 내 키가 아닙니다

테스트 환경은 별도 시스템이고 잔고도 따로입니다. 그 잔고는 값어치가 없습니다. 키도 거기서 따로 발급합니다.

거기서 만든 키는 내 실제 잔고를 건드리지 못합니다. 전략이 아직 안 끝났을 때 쓰는 이유가 그겁니다.

거꾸로 하는 게 사고입니다. 덜 만든 프로그램을 실계정 키에 연결해서 되는지 봅니다. 됩니다. 그게 문제입니다.

현물과 선물은 칸이 따로인 경우가 많습니다

거래 권한을 상품별로 나눠 놓은 거래소가 많습니다. 현물 거래가 되는 키가 선물 포지션까지 열 수 있는 건 아닙니다.

이 구분은 쓸모가 있습니다. 내 프로그램이 현물만 한다면 선물 칸은 꺼 둬도 잃는 게 없습니다.

두 상품이 어떻게 다른지는 현물과 선물에, 레버리지가 포지션에 하는 일은 격리와 교차 증거금에 있습니다.

하나 더 나눠 두면 좋은 것

거래하는 키와 읽는 키가 같을 필요가 없습니다. 대시보드와 봇이 둘 다 접근을 원하면, 권한이 다른 키 두 개가 둘 다 켠 키 하나보다 낫습니다.

테스트넷을 어디서 찾나

거래소마다 별도 주소로 운영합니다. 실계정과 로그인도 따로인 경우가 많습니다.

거기서 받은 잔고는 값어치가 없습니다. 그래서 마음 편히 실패할 수 있습니다.

프로그램이 완성되기 전까지는 여기 붙여 두는 게 맞습니다. 붙이는 주소만 바꾸면 되는 경우가 대부분입니다.

실계정으로 넘어가는 시점

테스트넷에서 며칠 돌려 보고 이상이 없으면 실계정으로 옮깁니다. 이때 키를 새로 만들어야 합니다. 테스트넷 키는 실계정에서 안 통합니다.

옮기고 나서 처음 며칠은 금액을 작게 두시는 게 낫습니다. 테스트넷과 실계정은 체결이 다르게 납니다. 주문이 실제로 받아들여지는 속도도 다릅니다.

여기서 드러나는 문제는 프로그램 버그가 아니라 환경 차이인 경우가 많습니다.

계정을 나눠 쓰는 방법

자동매매용 자금과 그냥 들고 있는 자금을 같은 자리에 두지 않는 방법도 있습니다.

거래소에 따라 서브 계정 기능이 있습니다. 없으면 금액을 나눠 두는 것만으로도 효과가 있습니다.

키가 닿는 범위를 줄이는 게 핵심입니다. 권한을 줄이는 것과 같은 방향의 일입니다.

9. 만들기 전 점검 순서

전체가 짧은 순서로 줄어듭니다. 두 번만 해 보면 1분 안 걸립니다.

만들기 버튼을 누르기 전에

  1. 키 이름을 프로그램 이름으로 답니다. key1, key2 로 채운 목록은 나중에 감사할 수 없는 목록입니다.
  2. 권한은 프로그램이 하는 일에서 정합니다. 설정 안내문이 요구하는 것에서 정하지 않습니다. 읽기로 되는 도구가 생각보다 많습니다.
  3. 그 프로그램이 접속해 오는 주소를 먼저 알아봅니다. 적어도 한 거래소에서는 이게 켤 수 있는 칸을 정합니다.
  4. 주소가 있으면 고정합니다. 바뀌는 회선에서 돈다면 처음부터 읽기 전용으로 계획을 잡습니다.
  5. 출금은 끄고 갑니다. 그걸 쓰는 기능 이름을 댈 수 있을 때만 켭니다.
  6. 시크릿을 그 자리에서 제대로 저장합니다. 한 번만 보여 주고 다시 못 꺼냅니다.
  7. 작게 먼저 돌려 봅니다. 소액 테스트 전송과 같은 이치입니다. 규모를 맡기기 전에 동작을 봅니다.

이 순서가 막아 주는 것

2번과 5번이 사고 규모를 정합니다. 유출되기 전에, 유출되면 무엇까지 되는지를 미리 줄여 놓는 겁니다.

3번과 4번은 그 권한을 받을 수 있는지 자체를 정합니다. 대부분이 설정 중간에 처음 만나는 부분입니다.

6번은 나중에 안 해도 될 당황을 없앱니다. 시크릿이 한 번만 뜨는데 다시 찾을 수 있다고 생각합니다.

그다음에는

목록을 짧게 유지하시면 됩니다. 도구를 안 쓰게 되면 그날 키를 지우는 게 낫습니다.

이미 뭔가 이상하다면 이 글이 아닙니다. 계정이 털렸을 때에서 시작하시고, 2차 인증까지 잃었다면 2FA 분실에 무엇이 잠기고 무엇은 안 잠기는지 있습니다.

작게 먼저 돌려 보라는 말

자동매매라면 최소 주문 수량으로 한 번 돌려 봅니다. 읽기 전용 도구라면 잔고가 맞게 나오는지만 봅니다.

여기서 확인하는 건 수익이 아닙니다. 프로그램이 내가 생각한 것만 하는지입니다.

이 단계를 건너뛰면 규모를 키운 다음에 그걸 알게 됩니다.

기록해 둘 것

키 이름, 어느 프로그램에 줬는지, 어떤 권한을 켰는지 세 줄이면 충분합니다.

몇 달 뒤에 이 세 줄이 있고 없고가 차이를 만듭니다. 목록에서 모르는 키를 봤을 때 지울지 말지를 바로 정할 수 있습니다.

순서를 지키면 줄어드는 시간

대부분은 이 순서를 몰라서 중간에 막히고 되돌아옵니다. 권한을 켜려다 안 되고, IP를 찾으러 갔다가, 다시 와서 다시 만듭니다.

3번을 먼저 하면 그 왕복이 없어집니다. 주소를 먼저 알아 두면 권한 화면에서 고민할 게 없습니다.

실제로 이 순서대로 하면 키 하나 만드는 데 1분이 안 걸립니다.

만들고 난 뒤 첫날

프로그램에 키를 넣고 나면 잔고가 제대로 보이는지부터 확인합니다. 숫자가 맞으면 읽기 쪽은 정상입니다.

거래까지 켰다면 최소 수량으로 한 번 주문이 들어가는지 봅니다.

둘 다 되면 그날은 거기서 멈추는 게 좋습니다. 규모는 다음 날 올려도 됩니다.

한 줄로 줄이면

프로그램이 하는 일에서 권한을 정하고, 주소를 걸 수 있으면 걸고, 키는 프로그램마다 따로 만듭니다.

이 세 줄이면 이 글의 내용이 거의 다 들어갑니다. 나머지는 왜 그런지에 대한 설명입니다.

그리고 애매하면 지우고 새로 만드시면 됩니다. 이 주제에서 되돌리기가 가장 싼 행동입니다.

도구별로 실제 필요한 권한을 정리한 결정표. 포트폴리오 앱과 세금 소프트웨어, 직접 만든 스프레드시트는 읽기만 필요하고, 그리드봇과 자동매매 전략은 읽기와 거래가 필요하지만 출금은 필요하지 않으며, 거래소 사이 자금 재배치에만 출금이 필요해 그 지점에서 주소 고정 요구가 걸리고, 연습과 백테스트는 실계정이 아닌 테스트넷 키를 쓴다는 것을 표시 - Cryptonakta
대부분의 줄이 읽기에서 끝납니다. 조심하라는 말이 아니라 실제로 그렇습니다.

10. 돈이 나가는 다섯 가지 믿음

다섯 가지 믿음이 안 해도 될 노출을 만듭니다. 전부 그럴듯하게 들립니다.

흔한 믿음화면이 실제로 하는 일
출금을 끄면 그 키는 안전하다거래 권한만으로 잔고를 쓸 수 있습니다. 두 장치가 하는 일이 다릅니다
권한은 내가 고르는 것이다IP를 걸었는지를 먼저 봅니다. 한 거래소는 IP 없는 시스템 키를 읽기로만 내줍니다
IP 화이트리스트는 고급 사용자용이다이 글에서 읽은 두 곳 중 한 곳은 출금 권한에 이걸 필수로 걸어 놨습니다
키 하나가 관리하기 편하다편합니다. 도구 하나만 끊으려는 순간 전부 끊는 것밖에 못 하게 됩니다
안 쓰는 키는 무해하다지울 때까지 작동합니다. 거래소가 미사용 키를 만료시키는 이유가 이겁니다

반은 맞는 말 하나

읽기 전용 키는 해가 없다고들 합니다. 대체로 맞습니다.

그래도 드러나는 게 있습니다. 내 포지션 기록과 잔고 규모입니다. 이건 누군가 접근할 때 쓸 수 있는 정보입니다. 그런 접근이 보통 어떤 모양인지는 암호화폐 사기 수법에 있습니다.

그래서 읽기 전용은 보장이 아니라 기본값입니다. 피해를 줄이는 것이지 질문을 없애는 게 아닙니다.

여섯 번째로 흔한 오해

거래소가 알아서 막아 줄 거라고 생각하는 경우가 있습니다. 어느 정도는 맞습니다.

출금 권한에 IP를 강제하는 것도, 안 쓰는 키를 만료시키는 것도 거래소가 걸어 둔 장치입니다.

다만 거기까지입니다. 읽기로 될 일에 거래를 켜는 것은 아무도 안 막아 줍니다. 그 칸은 내가 누르는 것이기 때문입니다.

일곱 번째, 가장 비싼 오해

한 번 잘 설정해 두면 계속 안전하다고 생각하는 경우입니다.

키는 그대로인데 주변이 바뀝니다. 쓰던 서비스가 인수되기도 하고, 프로그램이 다른 서버로 옮겨 가기도 하고, 내가 그 도구를 안 쓰게 되기도 합니다.

설정은 한 번이지만 확인은 가끔 해야 합니다. 1년에 두어 번이면 충분합니다.

11. 계정을 어디에 두나

계정을 어디에 두느냐가 어떤 화면을 보게 되는지를 정합니다. 권한 모델도, 화이트리스트 규칙도, 칸 이름도 거래소를 따라옵니다.

아래는 이런 연결을 흔히 하는 곳들입니다. API 화면은 저마다 다르니 시작점으로만 보시고 본인 화면을 읽으시면 됩니다.

Binance

Binance signup QR, scan to open Binance (Cryptonakta referral)혜택받고 가입 →

코드: CRYPTONAKTA
앱을 직접 설치해 가입하면, 가입 화면 ‘추천인 코드’ 칸에 CRYPTONAKTA를 넣으세요. 그래야 혜택이 적용됩니다.
출금 권한을 켜려면 IP 제한이 필수라고 문서에 적어 둔 곳

OKX

OKX signup QR, scan to open OKX (Cryptonakta referral)혜택받고 가입 →

코드: 46938989
앱을 직접 설치해 가입하면, 가입 화면 ‘추천인 코드’ 칸에 46938989를 넣으세요. 그래야 혜택이 적용됩니다.
권한 단계와 IP 없는 키의 만료 규칙을 개발자 문서에 공개

Bybit

Bybit signup QR, scan to open Bybit (Cryptonakta referral)혜택받고 가입 →

코드: 5ZGKX#0
앱을 직접 설치해 가입하면, 가입 화면 ‘추천인 코드’ 칸에 5ZGKX#0를 넣으세요. 그래야 혜택이 적용됩니다.
도구를 붙이기 전에 API 권한 화면을 열어 항목을 직접 읽어 볼 것

KuCoin

KuCoin signup QR, scan to open KuCoin (Cryptonakta referral)혜택받고 가입 →

코드: CXEM4JP5
앱을 직접 설치해 가입하면, 가입 화면 ‘추천인 코드’ 칸에 CXEM4JP5를 넣으세요. 그래야 혜택이 적용됩니다.
키·시크릿과 별도로 API 패스프레이즈를 쓰는 구성

제휴 고지: 일부 링크는 제휴 링크이며, 추가 비용 없이 수수료를 받을 수 있습니다. 투자 조언이 아닙니다.

자동화가 아니라 보관 쪽을 고민하는 중이라면 암호화폐 지갑이 대신 하는 일이 있고, 하드웨어 기기가 막는 것과 못 막는 것은 하드웨어 지갑 글에 있습니다.

거래소를 고를 때 이 화면도 보나

대부분 수수료만 비교합니다. 자동화를 붙일 생각이라면 API 화면도 한번 볼 값어치가 있습니다.

권한을 얼마나 잘게 나눠 두었는지, IP를 몇 개까지 받는지, 문서가 읽히게 적혀 있는지를 보면 됩니다.

문서가 부실한 곳은 나중에 막혔을 때 물어볼 데가 없습니다. 이건 수수료보다 오래 영향을 줍니다.

12. 제가 보는 기준

제가 쓰는 기준은 짧습니다. 위협 모델이 아니라 권한 화면에서 나온 기준입니다.

하는 순서

그 프로그램이 정상으로 돌 때 하는 일에서 시작하고, 나머지는 안 켭니다. 이 습관 하나가 결정 대부분을 없앱니다.

도구마다 키를 따로 만들고 도구 이름을 붙입니다. 30초 드는데, 나쁜 날이 한 줄 수정으로 끝납니다.

출금은 안 켭니다. 원칙이라서가 아니라, 그게 필요한 기능 이름을 댈 수 있는 프로그램을 돌려 본 적이 없어서입니다.

켜야 한다면 주소부터 고정할 겁니다. 한 거래소에서는 어차피 선택지가 없기도 하고요.

흔한 조언 중에 틀렸다고 보는 것

API 키를 비밀번호처럼 지키라는 말이 제일 많이 돕니다. 좋은 뜻인데 감을 잘못 심어 줍니다. 위험이 문자열을 얼마나 잘 숨겼느냐에 달린 것처럼 들리니까요.

결과는 숨기기 전에 거의 정해집니다. 스위치를 고르는 그 순간입니다.

거래 권한을 켠 채 잘 숨긴 키가, 대충 보관한 읽기 전용 키보다 나쁩니다.

가장 확신이 없는 부분

내가 키를 넘긴 서비스가 그걸 얼마나 잘 보관하는지는 저도 모릅니다. 그 회사 바깥에 있는 사람은 아무도 모릅니다. 이 주제에서 제일 불편한 지점입니다.

확신하는 건 모양입니다. 권한이 갈라져 있고, 위험한 칸은 주소 고정에 묶여 있고, 시크릿은 한 번만 보여 준다는 것입니다.

문서를 읽은 두 거래소에서 다 그랬습니다. 화면이 전부 새로 그려져도 저는 이 셋을 설명할 겁니다.

반대 의견도 성립합니다

잔고만 읽는 가계부 앱 하나에 이렇게까지 하냐고 할 수 있습니다. 읽기 전용 키라면 저도 반박하지 않습니다.

이 정도 주의는 표의 다른 줄 때문에 있는 겁니다. 문제는 같은 화면에서 둘 다 만들어진다는 것이고, 어느 쪽을 만드는지 정하는 4초가 그때는 달라 보이지 않는다는 겁니다.

제가 안 하는 것

안내문에 적힌 대로 권한을 전부 켜지 않습니다. 읽기만 켜서 먼저 붙여 봅니다.

키를 채팅이나 메일로 보내지 않습니다. 한 번 보낸 건 지워도 남았다고 봅니다.

그리고 안 쓰는 키를 남겨 두지 않습니다. 이게 제일 흔하고 제일 쉬운 실수입니다.

이 글을 어떻게 쓰면 좋은가

전부 기억할 필요는 없습니다. 키를 만들 때 세 가지만 물어보시면 됩니다.

이 프로그램이 정상으로 돌 때 주문을 넣는가. 어디서 도는가. 그리고 이 키는 어느 프로그램 전용인가.

세 질문에 답하면 권한 화면에서 고민할 게 남지 않습니다.

가장 흔한 질문에 대한 답

봇에 키를 줘도 되냐는 질문을 많이 받습니다. 제 답은 늘 같습니다.

줘도 되는데, 무엇을 주는지는 알고 주셔야 합니다. 읽기만 준 것과 거래까지 준 것은 같은 행동이 아닙니다.

그 차이를 모르고 주는 게 문제이지, 주는 것 자체가 문제는 아닙니다.

자주 묻는 질문

Q. Binance 가입하는 법, 단계별로 어떻게 하나요?
① Binance 공식 사이트나 앱에서 이메일·휴대폰으로 가입합니다. ② 신분증으로 본인인증(KYC)을 완료합니다. ③ 보안을 위해 인증 앱 2FA를 켭니다. ④ 가입 화면의 ‘추천인 코드’ 칸에 CRYPTONAKTA를 입력하면 현물 거래 수수료 상시 10% 할인을 받습니다. 원화 직접 입금이 어려우면 국내 거래소에서 코인을 사 전송하거나 P2P를 이용합니다.
Q. API 키 권한이 안 켜집니다. 왜 그런가요?
IP를 고정하지 않았을 가능성이 큽니다. 바이낸스 문서에는 출금 권한을 켜려면 IP 접근 제한이 필수이고, IP 제한이 없으면 시스템이 만든 키는 읽기로만 설정할 수 있다고 적혀 있습니다. 즉 권한을 고르기 전에 주소 고정 여부가 먼저 결정됩니다. 프로그램이 도는 자리에 고정 주소가 있으면 그걸 넣으시고, 없으면 읽기 전용으로 계획을 잡는 편이 빠릅니다.
Q. 자동매매에 API 키를 줘도 되나요?
어떤 칸을 켰느냐에 달려 있고, 그건 봇이 아니라 내가 정합니다. 읽기만 켠 키는 잔고와 기록을 보여 줄 뿐 아무것도 못 옮깁니다. 거래를 켠 키는 코인을 밖으로 못 보내도 내 잔고를 쓸 수 있습니다. 출금까지 켜면 내보낼 수 있습니다. 프로그램이 정상으로 돌 때 하는 일에서 권한을 정하시고, 나머지는 켜지 마세요.
Q. 읽기 전용과 거래 권한은 뭐가 다른가요?
읽기는 잔고, 포지션, 주문 기록, 체결 내역을 보는 것까지입니다. 주문을 넣거나 무엇을 옮기지는 못합니다. 거래는 내 잔고로 주문을 넣고 고치고 취소할 수 있게 합니다. 그래서 내가 들고 있는 것과 그 값어치가 달라질 수 있습니다. 포트폴리오 앱이나 세금 도구처럼 사람들이 흔히 연결하는 도구는 대부분 읽기면 됩니다.
Q. 출금을 안 켜면 돈이 나갈 일은 없나요?
내 것이 아닌 주소로 자산이 나가지는 못합니다. 가장 빠른 결말이 사라지는 건 맞습니다. 다만 거래 권한이 켜져 있으면 손실은 날 수 있습니다. 거래가 되는 키는 잔고를 쓸 수 있기 때문입니다. 실제로 어떤 자동매매 서비스가 뚫렸을 때 피해는 출금이 아니라 무단 거래에서 나왔습니다. 출금을 끄는 건 할 만한 일이고, IP 제한을 대신하지는 못합니다.
Q. 화이트리스트에는 무슨 주소를 넣나요?
그 프로그램이 접속해 오는 주소입니다. 프로그램이 내 기기에서 도는 게 아니라면 내 주소가 아닙니다. 빌린 서버에서 도는 봇은 주소가 하나로 고정이라 간단합니다. 집 인터넷은 주소가 바뀔 수 있으니 며칠 간격으로 두 번 확인해 보시면 됩니다. 남의 서비스에 맡기는 키라면 그 회사가 접속 주소를 공개해 두는 경우가 많습니다.
Q. 시크릿 키를 잃어버렸습니다. 다시 볼 수 있나요?
없습니다. 거래소도 못 꺼내 줍니다. 시크릿은 만들 때 한 번만 보여 주고, 고객센터가 읽을 수 있는 형태로 저장해 두지 않습니다. 생각보다 큰 문제는 아닙니다. 그 키를 지우고 같은 권한으로 새로 만든 다음 쓰던 프로그램에 넣어 주면 됩니다. 몇 분이면 끝나고, 오히려 옛 메시지를 뒤져 가며 찾는 쪽이 위험합니다.
Q. 프로그램이 값을 세 개 물어봅니다. 두 개만 받았는데요?
거래소마다 자격 증명 구성이 다릅니다. 한쪽은 시스템이 만든 키에 키와 시크릿 두 개를 주고, 직접 만드는 키는 방식이 달라 비밀에 해당하는 쪽을 내가 들고 있습니다. 다른 쪽은 키를 만들 때 정한 패스프레이즈를 요청마다 같이 보냅니다. 세 개를 물어본다고 고장 난 게 아니라 세 개짜리 거래소를 쓰고 있는 겁니다.
Q. 키 하나로 여러 프로그램에 써도 되나요?
권할 만하지 않습니다. 프로그램마다 키를 따로 만들고 그 프로그램 이름을 라벨에 적어 두시면 됩니다. 그러면 문제가 생긴 날 키 하나를 지우고 프로그램 하나만 멈춥니다. 키를 같이 쓰면 전부 멈추게 하거나, 어디가 샜는지 알아낼 동안 살려 두거나 둘 중에 골라야 합니다. 나중에 목록을 점검할 수 있다는 것도 이유입니다.
Q. 선물도 돌리려면 키를 따로 만들어야 하나요?
거래 권한을 상품별로 나눠 둔 거래소가 많아서 그런 경우가 많습니다. 현물 거래가 되는 키가 선물 포지션까지 열 수 있는 건 아닙니다. 이 구분은 오히려 쓸모가 있습니다. 프로그램이 현물만 한다면 선물 칸을 꺼 두는 것으로 오작동에 포지션이 열리는 결말을 없앨 수 있습니다. 두 상품의 차이는 현물과 선물에 있습니다.
Q. 안 쓰는 키는 그냥 둬도 되나요?
안 쓰게 된 날 지우는 편이 낫습니다. 키는 지울 때까지 작동하니, 2년 전에 잠깐 써 본 서비스도 그대로면 아직 살아 있는 자격 증명을 들고 있는 셈입니다. 거래소도 이걸 문제로 보고 있습니다. 적어도 한 곳은 IP를 안 건 거래·출금 키를 일정 기간 미사용 시 만료시킵니다. 가끔 API 관리 화면을 열어 모르는 키를 지우는 것으로 충분합니다.
Q. API 키를 만들면 2차 인증이 소용없어지나요?
소용없어지는 건 아니고 지키는 자리가 다릅니다. 2차 인증은 로그인 화면을 지킵니다. 누가 비밀번호를 알아도 거기서 한 번 더 막힙니다. API 키는 그 화면을 지나지 않고 바로 붙습니다. 그래서 두 가지를 따로 관리해야 합니다. 2차 인증을 켜 두고도 몇 년 전에 만든 키가 살아 있는 경우가 흔한데, 그 키는 2차 인증과 무관하게 계속 작동합니다.
Q. 테스트넷 키는 뭐가 다른가요?
테스트 환경은 실계정과 분리된 별도 시스템입니다. 잔고도 따로이고 값어치가 없습니다. 키도 거기서 따로 발급하니 내 실제 자산을 건드리지 못합니다. 프로그램을 만드는 중이라면 여기 붙여 두는 게 맞습니다. 반대로 덜 만든 프로그램을 실계정 키에 연결해 동작을 보는 게 이 주제에서 가장 안 해도 되는 사고입니다. 붙이는 주소만 바꾸면 되는 경우가 대부분입니다.
Q. 권한을 최소로 줄일 수 없는 프로그램은 어떻게 하나요?
자동매매처럼 거래 권한이 정말 필요한 경우가 있습니다. 그때는 권한을 줄이는 대신 다른 쪽을 조입니다. IP를 걸고, 그 프로그램 전용 키를 따로 만들고, 안 쓰는 상품 칸은 끕니다. 그리고 계정 잔고 전부를 거기 올려 두지 않습니다. 어느 것도 완벽하지 않지만, 나쁜 날의 크기는 이렇게 정할 수 있습니다.
Q. 키가 유출된 것 같습니다. 어떻게 하나요?
그건 이 글의 범위 밖입니다. 이 글은 그전 단계를 다룹니다. 우선 모르는 키를 전부 지우고 세션과 기기를 정리하셔야 합니다. 로그인 없이 무엇까지 가능한지를 포함한 전체 순서는 거래소 계정이 털렸을 때에 있습니다. 2차 인증까지 잃은 상황이면 2FA 분실에 무엇이 잠기고 무엇은 안 잠기는지 정리돼 있습니다.
출처: 이 글을 쓰면서 직접 열어 읽은 거래소 문서입니다. 바이낸스의 API 키 생성 지원 문서와 OKX 개발자 문서의 API 키 생성·권한·보안 항목이며 2026년 9월에 확인했습니다. 다른 거래소 문서는 본문 텍스트를 읽을 수 없어 인용하지 않았습니다. 그래서 이 글은 규칙의 모양만 설명하고 구체적인 값은 본인 화면에서 확인하도록 안내합니다. 권한 이름과 제한 값, 화면 구성은 거래소마다 다르고 예고 없이 바뀝니다. 특정 거래소나 자동매매 서비스를 권하는 글이 아닙니다.

다음 글: 거래소 계정이 털렸을 때 무슨 일이 벌어지나

편집 기준독립 암호화폐 에디토리얼 · 솔직하게, 과장 없이 · 투자 조언이 아닙니다.
🌐 한국어