지원 거래소
ArBot이 연동하는 거래소 목록과 각 거래소의 특성, 수수료, Rate Limit 정책을 설명합니다.
Tier 1 - 핵심 거래소
전체 자본의 40~50%를 배치하는 핵심 거래소입니다. 최대 유동성과 빠른 실행 속도를 제공합니다.
Binance
| 항목 | 상세 |
|---|---|
| Maker 수수료 | 0.10% |
| Taker 수수료 | 0.10% |
| Rate Limit | Weight 방식, 1,200 weight / 60초 |
| WebSocket | 200 스트림/연결, 100ms 갱신 주기 |
| 특징 | 최대 유동성, sub-100ms 실행 속도 |
글로벌 최대 거래량을 보유한 거래소로, Spatial Arbitrage에서 가장 많이 활용됩니다. Weight 기반 Rate Limit은 엔드포인트별로 가중치가 다르므로 효율적인 API 호출 관리가 필요합니다.
OKX
| 항목 | 상세 |
|---|---|
| Maker 수수료 | 0.08% |
| Taker 수수료 | 0.10% |
| Rate Limit | 엔드포인트별, 기본 20회 / 2초 |
| WebSocket | Per-connection 기반 |
| 특징 | 경쟁력 있는 수수료, 마이너스 메이커 리베이트 가능 |
Maker 수수료가 0.08%로 Tier 1 거래소 중 가장 낮아 Maker 주문 위주 전략에 유리합니다. 엔드포인트별 Rate Limit 방식이므로 서로 다른 API를 병렬 호출할 수 있습니다.
Bybit
| 항목 | 상세 |
|---|---|
| Maker 수수료 | 0.10% |
| Taker 수수료 | 0.10% |
| Rate Limit | Count 방식, 600회 / 5초 |
| WebSocket | REST와 독립적 Rate Limit |
| 특징 | 빠른 출금 처리, sub-100ms 실행 속도 |
출금 처리 속도가 빨라 리밸런싱에 유리합니다. WebSocket과 REST API의 Rate Limit이 독립적으로 관리되어 데이터 수집과 주문 실행을 병렬 처리할 수 있습니다.
Tier 2 - 보조 거래소
전체 자본의 30~40%를 배치하는 보조 거래소입니다. 니치 페어와 추가 차익 기회를 제공합니다.
KuCoin
| 항목 | 상세 |
|---|---|
| Maker 수수료 | 0.10% |
| Taker 수수료 | 0.10% |
| Rate Limit | Count 방식, 30회 / 3초 |
| WebSocket | 최대 800 연결/유저 |
| 특징 | 풍부한 알트코인 커버리지 |
알트코인 상장이 활발하여 Tier 1 거래소와의 가격 불일치가 빈번하게 발생합니다. 특히 신규 상장 코인에서 Spatial Arbitrage 기회가 자주 나타납니다.
Gate.io
| 항목 | 상세 |
|---|---|
| Maker 수수료 | 0.20% |
| Taker 수수료 | 0.20% |
| Rate Limit | Count 방식, 300회 / 10초 |
| WebSocket | Auto-reconnect 지원 |
| 특징 | 1,700+ 코인, 니치 페어 지원 |
가장 많은 거래쌍을 지원하여 다양한 니치 페어에서의 차익 기회를 탐색할 수 있습니다. 다만 수수료가 0.20%로 높아 최소 스프레드 기준을 상향 조정해야 합니다.
Bitget
| 항목 | 상세 |
|---|---|
| Maker 수수료 | 0.10% |
| Taker 수수료 | 0.10% |
| Rate Limit | Count 방식, 20회 / 1초 |
| WebSocket | Reconnect 권장 |
| 특징 | 빠르게 성장 중, 카피트레이딩 기능 |
빠르게 성장하는 거래소로, 유동성이 증가하면서 Tier 1 거래소와의 가격 차이가 발생하는 빈도가 높아지고 있습니다.
한국 거래소 (KRW 마켓)
한국 원화(KRW) 마켓에 접근 가능한 거래소입니다.
한국 거래소 이용 조건
한국 거래소는 한국 은행 계좌 + 실명 인증이 필수이며, 외국인 투자자는 KRW 직접 거래가 불가합니다.
Upbit
| 항목 | 상세 |
|---|---|
| Maker 수수료 | 0.05% (KRW) / 0.25% (BTC/USDT) |
| Taker 수수료 | 0.05% (KRW) / 0.25% (BTC/USDT) |
| Rate Limit | Count 방식, 10회 / 1초 |
| 특징 | 최대 한국 거래소, 150+ KRW 페어 |
한국 최대 거래소로 KRW 마켓의 유동성이 가장 깊습니다. 김치 프리미엄(-0.18% ~ +30% 역사적 범위) 발생 시 글로벌 거래소와의 Spatial Arbitrage 기회가 극대화됩니다.
Bithumb
| 항목 | 상세 |
|---|---|
| Maker 수수료 | 0.04% (KRW) / 0.25% (BTC/USDT) |
| Taker 수수료 | 0.04% (KRW) / 0.25% (BTC/USDT) |
| Rate Limit | Count 방식, 20회 / 1초 |
| 특징 | 깊은 KRW 유동성 |
Upbit 다음으로 높은 KRW 거래량을 보유합니다. KRW 수수료가 0.04%로 Upbit보다 약간 낮아 수수료 민감한 전략에 유리합니다.
거래소 비교 테이블
| 거래소 | Tier | Maker 수수료 | Taker 수수료 | Rate Limit | Rate Limit 방식 |
|---|---|---|---|---|---|
| Binance | 1 | 0.10% | 0.10% | 1,200 / 60s | Weight |
| OKX | 1 | 0.08% | 0.10% | 20 / 2s | Per-endpoint |
| Bybit | 1 | 0.10% | 0.10% | 600 / 5s | Count |
| KuCoin | 2 | 0.10% | 0.10% | 30 / 3s | Count |
| Gate.io | 2 | 0.20% | 0.20% | 300 / 10s | Count |
| Bitget | 2 | 0.10% | 0.10% | 20 / 1s | Count |
| Upbit | KR | 0.05% | 0.05% | 10 / 1s | Count |
| Bithumb | KR | 0.04% | 0.04% | 20 / 1s | Count |
거래소 연동 방식
ArBot은 두 가지 방식으로 거래소와 통신합니다.
WebSocket (실시간 데이터)
실시간 가격 데이터 수신에 사용합니다.
- 오더북 스트림: 최소 5~20 레벨 Depth 실시간 수신
- 체결 스트림: 실시간 체결 데이터 수신
- 자동 재연결: 연결 끊김 시 자동 재연결 (기본 5초 대기, 최대 10회 시도)
- 하트비트: 연결 상태를 주기적으로 확인
# exchanges.yaml 설정 예시
websocket:
orderbook_depth: 10
reconnect_delay_s: 5
max_reconnect_attempts: 10REST API (주문 실행)
주문 생성, 취소, 잔고 조회 등 트랜잭션 작업에 사용합니다.
- ccxt 라이브러리: 100+ 거래소의 REST API를 통합 인터페이스로 제공
- 비동기 처리: aiohttp 기반 비동기 HTTP 호출
- 주문 유형: Limit, Market, IOC (Immediate-or-Cancel)
Rate Limit 정책
각 거래소는 API 남용을 방지하기 위해 Rate Limit을 적용합니다. ArBot의 RateLimiter 모듈이 이를 자동으로 관리합니다.
Rate Limit 방식
| 방식 | 설명 | 적용 거래소 |
|---|---|---|
| Weight | 엔드포인트별 가중치 합산, 윈도우 내 총 가중치 제한 | Binance |
| Count | 단순 호출 횟수 제한 | Bybit, KuCoin, Gate.io, Bitget, Upbit, Bithumb |
| Per-endpoint | 엔드포인트별 독립적 제한 | OKX |
| Token Bucket | 토큰 버킷 알고리즘 (일정 속도로 토큰 보충) | Kraken |
Rate Limit 관리
Rate Limit 초과 시 거래소에서 일시적으로 IP를 차단할 수 있습니다. ArBot은 요청 전 남은 한도를 확인하고, 한도에 근접하면 자동으로 요청을 지연시켜 차단을 방지합니다.