서버 없이 만든 코인 도구: 구조와 비용 이야기
JimaxLab의 코인 도구들은 서버가 없습니다. 차트, 스캐너, 터미널, 펀딩비 비교 모두 정적 파일로만 이루어져 있고, 필요한 데이터는 여러분의 브라우저가 거래소에서 직접 받아옵니다. 혼자 만드는 사이드 프로젝트라 서버 비용과 관리 부담을 최대한 줄이고 싶었어요.
데이터는 어디서 오나
- 바이낸스, 바이비트, OKX가 누구나 쓸 수 있게 열어둔 공개 시세 API를 씁니다. 계정이나 API 키가 필요 없는 데이터만 사용합니다.
- 과거 캔들, 종목 목록, 24시간 시세는 일반 요청으로 받고, 실시간 가격·호가·체결은 웹소켓으로 계속 받아옵니다.
- 세 거래소 모두 브라우저에서 직접 호출하는 것을 허용하고 있어서 중간에 서버를 둘 필요가 없었습니다.
계산은 어디서 하나
스캐너의 지표 계산(이동평균, RSI, ATR, 볼린저 밴드, 피벗)과 조건 판정은 모두 브라우저 안에서 합니다. 520개 종목에 37개 조건을 돌려도 계산 시간은 1초가 안 걸립니다. 오히려 오래 걸리는 건 데이터를 받아오는 쪽이에요. 거래소마다 1분에 보낼 수 있는 요청량이 정해져 있어서, 그 한도 안에서 순서대로 받아오도록 대기열을 두었습니다. 1일·1주봉을 처음 열 때 1분 정도 걸리는 이유입니다.
내 데이터는 어디에 저장되나
설정, 차트에 그린 선, 관심 종목, 가격 알림, 모의 트레이딩 기록은 모두 여러분의 브라우저 저장소(localStorage)에만 저장됩니다. 서버로 보내지 않으니 따로 회원가입이 필요 없고, 대신 브라우저를 바꾸거나 기록을 지우면 사라집니다.
사용한 기술
- TypeScript와 Vite로 만들고, 차트는 오픈소스 차트 라이브러리 KLineCharts를 씁니다.
- 배포는 정적 파일을 저장소(S3)에 올리고, CDN(CloudFront)으로 전달합니다.
- 지표 계산, 스캔 규칙, 모의 거래 엔진은 직접 작성했고, 자동 테스트로 계산이 맞는지 확인합니다.
장점과 한계
| 장점 | 한계 |
|---|---|
| 회원가입 없이 바로 쓸 수 있음 | 브라우저를 닫으면 스캔도 멈춤 (24시간 서버 스캔이 아님) |
| 개인 데이터가 서버에 쌓이지 않음 | 기기 간 동기화가 안 됨 |
| 운영 비용이 거의 들지 않음 | 실제 거래소 계정 연동 주문은 불가능 |
| 거래소 데이터를 직접 받아 지연이 적음 | 일부 국가에서는 거래소 API 접속이 막혀 있음 |
운영비는 광고 수익으로 충당하고 있습니다. 광고가 도구를 가리지 않도록 주문 화면이나 터미널에는 광고를 넣지 않았습니다.