Trading · KYC 없음
Freqtrade를 해외 VPS에 호스팅
오픈소스 암호화폐 트레이딩 봇 Freqtrade를 암호화폐로 결제하는 KYC 없는 해외 VPS에서 24시간 운영하세요 — 전략, API 키, 거래 내역이 제3자 SaaS를 거치는 일이 없습니다.
설명
Freqtrade는 CCXT를 통해 거래소(Binance, Kraken, Bybit, OKX 등 수십 곳)에 연결되는 무료 오픈소스 알고리즘 암호화폐 트레이딩 봇으로, Python으로 작성되었습니다. 백테스트를 거친 자신만의 전략을 드라이런 또는 라이브 모드로 실행하고, REST API와 FreqUI 웹 대시보드를 제공하며, 전략의 하이퍼옵트/백테스트 수행과 FreqAI 머신러닝 모델 학습도 가능합니다.
왜 해외에서 호스팅해야 할까요
트레이딩 봇은 24시간 온라인 상태를 유지해야 하며 자금을 이동시킬 수 있는 거래소 API 키를 보관합니다 — 따라서 법적 신원과 결부된 공유 클라우드가 아니라 직접 통제하는 인프라에 올려야 합니다. 암호화폐로 결제하는 KYC 없는 해외 VPS는 전략 IP, 키 자료, 거래 흔적을 KYC 인증이 필요한 어떤 제공업체 계정에도 남기지 않으며, 무제한 트래픽과 기본 제공되는 디도스(DDoS) 방어로 봇의 접속 가능성과 거래소 연결의 안정성을 유지합니다.
배포
실제로 작동하는 참고 설정
이 내용을 새 ChainVPS 인스턴스에 붙여넣으세요. 자리표시자를 실제 값으로 교체한 뒤 실행하세요.
# Ubuntu 24.04 — Docker부터 설치:
# curl -fsSL https://get.docker.com | sh
#
# 그 다음 Freqtrade의 user_data + config를 생성한 뒤 시작합니다.
# 부트스트랩 (스택을 올리기 전, 한 번만 실행):
# docker compose run --rm freqtrade create-userdir --userdir /freqtrade/user_data
# docker compose run --rm freqtrade new-config --config /freqtrade/user_data/config.json
# # user_data/config.json 수정: 거래소 키, 페어, 시작 시 dry_run:true,
# # 그리고 api_server.listen_ip_address 0.0.0.0 + 강력한 jwt_secret_key/password 설정.
#
# docker-compose.yml:
services:
freqtrade:
image: freqtradeorg/freqtrade:stable
restart: unless-stopped
container_name: freqtrade
volumes:
- "./user_data:/freqtrade/user_data"
# FreqUI/REST API는 localhost에만 바인딩 — SSH 터널로 접속:
# ssh -L 8080:127.0.0.1:8080 user@your-vps
ports:
- "127.0.0.1:8080:8080"
command: >
trade
--logfile /freqtrade/user_data/logs/freqtrade.log
--db-url sqlite:////freqtrade/user_data/tradesv3.sqlite
--config /freqtrade/user_data/config.json
--strategy SampleStrategy
방화벽
열어야 할 포트
| 포트 | 프로토콜 | 용도 |
|---|---|---|
| 8080 | TCP | FreqUI 웹 대시보드 + REST API — 127.0.0.1에 바인딩된 상태로 유지하고 SSH 터널로 접속하세요, 절대 인터넷에 그대로 노출하지 마세요 |
| 22 | TCP | 관리 및 FreqUI 터널링용 SSH — 기본 포트 22에서 변경하고 키 인증만 사용하세요 |
| 443 | TCP | 선택 사항 — SSH 터널 대신 인증된 HTTPS 리버스 프록시로 FreqUI를 앞단에 둘 경우에만 사용 |
적정 규모 산정
필요한 요금제
VPS Nano/Small (1 vCPU, 1-2 GB RAM)
단일 봇, 소수의 페어에서 드라이런 또는 라이브 운영, 서버 내 하이퍼옵트는 없음. Freqtrade는 유휴 상태에서 수백 MB 수준이라 24시간 트레이딩에 충분합니다.
VPS Pro (2-4 vCPU, 4-8 GB RAM)
많은 페어에서 라이브 봇을 운영하면서 가끔 백테스트와 하이퍼옵트도 수행. 코어가 늘어나면 며칠씩 걸리던 하이퍼옵트 작업이 몇 시간에서 몇 분으로 단축되며, SSD는 대용량 OHLCV 데이터셋 처리에 도움이 됩니다.
Dedicated (or top VPS with 8+ vCPU / 16+ GB)
FreqAI ML 모델 학습, 여러 해에 걸친 대규모 백테스트, 또는 여러 봇의 동시 운영. FreqAI는 CPU/RAM을 많이 소모하므로, 전용 코어를 사용하면 모델 재학습 중 다른 사용자와의 자원 경합으로 인한 지연을 피할 수 있습니다.
추천 로케이션: Freqtrade는 거래소 API 키와 전략적 우위를 보관하므로 프라이버시 등급 로케이션(NL, CH, RO, IS, MD, LU)에 적합하며, 그중에서도 CH와 IS는 법적 관할권 측면에서 특히 강력한 선택입니다. 다만 실질적인 트레이드오프가 존재합니다: 트레이딩 지연 시간은 거래소의 매칭 엔진까지의 거리에 좌우되므로, Binance류 거래소에서 촘촘한 타임프레임으로 매매한다면 NL이 낮은 유럽 지연 시간과 프라이버시를 가장 잘 조합한 선택지입니다. Freqtrade는 캔들 종가 기준으로 매매하며 초단타(HFT) 방식이 아니므로, 대부분의 전략에서는 수십 밀리초 수준의 지연은 문제가 되지 않습니다 — 프라이버시 등급 로케이션은 자유롭게 선택하셔도 됩니다.
보안을 강화하세요
보안 강화 체크리스트
- 8080 포트를 절대 공개 인터넷에 노출하지 마세요. 위에서 보인 대로 localhost 바인딩을 유지하고 SSH 터널(ssh -L 8080:127.0.0.1:8080)로 FreqUI에 접속하거나, 인증된 HTTPS 리버스 프록시 뒤에 두세요. /forceexit와 /forcebuy 엔드포인트가 열린 FreqUI는 계정 자산을 그대로 빼낼 수 있는 직접적인 경로가 됩니다.
- 모든 전략은 dry_run:true로 먼저 시작하고, 백테스트로 동작을 확인한 뒤에만 라이브로 전환하세요. config.json에 확실한 stoploss와 max_open_trades를 설정해 버그로 인한 과도한 레버리지를 막으세요.
- 거래소 API 키는 트레이딩은 허용하되 출금은 비활성화한 상태로 생성하고, 키를 VPS의 고정 IP로 IP 화이트리스트 처리하세요. 이렇게 하면 키가 유출되더라도 매매는 가능하지만 거래소에서 코인을 빼낼 수는 없습니다.
- config.json을 잠그세요: 키와 FreqUI jwt_secret_key/비밀번호가 평문으로 들어 있으므로 chmod 600으로 보호하고, 길고 무작위한 jwt_secret_key를 설정하며, 절대 git에 커밋하지 마세요. 대신 환경 변수로 시크릿을 전달하는 방식을 고려하세요.
- 서버 자체를 강화하세요: 기본이 아닌 포트에서 키 전용 SSH, SSH만 허용하는 UFW, unattended-upgrades 활성화, 그리고 user_data/(설정, SQLite 거래 DB, 전략)를 정기적으로 서버 외부에 백업하세요.
- 거래 알림과 원격 /status, /stop, /forceexit 제어를 위해 Freqtrade의 텔레그램(Telegram) 연동을 활성화하세요 — 웹 UI를 열지 않고도 휴대폰에서 오작동하는 봇을 중지시킬 수 있습니다.
질문
호스팅 Freqtrade — FAQ
봇이 매매하려면 인바운드 포트를 열어야 하나요?
아니요. Freqtrade는 거래소 API로 아웃바운드 연결만 하므로 매매를 위해 인바운드 포트가 필요하지 않습니다. 8080 포트는 선택 사항인 FreqUI 대시보드 전용이며, 이는 SSH 터널 뒤에서 localhost에 바인딩된 상태를 유지해야 합니다.
먼저 드라이런(모의 매매)으로 실행할 수 있나요?
네, 그렇게 하는 것이 좋습니다. config.json에서 dry_run:true로 설정하면 실제 주문 없이 실시간 시장 데이터를 대상으로 매매를 시뮬레이션합니다. 전략이 백테스트를 거치고 드라이런에서의 동작을 확인한 뒤에만 라이브로 전환하세요. 드라이런이나 백테스트에는 실제 잔고가 있는 거래소 키가 필요하지 않습니다.
소형 VPS로도 라이브 트레이딩이 가능한가요?
충분히 가능합니다. 1 vCPU / 1-2 GB의 VPS Nano 또는 Small로도 단일 봇 라이브 설정을 24시간 운영할 수 있습니다. 더 많은 코어와 RAM은 서버 내 하이퍼옵트, 대규모 백테스트, FreqAI 머신러닝 학습처럼 지속적인 부하가 아닌 일시적으로 몰리는 연산 작업에만 필요합니다.
FreqUI 대시보드에 안전하게 접속하려면 어떻게 하나요?
compose 파일에 나온 대로 8080을 127.0.0.1에 바인딩된 상태로 두고, 노트북에서 SSH 터널을 여세요: ssh -L 8080:127.0.0.1:8080 user@your-vps, 그런 다음 http://localhost:8080에 접속하세요. 이렇게 하면 트레이드 제어 API가 공개 인터넷에 전혀 노출되지 않습니다.
ChainVPS에서 트레이딩 봇을 운영해도 되나요?
네. Freqtrade는 공개 거래소 API에 연결하는 정당한 소프트웨어입니다. ChainVPS는 KYC 없이 암호화폐로 결제하므로 거래 활동에 결부된 신원이 존재하지 않지만, 이용 중인 거래소의 약관과 해당 지역 법규를 준수하는 것은 본인의 책임입니다.
재부팅이나 다운 이후에도 봇이 계속 실행되게 하려면 어떻게 하나요?
compose 파일은 restart: unless-stopped를 사용하고 Docker 서비스가 부팅 시 자동 시작되므로, 재부팅이나 컨테이너 다운 후에도 봇이 자동으로 다시 실행됩니다. 봇이 멈추면 알림을 받도록 텔레그램 알림을 추가하고, 거래 데이터베이스와 설정을 보존하기 위해 user_data/를 정기적으로 백업하세요.