KuCoin 현물 및 선물 API Delphi 통합
TsgcWSAPI_Kucoin과 TsgcWSAPI_Kucoin_Futures 컴포넌트는 KuCoin 거래소에 대한 포괄적인 Delphi 접근을 제공해요. 실시간 WebSocket 시장 데이터, 비공개 계정 스트림, 거래·출금·시장 조회를 위한 완전한 REST API를 다뤄요. 이 가이드는 현물과 선물 모두에서 사용 가능한 모든 메서드를 설정 세부 사항과 실제 코드 예제와 함께 안내해요.
목차
현물 WebSocket API
현물 WebSocket API는 시장 데이터와 비공개 계정 이벤트를 실시간으로 스트리밍해요. 공개 채널은 인증 없이 사용할 수 있으며, 비공개 채널은 유효한 API 자격 증명이 필요해요.
공개 채널
공개 채널은 인증 없이 연결된 모든 클라이언트에 시장 데이터를 스트리밍해요. 각 구독 메서드에는 대응하는 구독 취소 메서드가 있어요.
메서드
설명
SubscribeSymbolTicker
특정 거래 심볼의 실시간 시세 업데이트를 구독해요.
SubscribeAllSymbolsTicker
거래소의 모든 심볼에 대한 시세 업데이트를 구독해요.
SubscribeSymbolSnapshot
24시간 통계를 포함한 특정 심볼의 스냅샷 데이터를 구독해요.
SubscribeMarketSnapshot
시장 전체 스냅샷 업데이트를 구독해요.
SubscribeLevel2MarketData
Level 2 주문서 변경사항(전체 깊이)을 구독해요.
SubscribeLevel2_5BestAskBid
주문서 상위 5개 매도/매수 호가를 구독해요.
SubscribeLevel2_50BestAskBid
주문서 상위 50개 매도/매수 호가를 구독해요.
SubscribeKlines
지정된 간격으로 특정 심볼의 캔들스틱 데이터를 구독해요.
SubscribeMatchExecutionData
특정 심볼의 실시간 체결 데이터를 구독해요.
SubscribeIndexPrice
특정 심볼의 지수 가격 업데이트를 구독해요.
SubscribeMarkPrice
특정 심볼의 마크 가격 업데이트를 구독해요.
SubscribeOrderBookChanged
특정 심볼의 주문서 변경 이벤트를 구독해요.
참고: 위에 나열된 모든 구독 메서드에는 해당 채널의 업데이트 수신을 중단하는
UnSubscribe 대응 메서드가 있어요(예:
UnSubscribeSymbolTicker).
비공개 채널
비공개 채널은 유효한 API 자격 증명이 필요하며, 주문·잔액·포지션·마진 활동에 대한 실시간 업데이트를 제공해요.
메서드
설명
SubscribeTradeOrders
거래 주문(오픈, 체결, 취소)의 실시간 업데이트를 구독해요.
SubscribeAccountBalance
실시간 계정 잔액 변경을 구독해요.
SubscribePositionStatus
마진 거래의 포지션 상태 업데이트를 구독해요.
SubscribeMarginTradeOrders
마진 거래 주문 업데이트를 구독해요.
SubscribeStopOrder
스톱 주문의 트리거 및 상태 업데이트를 구독해요.
현물 REST API
현물 REST API는 TsgcWSAPI_Kucoin의 REST_API 속성을 통해 접근해요. 모든 메서드는 JSON 문자열을 반환해요. API는 계정, 출금, 주문 관리, 스톱 주문, 시장 데이터를 다뤄요.
Accounts
메서드
설명
GetAccounts
모든 계정(메인, 거래, 마진) 목록을 반환해요.
GetAccount
계정 ID로 특정 계정의 세부 정보를 반환해요.
GetAccountBalanceSubAccount
서브 계정의 잔액을 반환해요.
InnerTransfer
내부 계정 간에 자금을 이체해요(예: 메인 → 거래 계정).
Withdrawals
메서드
설명
GetWithdrawalsList
최근 출금 기록 목록을 반환해요.
GetHistoricalWithdrawalsList
최근 범위를 벗어난 이전 출금 기록을 반환해요.
GetWithdrawalsQuotas
특정 통화의 출금 한도 및 제한을 반환해요.
ApplyWithdraw
외부 주소로의 출금을 시작해요.
CancelWithdraw
ID로 보류 중인 출금을 취소해요.
Orders
메서드
설명
PlaceOrder
새로운 현물 주문을 실행해요(시장가 또는 지정가, 매수 또는 매도).
PlaceMarginOrder
차입 자금으로 마진 주문을 실행해요.
CancelOrderByClientOid
클라이언트 지정 주문 ID로 주문을 취소해요.
GetOrder
거래소 지정 ID로 특정 주문의 세부 정보를 반환해요.
GetOrderByClientOid
클라이언트 지정 ID로 특정 주문의 세부 정보를 반환해요.
ListFills
체결된 주문(거래 실행) 목록을 반환해요.
GetRecentFills
가장 최근 체결 기록을 반환해요.
Stop Orders
메서드
설명
PlaceStopOrder
스톱 가격에 도달하면 트리거되는 스톱 주문을 실행해요.
PlaceStopMarketOrder
트리거 후 시장가로 실행되는 스톱-마켓 주문을 실행해요.
PlaceStopLimitOrder
트리거 후 지정가 주문을 생성하는 스톱-리밋 주문을 실행해요.
CancelStopOrder
거래소 지정 ID로 스톱 주문을 취소해요.
CancelStopOrderByClientOid
클라이언트 지정 ID로 스톱 주문을 취소해요.
CancelAllStopOrders
활성 스톱 주문 전체를 취소해요(심볼로 필터링 가능).
GetStopOrder
거래소 지정 ID로 특정 스톱 주문의 세부 정보를 반환해요.
GetStopOrderByClientOid
클라이언트 지정 ID로 특정 스톱 주문의 세부 정보를 반환해요.
ListStopOrders
모든 활성 스톱 주문 목록을 반환해요.
시장 데이터
메서드
설명
GetSymbolList
사용 가능한 거래 심볼 목록을 반환해요.
GetAllTickers
모든 거래 쌍의 시세 데이터를 반환해요.
GetMarketList
사용 가능한 시장 목록을 반환해요.
GetPartOrderBook100
특정 심볼의 주문서 상위 100개 항목을 반환해요.
GetFullOrderBook
특정 심볼의 전체 주문서(Level 3 데이터)를 반환해요.
GetHistories
특정 심볼의 최근 거래 내역을 반환해요.
GetKLines
지정된 간격으로 특정 심볼의 캔들스틱 데이터를 반환해요.
GetCurrencies
지원되는 모든 통화 목록을 반환해요.
GetCurrencyDetail
특정 통화의 세부 정보(체인 정보, 소수점 자릿수 등)를 반환해요.
GetFiatPrice
지정된 통화의 법정화폐 가격을 반환해요(예: BTC의 USD 가치).
선물 WebSocket API
선물 WebSocket API는 TsgcWSAPI_Kucoin_Futures가 제공하며, 선물 계약 데이터와 비공개 계정 이벤트를 실시간으로 스트리밍해요.
공개 채널
메서드
설명
SubscribeSymbolTickerV2
선물 계약 심볼의 V2 시세 업데이트를 구독해요.
SubscribeSymbolTicker
선물 계약 심볼의 시세 업데이트를 구독해요.
SubscribeLevel2MarketData
선물 계약의 Level 2 주문서 데이터를 구독해요.
SubscribeExecutionData
선물 거래의 실시간 체결 데이터를 구독해요.
SubscribeLevel2_5BestAskBid
선물 계약의 상위 5개 매도/매수 호가를 구독해요.
SubscribeLevel2_50BestAskBid
선물 계약의 상위 50개 매도/매수 호가를 구독해요.
SubscribeContractMarketData
계약 수준의 시장 데이터(펀딩 비율, 마크 가격 등)를 구독해요.
SubscribeSystemAnnouncements
시스템 전체 공지 및 유지보수 알림을 구독해요.
SubscribeTransactionStatistics
선물 계약의 집계 거래 통계를 구독해요.
참고: 선물 표에 나열된 모든 구독 메서드에는 해당 채널의 업데이트 수신을 중단하는
UnSubscribe 대응 메서드가 있어요.
비공개 채널
메서드
설명
SubscribeTradeOrders
선물 거래 주문의 실시간 업데이트를 구독해요.
SubscribeStopOrder
선물의 스톱 주문 트리거 및 상태 업데이트를 구독해요.
SubscribeAccountBalance
실시간 선물 계정 잔액 변경을 구독해요.
SubscribePositionChange
포지션 변경 이벤트(오픈, 청산, 강제청산)를 구독해요.
선물 REST API
선물 REST API는 TsgcWSAPI_Kucoin_Futures의 REST_API 속성을 통해 접근해요. 마진 관리, 리스크 한도, 펀딩 내역, 주문서 조회를 다뤄요.
메서드
설명
AddMarginManually
선물 포지션에 마진을 수동으로 추가해요.
ObtainFuturesRiskLimitLevel
선물 계약의 현재 리스크 한도 수준을 반환해요.
AdjustRiskLimitLevel
선물 계약의 리스크 한도 수준을 조정해요.
GetFundingHistory
선물 계약의 펀딩 비율 내역을 반환해요.
GetPartOrderBook100
선물 주문서 상위 100개 항목을 반환해요.
GetFullOrderBook
선물 주문서 전체를 반환해요.
GetLevel2PullingMessages
주문서 증분 업데이트를 위한 Level 2 풀링 메시지를 반환해요.
GetInterestRateList
펀딩 계산에 사용되는 이자율 목록을 반환해요.
GetIndexList
선물 계약의 지수 구성 목록을 반환해요.
코드 예제
다음 예제는 현물 거래를 위해 TsgcWSAPI_Kucoin 컴포넌트를 생성·설정하고, API 인증, REST를 통한 시세 조회, 주문 실행, WebSocket을 통한 실시간 시세 스트림 구독 방법을 보여줘요.
var
oClient: TsgcWebSocketClient;
oKucoin: TsgcWSAPI_Kucoin;
begin
// Create the WebSocket client
oClient := TsgcWebSocketClient.Create(nil);
oKucoin := TsgcWSAPI_Kucoin.Create(nil);
oKucoin.Client := oClient;
// Configure API credentials
oKucoin.Kucoin.ApiKey := 'your_api_key';
oKucoin.Kucoin.ApiSecret := 'your_api_secret';
oKucoin.Kucoin.Passphrase := 'your_passphrase';
// Connect to KuCoin
oClient.Active := True;
// REST: Get all tickers
ShowMessage(oKucoin.REST_API.GetAllTickers);
// REST: Place a limit order
ShowMessage(oKucoin.REST_API.PlaceOrder(myOrder));
// WebSocket: Subscribe to BTC-USDT ticker
oKucoin.SubscribeSymbolTicker('BTC-USDT');
end;
WebSocket 이벤트 처리
수신 메시지를 처리하는 이벤트 핸들러를 할당하세요. 이벤트는 각 업데이트의 토픽, 주제, JSON 데이터를 제공해요.
procedure TForm1.OnKucoinEvent(Sender: TObject;
const aTopic, aSubject, aData: string);
begin
// aTopic identifies the channel
// aSubject provides the specific symbol or identifier
// aData contains the JSON payload
Memo1.Lines.Add(aTopic + ' [' + aSubject + ']: ' + aData);
end;
설정 및 참고
설정 속성
TsgcWSAPI_Kucoin(현물)과 TsgcWSAPI_Kucoin_Futures(선물)는 모두 Kucoin 속성을 통해 접근하는 동일한 인증 속성을 공유해요.
속성
유형
설명
Kucoin.ApiKey
문자열
KuCoin API 키예요. KuCoin API 관리 페이지에서 발급받으세요.
Kucoin.ApiSecret
문자열
KuCoin API 시크릿이에요. 이 값을 안전하게 보관하고 클라이언트 코드에 절대 노출하지 마세요.
Kucoin.Passphrase
문자열
API 키 생성 시 설정한 패스프레이즈예요. 모든 인증된 요청에 필요해요.
중요 사항
보안: API 키, 시크릿, 패스프레이즈를 프로덕션 코드에 직접 하드코딩하지 마세요. 자격 증명은 안전한 설정 파일이나 환경 변수에 저장하세요.
현물 거래에는 TsgcWSAPI_Kucoin을, 선물 거래에는 TsgcWSAPI_Kucoin_Futures를 사용하세요. 각 컴포넌트는 서로 다른 KuCoin 엔드포인트에 연결해요.
Passphrase 속성은 KuCoin에서 필수이며 KuCoin 웹사이트에서 API 키 생성 시 설정해요.
모든 REST 메서드는 JSON 문자열을 반환해요. System.JSON의 TJSONObject 같은 JSON 파서로 응답을 파싱하세요.
공개 WebSocket 채널은 인증이 필요 없으며 API 자격 증명 없이 시장 데이터를 수신할 수 있어요.
비공개 WebSocket 채널과 계정 상태를 변경하는 모든 REST 메서드는 유효한 API 자격 증명이 필요해요.
KuCoin은 REST 및 WebSocket API 모두에 요청 제한을 적용해요. 현재 제한은 공식 KuCoin 문서를 참조하세요.
WebSocket 연결은 토큰 기반 인증 시스템을 사용해요. 컴포넌트가 토큰 획득 및 갱신을 자동으로 처리해요.
Sergio Gomez Cortijo — founder & lead developer of eSeGeCe.
Follow on LinkedIn
or GitHub .