바이낸스 웹소켓 — 시세 스트림 vs 상장 공지

바이낸스 웹소켓(WebSocket)을 검색했다면 둘 중 하나입니다. 이미 거래 중인 심볼의 실시간 시세 데이터(체결, 현재가, 호가)가 필요하거나, 바이낸스가 신규 상장, 상장폐지, HODLer 에어드랍을 공지하는 순간 바로 대응하고 싶은 경우입니다. 바이낸스의 시세 스트림은 첫 번째만 제공합니다. 두 번째는 제공하지 않습니다. 이 가이드는 두 가지를 모두, 실행 가능한 코드와 함께 다룹니다.

두 종류의 소켓, 두 가지 역할

피드스트리밍 내용용도
바이낸스 시세 / 선물 스트림이미 상장된 현물·무기한 선물 심볼의 실시간 체결·현재가·호가차트, 주문 집행, 마켓 메이킹
공지 웹소켓신규 상장, 상장폐지, 에어드랍이 공지되는 순간의 이벤트유동성이 붙기 전에 대응

바이낸스 기본 시세 웹소켓

바이낸스 현물 시세 스트림은 wss://stream.binance.com:9443에 있습니다. /ws/btcusdt@trade 같은 개별 스트림 경로에 바로 연결하거나, /stream?streams=로 묶음 구독을 하거나, 연결 후 SUBSCRIBE 메시지를 보낼 수 있습니다. USD-M 선물은 wss://fstream.binance.com을 사용합니다.

# pip install "websockets>=14"
import asyncio, json, websockets

async def main():
    url = "wss://stream.binance.com:9443/ws"
    sub = {"method": "SUBSCRIBE",
           "params": ["btcusdt@trade", "ethusdt@trade"],
           "id": 1}
    async with websockets.connect(url) as ws:
        await ws.send(json.dumps(sub))
        async for raw in ws:
            print(json.loads(raw))

asyncio.run(main())

이미 거래 중인 심볼에는 완벽합니다. 하지만 모든 스트림 이름(btcusdt@trade)은 이미 존재하는 심볼을 가리켜야 합니다. 아직 상장되지 않은 코인에는 바로 그 점이 문제입니다.

시세 스트림으로 신규 상장을 알 수 없는 이유

바이낸스의 새 심볼은 거래가 시작되기 전까지 스트림이 없으므로 미리 구독할 대상이 없습니다. 바이낸스는 상장, 상장폐지, HODLer 에어드랍, 모니터링 태그 결정을 공지로 발표하며, 이는 시세 소켓과 완전히 별개입니다. NEWUSDT@trade가 데이터를 내보내기 시작할 때쯤이면 가장 빠른 참여자들은 이미 공지에 반응한 뒤입니다. 시세 웹소켓은 뉴스의 하류에 있을 뿐, 뉴스 자체가 아닙니다.

공지 웹소켓: 공지가 게시되는 순간 상장을 포착

CryptoListing.ws는 전용 공지 웹소켓을 운영합니다. 바이낸스가 공지를 게시하는 즉시 구조화된 JSON 이벤트를 실시간으로 전송합니다. 공지를 대신 감지하고 파싱한 결과를 푸시해 드립니다.

항목값
엔드포인트 — 도쿄 (바이낸스 + 업비트 + 빗썸)wss://jp.cryptolisting.ws — AWS 도쿄(ap-northeast-1a), 바이낸스와 같은 리전
바이낸스만 필터wss://jp.cryptolisting.ws?cex=binance
인증업그레이드 요청의 X-API-Key 헤더
포맷바이너리 프레임, UTF-8 JSON, 마이크로초 정밀도 타임스탬프
바이낸스 이벤트spot_listing, futures_listing, spot_delisting, futures_delisting, hodler_airdrop, monitoring_tag_extend, monitoring_tag_remove, not_listing
# pip install "websockets>=14"  — 헤더 파라미터는 additional_headers
# (extra_headers는 websockets v14부터 제거됨)
import asyncio, json, websockets

API_KEY = "dsk_your_key_here"
WS_URL  = "wss://jp.cryptolisting.ws?cex=binance"

async def run():
    headers = {"X-API-Key": API_KEY}
    async with websockets.connect(WS_URL, additional_headers=headers) as ws:
        async for raw in ws:
            msg = json.loads(raw)
            if msg["type"] == "announcement":
                for ticker in msg["ticker"].split(","):
                    print(msg["listingType"], ticker, msg["title"])

asyncio.run(run())

메시지 포맷

모든 공지는 하나의 JSON 객체입니다. 한 공지에 여러 코인이 포함될 수 있어 ticker가 쉼표로 구분될 수 있으므로 항상 분리해서 처리하세요.

{
  "type": "announcement",
  "title": "Binance Will List TOKEN (TOKEN)",
  "ticker": "TOKEN",
  "publisher": "binance",
  "listingType": "spot_listing",
  "detectedTimestampUs": 1710345000005000,
  "dispatchTimestampUs": 1710345000006000
}

공지 유형별로 분기하기

피드가 바이낸스 이벤트 전체를 전달하므로 봇은 listingType으로 분기할 수 있습니다. spot_listing / futures_listing / hodler_airdrop에는 진입 경로를, spot_delisting / futures_delisting / monitoring_tag_extend에는 리스크 관리 경로를 열고, not_listing은 무시하면 됩니다. 전체 스키마는 메시지 레퍼런스(영문)를 참고하세요.

두 피드를 함께 사용하기

두 소켓은 서로 보완합니다. 공지 웹소켓을 구독해 심볼 상장 사실을 먼저 알고, 이벤트가 도착하는 즉시 바이낸스 기본 <symbol>@trade 또는 @ticker 스트림을 열어 가격을 따라가면 됩니다. 한쪽은 트리거, 다른 한쪽은 텔레메트리입니다.

클라이언트를 직접 만드시나요? 파이썬 바이낸스 상장 스나이퍼 봇 튜토리얼(영문)이 전체 과정을 다룹니다. 전체 API 레퍼런스(영문): WebSocket API 레퍼런스, 메시지 스키마, Python / Node.js 코드 예제.

자주 묻는 질문 (FAQ)

바이낸스 웹소켓 엔드포인트는 무엇인가요?

현물 시세 스트림은 wss://stream.binance.com:9443(개별 /ws/<stream>, 묶음 /stream?streams=, 또는 SUBSCRIBE 메시지), USD-M 선물은 wss://fstream.binance.com입니다. 이미 거래 중인 심볼의 데이터를 전송합니다.

바이낸스 기본 웹소켓으로 신규 상장 알림을 받을 수 있나요?

시세 스트림으로는 불가능합니다. 이미 존재하는 심볼만 구독할 수 있기 때문입니다. 상장은 시세 스트림이 아니라 공지로 발표됩니다. 공지가 게시되는 즉시 구조화된 이벤트로 받으려면 전용 상장 공지 API를 사용하세요.

공지 피드를 바이낸스만 받도록 필터링하려면?

도쿄 엔드포인트에 ?cex=binance를 붙이세요: wss://jp.cryptolisting.ws?cex=binance. ?cex=binance,upbit처럼 거래소를 조합할 수도 있습니다.

업비트와 빗썸은요?

같은 피드가 업비트와 빗썸도 다룹니다. 한국에서 업비트나 빗썸을 거래하는 봇은 두 한국 거래소를 모두 전송하는 서울 엔드포인트도 사용할 수 있습니다. 바이낸스는 도쿄에서만 제공됩니다. 로빈후드(영문 페이지)도 전용 미국 엔드포인트(wss://us.cryptolisting.ws)로 제공합니다.

API 키 받기

텔레그램으로 문의해 바이낸스 상장 공지 스트리밍을 시작하세요. 요금제 및 등급, 전체 문서(영문), 바이낸스 상장 알림 개요도 확인해 보세요.

텔레그램에서 API 키 받기