Polymarket API 가이드 2026: CLOB API로 거래하는 방법

2026년 Polymarket CLOB API를 활용한 프로그래매틱 거래 완전 가이드: 인증, 주문 발주, 시장 데이터 접근, Python 및 TypeScript SDK, 트레이딩 봇 구축 방법을 코드 예시와 함께 설명.

Polymarket API를 통해 개발자와 알고리즘 트레이더는 예측 시장을 프로그래밍 방식으로 운영할 수 있습니다. 트레이딩 봇 구축, 시장 데이터 분석, 거래 전략 자동화 등 API는 실시간 시장 정보 접근과 거래 실행을 위한 강력한 도구를 제공합니다.

API로 거래를 시작할 준비가 되셨나요?

Polymarket 계정 생성

Polymarket API란?

Polymarket API는 중앙 지정가 오더북 (CLOB) API로 다음을 수행할 수 있습니다.

  • 프로그래밍 방식으로 거래 실행 — 웹 인터페이스 없이 주식 매매
  • 실시간 시장 데이터 접근 — 가격, 유동성, 오더북 정보 조회
  • 주문 관리 — 주문 생성, 취소, 미체결 주문 모니터링
  • 거래 이력 조회 — 거래 활동 및 성과 데이터 다운로드
  • 거래 알고리즘 구축 — 차익거래, 마켓 메이킹, 추세 추종 등 전략 자동화

Polymarket이 오더북 모델로 전환한 이후, 속도, 정밀성, 자동화가 필요한 본격적인 트레이더에게 API는 필수적인 도구가 되었습니다.

API 문서 위치

공식 Polymarket API 문서는 다음에서 확인할 수 있습니다.

docs.polymarket.com/developers/CLOB

문서 내용:

  • 빠른 시작 가이드 — 몇 분 만에 시작하기
  • 인증 — API 자격 증명 취득 및 사용 방법
  • API 레퍼런스 — 완전한 엔드포인트 문서
  • 코드 예시 — 여러 언어의 샘플 구현
  • SDK 문서 — 클라이언트 라이브러리 가이드

공식 SDK

Polymarket은 API 통합을 간소화하기 위한 공식 SDK를 제공합니다.

이 SDK들은 인증, 요청 포맷팅, 에러 처리를 담당하여 거래 애플리케이션 구축을 용이하게 합니다.

시작하기: 인증

API로 거래하려면 요청 인증이 필요합니다. 절차는 다음과 같습니다.

1단계: Polymarket 계정 생성

먼저 Polymarket 계정이 필요합니다. 아직 없다면:

  1. polymarket.com 방문
  2. 이메일 또는 지갑 연결로 가입
  3. 필요한 인증 절차 완료

2단계: API 자격 증명 생성

  1. Polymarket 계정에 로그인
  2. 설정API (또는 Developer Settings)로 이동
  3. 새 API 키 생성
  4. 자격 증명을 안전하게 저장 — 다음이 필요합니다:
    • API 키
    • API 시크릿 (한 번만 표시됨)

3단계: 요청 인증

API는 서명 기반 인증을 사용합니다. 각 요청에는 다음이 포함되어야 합니다:

  • API 키
  • API 시크릿으로 생성한 암호화 서명
  • 리플레이 공격 방지를 위한 타임스탬프

공식 SDK가 이를 자동으로 처리하지만, 문서를 참조하여 수동으로 구현할 수도 있습니다.

API를 활용한 거래 방법

1. 시장 데이터 조회

거래 전에 시장 정보를 조회합니다.

예시: 시장 상세 정보 조회

// TypeScript SDK 사용
import { ClobClient } from '@polymarket/clob-client';

const client = new ClobClient({
  apiKey: 'your-api-key',
  apiSecret: 'your-api-secret',
});

// 시장 정보 조회
const market = await client.getMarket('0x1234...'); // 시장 ID
console.log(market);

조회 가능한 정보:

  • Yes/No의 현재 가격
  • 오더북 깊이 (비드와 애스크)
  • 최근 거래
  • 시장 유동성
  • 해결 기준

2. 매수 주문 발주

프로그래밍 방식으로 주식을 매수하려면:

예시: 주식 매수

// 시장가 매수 주문 발주
const order = await client.createOrder({
  market: '0x1234...', // 시장 ID
  side: 'BUY', // 또는 'SELL'
  type: 'MARKET', // 또는 'LIMIT'
  size: '100', // 주식 수
  price: '0.60', // 주당 가격 (LIMIT 주문 시 필수)
});

console.log('주문이 발주되었습니다:', order);

주문 유형:

  • MARKET: 가장 좋은 가용 가격으로 즉시 실행
  • LIMIT: 가격이 목표에 도달했을 때만 실행

3. 지정가 주문 발주

지정가 주문으로 특정 가격을 설정할 수 있습니다:

// 지정가 매수 주문 발주
const limitOrder = await client.createOrder({
  market: '0x1234...',
  side: 'BUY',
  type: 'LIMIT',
  size: '500', // 500주
  price: '0.55', // 55센트 이하에서만 매수
});

4. 주문 취소

미체결 주문을 취소하려면:

// 주문 ID로 취소
await client.cancelOrder('order-id-123');

5. 주문 상태 확인

미체결 주문을 모니터링합니다:

// 모든 미체결 주문 조회
const openOrders = await client.getOpenOrders();

// 특정 주문 조회
const order = await client.getOrder('order-id-123');

6. 거래 이력 조회

거래 활동을 다운로드합니다:

// 거래 이력 조회
const trades = await client.getTrades({
  market: '0x1234...', // 선택 사항: 시장별 필터
  limit: 100, // 조회할 거래 수
});

API를 활용한 일반적인 거래 전략

전략 1: 차익거래 봇

여러 시장의 가격 차이를 모니터링합니다:

// 의사 코드 예시
async function arbitrageBot() {
  const markets = await client.getMarkets();

  for (const market of markets) {
    const price = market.currentPrice;
    // 차익거래 기회 확인
    if (price < 0.50) {
      // 저평가 시 매수
      await client.createOrder({
        market: market.id,
        side: 'BUY',
        type: 'MARKET',
        size: '100',
      });
    }
  }
}

전략 2: 마켓 메이킹

양쪽에 주문을 배치하여 유동성을 제공합니다:

// 현재 가격 주변에 매수와 매도 주문 배치
const currentPrice = 0.60;

// 0.59에 매수 주문
await client.createOrder({
  market: '0x1234...',
  side: 'BUY',
  type: 'LIMIT',
  size: '100',
  price: '0.59',
});

// 0.61에 매도 주문
await client.createOrder({
  market: '0x1234...',
  side: 'SELL',
  type: 'LIMIT',
  size: '100',
  price: '0.61',
});

전략 3: 자동 포지션 관리

손절매와 이익 실현을 설정합니다:

// 포지션을 모니터링하고 조건에 따라 거래 실행
async function managePositions() {
  const positions = await client.getPositions();

  for (const position of positions) {
    if (position.pnl < -0.10) {
      // 손절매: 10% 하락 시 포지션 청산
      await client.createOrder({
        market: position.market,
        side: 'SELL',
        type: 'MARKET',
        size: position.size,
      });
    }
  }
}

API 속도 제한 및 모범 사례

속도 제한

Polymarket API에는 남용 방지를 위한 속도 제한이 있습니다:

  • 퍼블릭 엔드포인트: 일반적으로 분당 60건의 요청
  • 거래 엔드포인트: 계정 등급에 따라 변동
  • WebSocket 연결: 무제한 (실시간 데이터용)

팁:

  • 폴링 대신 실시간 데이터에는 WebSocket 연결 사용
  • 재시도에는 지수 백오프 구현
  • 가능하면 시장 데이터를 캐싱
  • 해당하는 경우 요청을 일괄 처리

모범 사례

  1. 에러 처리: 네트워크 문제, 유효하지 않은 주문, API 에러에 대해 적절한 에러 처리를 반드시 구현
  2. 테스트: 개발 시 테스트넷 또는 소액으로 진행
  3. 보안: API 시크릿을 클라이언트 사이드 코드나 공개 리포지토리에 노출하지 않기
  4. 모니터링: 디버깅을 위해 모든 API 호출과 응답을 로깅
  5. 리스크 관리: 코드에 포지션 한도와 손절매를 구현

일반적인 사용 사례

  • 알고리즘 거래: 복잡한 전략을 자동으로 실행
  • 차익거래: 시장 간 가격 차이를 찾아 활용
  • 시장 분석: 시장 추세와 센티먼트를 분석하는 도구 구축
  • 포트폴리오 관리: 리밸런싱과 리스크 관리 자동화
  • 데이터 수집: 연구 및 백테스팅을 위한 과거 데이터 수집

문제 해결

인증 에러

  • API 키와 시크릿이 올바른지 확인
  • 시스템 시계가 동기화되어 있는지 확인 (타임스탬프가 중요)
  • 올바른 API 엔드포인트를 사용하고 있는지 확인

주문 거절

  • 잔고가 충분한지 확인
  • 시장이 아직 활성 상태인지 확인
  • 주문 파라미터 (수량, 가격 등)가 유효한지 확인

속도 제한 에러

  • 요청 스로틀링 구현
  • 실시간 업데이트에는 WebSocket 사용
  • 가능하다면 API 등급 업그레이드 검토

다음 단계

  1. 문서 읽기: docs.polymarket.com/developers/CLOB에서 완전한 API 레퍼런스 확인
  2. SDK 다운로드: GitHub 리포지토리에서 TypeScript 또는 Python SDK 선택
  3. 작게 시작하기: 거래 전에 간단한 시장 데이터 쿼리부터 시작
  4. 충분히 테스트: 소액으로 전략을 테스트
  5. 커뮤니티 참여: Polymarket의 Discord나 포럼에서 다른 API 사용자와 연결

Polymarket API는 자동 거래와 시장 분석을 위한 강력한 가능성을 열어줍니다. 적절한 인증, 에러 처리, 리스크 관리를 갖추면 연중무휴 24시간 운영되는 정교한 거래 시스템을 구축할 수 있습니다.


John Lee
Published: January 15, 2025
Updated: March 5, 2026
12분 소요