피드로 돌아가기
Building a free Polymarket screener: how I turned 13,963 markets into a single scannable page
Dev.toDev.to
Infrastructure

정적 HTML 생성 방식으로 1.3만개 마켓 데이터 스캐너 구축 및 비용 0원 달성

Building a free Polymarket screener: how I turned 13,963 markets into a single scannable page

manja3162026년 5월 26일2beginner

Context

Polymarket UI의 단일 마켓 중심 설계로 인한 다수 마켓의 통합 스캔 및 비교 분석 불가. 대량의 마켓 데이터에서 특정 변동성이나 거래량 조건을 충족하는 항목을 빠르게 식별할 수 있는 전용 뷰의 부재.

Technical Solution

  • Gamma API의 Pagination을 활용해 활성 마켓 약 1,200개를 3회 호출로 효율적으로 추출하는 데이터 레이어 설계
  • abs(one_day_change) 기준 내림차순 정렬 및 volume24hr > 1000 필터링을 통한 노이즈 제거 및 Top Movers 식별 로직 구현
  • Backend와 DB를 완전히 제거하고 Python 스크립트로 flat HTML을 생성하는 Static Site Generation 구조 채택
  • GitHub Pages를 통한 배포 자동화로 인프라 관리 오버헤드 제거 및 Hosting 비용 0원 유지
  • 실시간 거래가 아닌 셋업 스캔이라는 목적에 맞게 수 시간 단위의 데이터 Staleness를 허용하는 Trade-off 결정

Impact

  • 전체 호스팅 비용 $0 달성
  • 13,963개 전체 마켓 중 활성 마켓 1,200개를 3회 API 호출로 최적화하여 수집
  • 5,629개 이벤트 기반 백테스팅을 통해 73%의 Mean-reversion rate 확인

Key Takeaway

서비스의 목적이 초단위 실시간성이 아닌 '패턴 스캐닝'일 경우, 복잡한 Backend 인프라 대신 Static Site Generation을 통해 비용과 유지보수 효율을 극대화할 수 있음.


1. 실시간성 요구 수준을 재검토하여 DB/Backend 제거 가능 여부 판단

2. API Pagination 최적화를 통해 불필요한 데이터 호출 최소화

3. 데이터 노이즈 제거를 위한 정량적 필터링 기준(예: Volume 하한선) 설정

4. Static Site Generation과 GitOps 기반 배포 파이프라인 검토

원문 읽기