[자동매매 개발기] 수수료 자동 환급기 제작기 #1 - "시스템 매매의 적은 거래소 수수료다."
안녕하세요 코젵입니다.
좋은 하루 보내고 계신가요..?
혼자서 다양한 자동매매를 구현하면서 제일 크게 의미를 가진건 역시 수수료였습니다.
제가 자동매매를 구현하면서 제일 배가 아팠던건..
저는 제 거래량의 0.005% ~ 0.015% 정도를 벌지만 코인 거래소는 0.25%를 가져가더라구요..
실제로 이전 자동매매를 돌리면서 낸 수수료만 600~800만원 정도 되는 듯했습니다.
번 것도 좋지만, 수수료로 나간 5~600만원이 계속 눈에 밟히더라고요.
자동매매다 보니 거래 횟수가 많고, 그만큼 수수료가 눈덩이처럼 불어납니다.
그러다 문득 이런 생각이 들었습니다.
# 발단 - "받은 커미션을 다시 돌려주면 어떨까?"
거래소에는 추천인(어필리에이트) 제도가 있습니다.
제 추천 코드로 누군가 가입해서 거래하면, 그 사람이 낸 수수료의 일부가 커미션으로 저에게 들어옵니다.
그래서 저는 이걸 이용해서 환급용 계정을 만든뒤 해당 계정을 추천인으로 등록해 뒤로 수수료를 돌려받아
최소한의 수수료만 지불하는... 일명 셀퍼럴을 하고 있죠..
제 지인분 중 한 분은 이 자기자신을 추천인으로 등록하는 방식이 이해가 잘 안되고 귀찮다고 하더군요.
제가 대신 해드린다고 말씀드리고 그 분은 저를 추천인으로 등록하시고 열심히 거래 하고 계십니다.
저는 당연히 제가 받은 모든 금액을 그 분께 매일매일 전송해드렸습니다.
벌써 그 금액이 10,000$ 를 넘어섰네요;;

아무래도 사람이 하다보니 놓치는 날도 생겨 아래 사진처럼 독촉하시기도 합니다 ㅋㅋㅋㅋ

문제는 이걸 손으로 하려니 죽겠는 거에요..
그래서 이참에 프로그램으로 만들어야겠다 했습니다. ( 클로드에게 감사하며.. )
사람마다, 날마다 커미션이 다른데 이걸 일일이 계산해서 송금할 순 없으니까요.
# 세 조각으로 쪼개보기
막상 만들려고 뜯어보니 필요한 기능은 딱 세 가지였습니다.
- 누가 나에게 얼마의 커미션을 발생시켰는지 조회
- 각자에게 얼마를 돌려줄지 계산
- 그 금액을 실제로 각 사람에게 송금
2번 계산은 순수 코딩이라 문제가 없습니다.
관건은 1번과 3번을 거래소 API가 지원하느냐였습니다.
여기가 안 되면 프로젝트 자체가 성립을 안 하니까요.
저는 주력으로 쓰는 MEXC를 기준으로 파고들었습니다.
# 1번 - 커미션 조회, 다행히 된다
MEXC 어필리에이트 API를 뒤져보니 필요한 게 있었습니다.
- GET /api/v3/rebate/affiliate/commission — UID별 커미션과 합계 조회
- GET /api/v3/rebate/affiliate/referral — 추천 가입자의 UID, 거래액 등 조회
즉 "누구 덕분에 내가 얼마를 벌었는지"를 UID 단위로 뽑아낼 수 있다는 뜻입니다.
실제로 포털에서 조회해보면 이렇게 나옵니다.

어필리에이트 포털에서 조회한 하루치 커미션. 거래량 349,414 USDT, 커미션 32.8 USDT, 상태는 Released(정산완료).
이 값을 API로도 똑같이 받아올 수 있으니 1번은 통과입니다.
(단, 이 조회는 어필리에이트로 승인된 계정만 가능합니다. 저는 미리 승인신청하여 되어있는 상태입니다.)
# 3번 - 진짜 걱정했던 부분
사실 제일 걱정한 건 3번, 실제 송금이었습니다.
거래소 API는 보통 자기 계정 안에서의 이체(현물↔선물 지갑 정도)만 열어두거든요.
"내 추천인에게 보낸다"처럼 임의의 외부 유저에게 보내는 기능은 없을 거라 생각했습니다.
그런데 문서를 뒤지다 이걸 발견했습니다.
- POST /api/v3/capital/transfer/internal — 내부 이체
파라미터를 보니 toAccountType을 UID로 두고, toAccount에 상대방 UID를 넣으면
다른 MEXC 유저에게 바로 송금이 되는 구조였습니다.
이걸 확인한 순간 "아, 이거 만들 수 있겠다" 싶었습니다.
# 그림이 그려졌다
세 조각이 다 확인되니 전체 흐름이 명확해졌습니다.
[커미션 조회] → [UID별 환급액 계산] → [내부이체로 각자에게 송금]
여기에 제 규칙을 얹기로 했습니다.
모두에게 똑같이 주는 게 아니라, 거래량(=수수료를 많이 낸 사람)에 따라 등급을 나눠서
환급 비율을 다르게 주는 방식입니다. 많이 거래하는 사람일수록 더 많이 돌려받게요.
그리고 이걸 매일 crontab으로 자동 실행하면,
사람이 손 하나 안 대도 매일 알아서 환급이 나가는 시스템이 됩니다.
# 근데.. 쉽게 될 리가 없죠
당연히 순탄하진 않았습니다.
개발을 진행하면서 예상 못 한 벽들이 줄줄이 나왔는데, 미리 살짝 스포하자면:
- 송금이 리스크 정책에 막혀서 에러코드 하나랑 며칠을 씨름했고
- "어제 것"을 조회했는데 자꾸 그저께 값이 나오는 정산 타이밍 문제도 있었고
- 조회는 되는데 정작 제 지갑엔 잔액이 없는 황당한 상황도 겪었습니다
이 문제들을 하나씩 풀어가는 과정이 사실 이 시리즈의 진짜 알맹이입니다.
# 마치며
정리하면 1화의 결론은 이겁니다.
"거래소 커미션을 추천인에게 자동 환급하는 시스템은, MEXC API로 만들 수 있다."
조회도 되고, 계산은 제 마음대로고, 송금 엔드포인트도 있다.
세 조각이 다 있으니 남은 건 잘 조립하고 터지는 문제들을 잡는 것뿐이었습니다.
현재는 MEXC 거래소 ( 말이 많은 거래소죠... ) 만 만드는 중인데 차차 비트겟이나 다른 거래소도
도전해볼 생각입니다. 수수료가 제일 싼곳을 찾다보니;; 그나마 MEXC..
결국엔 저와 비슷한 고민을 하는 분들에게 도움이 되는 서비스로 판을 키워 만들어보려고합니다.
그 과정을 앞으로 하나씩 기록해보려고 합니다.
다음 화에서는 본격적으로 코드를 짜면서 마주친 첫 에러부터 풀어가 보겠습니다.
감사합니다아