All
필터링 기준:
현금을 내 계정으로 입금하려면 어떻게 하나요?
계정 인증에 대한 도움이 필요합니다
왜 내 계정에 접근할 수 없나요?
암호화폐 출금 수수료가 있나요?
계정에 로그인하는 데 도움이 필요합니다
REST API 펀딩 엔드포인트를 사용하여 고객은 Kraken 계정으로 자금을 입금/출금하고 입금/출금 거래의 실시간 상태를 요청할 수 있습니다.
입금/출금은 초기 요청부터 거래 완료까지 여러 단계를 거치므로, 펀딩 엔드포인트는 호출 시점에 따라 다른 상태 값을 반환합니다.
상태 값은 원래 인터넷 금융 거래 프로토콜(IFEX) 문서의 16/17페이지에서 가져왔지만, 암호화폐 거래에 더 적합하도록 약간 수정되었습니다(예를 들어, 가능한 모든 상태 값이 사용되는 것은 아닙니다).
입금 거래에 대한 가능한 상태 값은 다음과 같습니다:
Settled = 입금이 접수되었지만 블록체인에서 추가 확인이 필요합니다.
Success = 입금이 블록체인에서 필요한 수의 확인을 완료했습니다.
Failure = 입금이 실패했습니다(다양한 이유 중 하나 이상으로).
다음은 DepositStatus 엔드포인트의 응답에 위 상태 값이 어떻게 나타나는지에 대한 몇 가지 예시입니다:
Settled 상태:{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"QSB7IFM-Q3LT3X-NVAOKE","txid":"92c908ea2ea819d678d67130e4d20b625a8f97f3cfff45f906dde8cef41a046a","info":"D7SLwMBPqfFMCZ8EJDMoVEePpZAFFegLt8","amount":"997.00000000","fee":"0.00000000","time":1611308478,"status":"Settled"}]}
Success 상태:{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"QSB7IFM-Q3LT3X-NVAOKE","txid":"92c908ea2ea819d678d67130e4d20b625a8f97f3cfff45f906tdde8cef41a046a","info":"D7SLwMBPqfFMCZ8EJDMoVEePpZAFFegLt8","amount":"997.00000000","fee":"0.00000000","time":1611308478,"status":"Success"}]}
출금 거래에 대한 가능한 상태 값은 다음과 같습니다:
Initial = 출금 요청이 접수되었으며 유효성(계정의 자금 제한 등)을 확인 중입니다.
Pending = 출금이 당사의 펀딩 게이트웨이에서 처리되기를 기다리고 있습니다.
Settled = 출금이 블록체인으로 전송되었습니다(이 시점에서 블록체인 거래 ID를 사용할 수 있습니다).
Success = 출금 거래가 블록체인에서 최소 1회 확인되었습니다.
On hold = 출금이 보류되었으며 당사 펀딩 팀에서 수동으로 확인해야 합니다.
Failure = 출금이 실패했습니다(다양한 이유 중 하나 이상으로).
다음은 WithdrawStatus 엔드포인트의 응답에 위 상태 값이 어떻게 나타나는지에 대한 몇 가지 예시입니다:
Initial 상태:{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"ASBCMYC-F5ETQT-34NMWT","txid":null,"info":"DGNBPsa2GhhtZGEZo79uF3WN2bTxFxmc9y","amount":"98.00000000","fee":"2.00000000","time":1612782924,"status":"Initial"}]}
Pending 상태:{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"ASBCMYC-F5ETQT-34NMWT","txid":null,"info":"DGNBPsa2GhhtZGEZo79uF3WN2bTxFxmc9y","amount":"98.00000000","fee":"2.00000000","time":1612782924,"status":"Pending"}]}
Settled 상태:{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"ASBCMYC-F5ETQT-34NMWT","txid":"064536e901f2cbfa6e279aa7a87c700b64e0ce561bf6e266788c47496f75106c","info":"DGNBPsa2GhhtZGEZo79uF3WN2bTxFxmc9y","amount":"98.00000000","fee":"2.00000000","time":1612782924,"status":"Settled"}]}
Success 상태:{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"ASBCMYC-F5ETQT-34NMWT","txid":"064536e901f2cbfa6e279aa7a87c700b64e0ce561bf6e266788c47496f75106c","info":"DGNBPsa2GhhtZGEZo79uF3WN2bTxFxmc9y","amount":"98.00000000","fee":"2.00000000","time":1612782924,"status":"Success"}]}
Failure 상태:{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"ASBCMYC-F5ETQT-34NMWT","txid":null,"info":"DGNBPsa2GhhtZGEZo79uF3WN2bTxFxmc9y","amount":"98.00000000","fee":"2.00000000","time":1612782924,"status":"Failure","status-prop":"canceled"}]}
REST API OHLC 엔드포인트는 요청된 간격의 720개 데이터 포인트로 제한된 양의 과거 데이터만 제공합니다. 예를 들어, 1분 간격으로 OHLC 데이터를 요청하면 가장 최근 720분(12시간)의 데이터가 반환됩니다.
추가 OHLC 또는 틱 데이터가 필요한 애플리케이션의 경우, REST API Trades 엔드포인트를 통해 당사 시장의 전체 거래 내역(과거 시간 및 판매)을 검색할 수 있습니다. 모든 시간 프레임 및 모든 간격에 대한 OHLC는 과거 시간 및 판매 데이터에서 생성될 수 있습니다.
Trades 엔드포인트는 데이터의 시작 날짜/시간을 지정하는 since라는 선택적 매개변수를 사용합니다. since 값은 나노초 해상도의 UNIX 타임스탬프입니다(9개의 추가 숫자가 있는 표준 초 단위 UNIX 타임스탬프).
예를 들어, https://api.kraken.com/0/public/Trades?pair=xbtusd&since=1559347200000000000와 같은 Trades 엔드포인트 호출은 2019년 6월 1일 00:00:00 UTC부터 XBT/USD의 과거 시간 및 판매를 반환합니다:
{"error":[],"result":{"XXBTZUSD":[["8552.90000","0.03190270",1559347203.7998,"s","m",""],["8552.90000","0.03155529",1559347203.8086,"s","m",""],["8552.90000","0.00510797",1559347203.9664,"s","m",""],["8552.90000","0.09047336",1559347203.9789,"s","m",""],["8552.90000","0.00328738",1559347203.9847,"s","m",""],["8552.90000","0.00492152",1559347203.9897,"s","m",""],["8552.90000","0.00201848",1559347203.9937,"s","m",""],["8552.90000","0.11422068",1559347203.9993,"s","m",""],["8552.90000","0.00425858",1559347204.071,"s","m",""],["8552.90000","0.00427679",1559347204.0762,"s","m",""],["8552.90000","0.06381401",1559347204.1662,"s","m",""]...["8579.50000","0.05379597",1559350785.248,"s","l",""],["8579.50000","0.94620403",1559350785.2936,"s","l",""],["8578.10000","0.45529068",1559350785.297,"s","l",""]],"last":"1559350785297011117"}}
Trades 엔드포인트에 대한 후속 호출은 since 매개변수 값을 이전 호출 결과의 last 매개변수 값으로 대체해야 합니다(예: https://api.kraken.com/0/public/Trades?pair=xbtusd&since=1559350785297011117).
특별한 since 값인 0(제로)을 사용하면 시장 시작부터(첫 번째 거래부터) 과거 시간 및 판매를 반환합니다.
사용자 참조는 일부 주문 관리 작업(특히 주문 취소)에서 실제(API 제공) 주문 ID 대신 사용할 수 있는 클라이언트 제공 주문 ID입니다.
사용자 참조는 가능한 한 유연하게 구현되었으므로 다음과 같은 다양한 방식으로 사용될 수 있습니다:
고유 ID로 (각 주문이 다른 사용자 참조를 갖는 경우),
관련 주문을 함께 그룹화하는 데 (예: 다른 레버리지 수준의 주문 그룹화),
또는 실제 주문 ID를 알 수 없는 경우 백업 ID로.
사용자 참조는 1에서 2,147,483,647 사이의 숫자 값(본질적으로 모든 양의 32비트 숫자)이어야 하며, 따라서 간단한 카운터, 임의의 부호 있는 32비트 값 또는 초 단위 타임스탬프로 구현될 수 있습니다(단, 이는 2038년 1월 19일 3:14:07 UTC 이후에는 실패합니다).
AddOrder 엔드포인트를 호출하고 userref 매개변수에 사용자 참조를 값으로 포함하여 사용자 참조가 첨부된 주문을 할 수 있습니다:
$ ./krakenapi AddOrder pair=xdgusd type=buy ordertype=limit price=0.1 volume=50 userref=27649653
{"error":[],"result":{"descr":{"order":"buy 50.00000000 XDGUSD @ limit 0.1000000"},"txid":["OQJSXE-F5FOM-IXHVL4"]}}
이미 사용자 참조가 첨부된 주문은 Open/Closed/QueryOrders 엔드포인트를 호출하고 userref 매개변수에 기존 사용자 참조를 값으로 포함하여 볼 수 있습니다(이 경우 사용자 참조는 필터 역할을 하여 관련 주문만 표시합니다):
$ ./krakenapi OpenOrders userref=27649653
{"error":[],"result":{"open":{"OQJSXE-F5FOM-IXHVL4":{"refid":null,"userref":27649653,"status":"open","opentm":1629618802.9812,"starttm":0,"expiretm":0,"descr":{"pair":"XDGUSD","type":"buy","ordertype":"limit","price":"0.1000000","price2":"0","leverage":"none","order":"buy 50.00000000 XDGUSD @ limit 0.1000000","close":""},"vol":"50.00000000","vol_exec":"0.00000000","cost":"0.000000000","fee":"0.000000000","price":"0.000000000","stopprice":"0.000000000","limitprice":"0.000000000","misc":"","oflags":"fciq"}}}}
$ ./krakenapi ClosedOrders userref=38695724
{"error":[],"result":{"closed":{"O7YEFN-3V4RK-FBNSNM":{"refid":null,"userref":38695724,"status":"canceled","reason":"User requested","opentm":1629619539.3593,"closetm":1629619542.2246,"starttm":0,"expiretm":0,"descr":{"pair":"XBTUSD","type":"buy","ordertype":"limit","price":"25000.0","price2":"0","leverage":"none","order":"buy 0.00010000 XBTUSD @ limit 25000.0","close":""},"vol":"0.00010000","vol_exec":"0.00000000","cost":"0.00000","fee":"0.00000","price":"0.00000","stopprice":"0.00000","limitprice":"0.00000","misc":"","oflags":"fciq"}},"count":1}}
이미 사용자 참조가 첨부된 주문은 CancelOrder 엔드포인트를 호출하고 사용자 참조를 txid 값으로(주문 ID 값 대신) 사용하여 취소할 수 있습니다:
$ ./krakenapi CancelOrder txid=16764529
{"error":[],"result":{"count":1}}
동일한 사용자 참조를 가진 모든 미체결 주문이 취소되므로, 단일 CancelOrder 호출로 여러 주문을 동시에 취소할 수 있습니다(다음 응답에서 count 값 3으로 표시됨).
$ ./krakenapi CancelOrder txid=48695624
{"error":[],"result":{"count":3}}
이 문제는 Cloudflare와 관련이 있을 수 있습니다:
https://support.cloudflare.com/hc/en-us/articles/200169226-Why-am-I-getting-a-403-error-
참고: Kraken은 "브라우저 무결성 검사"를 활성화했습니다.
요청에 의심스러운 헤더가 포함되어 있는 경우 발생할 수 있습니다. 예를 들어, 요청에 사용자 에이전트가 없거나 비표준 사용자 에이전트를 사용할 수 있으므로 요청 헤더를 확인하십시오.
시스템에서 허용하는 표준 요청을 생성할 수 없는 경우, 시도 중인 요청의 전체 사본(IP 주소 및 모든 헤더 포함)을 보내주십시오. 이 정보는 추가 조사를 가능하게 합니다.
당사의 선물 REST 및 WebSocket API(futures.kraken.com)의 경우, API URL demo-futures.kraken.com을 사용하여 전체 테스트 환경을 제공합니다.
저희의 현물 REST/WebSocket API 및 FIX API의 경우, 현재 자격을 갖춘 고객을 위한 테스트 환경을 제공하고 있습니다. 이 환경에 액세스하려면 API 팀에 직접 문의하여 온보딩 프로세스를 시작해야 합니다.
REST API AddOrder 또는 WebSocket API addOrder 엔드포인트를 통해 주문을 할 때, validate 입력 매개변수를 사용하여 주문을 시뮬레이션할 수 있습니다.
validate 매개변수를 true로 설정하여 AddOrder/addOrder를 호출하면 (validate=1, validate=true, validate=anything 등) 주문 세부 정보에 오류가 있는지 확인하지만, API 응답에는 주문 ID가 포함되지 않습니다 (validate 매개변수 없이 성공적인 주문의 경우 항상 반환됨).
validate 매개변수를 사용한 AddOrder 호출 예시 (주문 ID 누락에 유의):
Bash
$ ./krakenapi AddOrder pair=xdgusd type=buy ordertype=market volume=5000 validate=true{"error":[],"result":{"descr":{"order":"buy 5000.00000000 XDGUSD @ market"}}}소액의 실제 주문 및/또는 극단적인 가격의 주문
Validate 매개변수를 사용한 포괄적인 API 테스트를 위해, 매우 작은 시장가 주문(최소 주문 규모의 주문) 또는 현재 시장 가격에서 멀리 떨어진 가격으로 지정가 주문(예를 들어, 시장 가격이 $200일 때 ETH/USD를 $800에 매도하는 지정가 주문)을 하는 것을 권장합니다.
실제 주문을 사용한 테스트는 API 코드가 실제 조건에서 저희 API와 상호 작용할 수 있도록 하여, 테스트의 모든 측면이 정확하게 됩니다 (주문이 오더북에 미치는 영향 등).
보안상의 이유로, 최근 TLS 1.0 및 1.1 지원을 중단했습니다. 저희 API에 연결하려고 할 때 SSL/TLS 연결 오류 메시지가 발생하는 경우, 이는 이러한 사용 중단된 표준 중 하나를 사용하고 있기 때문일 가능성이 높습니다. API 클라이언트를 수정하여 TLS 1.2/1.3 사용을 강제하거나, .NET 버전을 4.6 이상으로 업그레이드해야 합니다. 4.6 이상 버전은 TLS 1.2/1.3을 표준으로 사용합니다.
다음 Google Sheet를 사용하여 모든 입력 데이터 조합에 대한 REST API 인증 서명을 계산할 수 있습니다.
API 비공개(비밀) 키
API 엔드포인트 (Balance, TradeBalance, QueryOrders 등)
Nonce 값 (자세한 내용은 nonce란 무엇인가 지원 페이지를 참조하세요)
엔드포인트 입력 매개변수 (예: asset=doge)
이 계산기는 인증 알고리즘이 올바르게 구현되었는지 확인하는 데 사용될 수 있으며, 이를 통해 개발 주기 후반에 발생할 수 있는 잠재적인 문제(특히 예상치 못한 유효하지 않은 키 오류)를 방지할 수 있습니다.
Chrome (또는 다른 최신 웹 브라우저)에서 REST API 인증 계산기를 엽니다.
파일 -> 사본 만들기 메뉴를 통해 계산기 사본을 본인의 Google Drive에 만드세요 (이 단계에서는 Google 계정에 로그인해야 합니다).
API 키, API 엔드포인트, nonce 값, 입력 데이터 필드를 본인의 API 키 및 요청 세부 정보로 편집합니다.
계산된 API 인증 서명과 본인의 API 코드에서 계산된 값을 비교합니다 (두 값은 정확히 일치해야 합니다).

저희 클라이언트 라이브러리 래퍼를 사용하는 주된 이점은 API 서명 생성을 위해 바퀴를 재발명하는 데 시간과 노력을 들일 필요가 없다는 것입니다. 이미 다 되어 있습니다.
공개 메서드만 호출할 계획이라면, 인증이 필요 없으므로 클라이언트 라이브러리를 사용하지 않기로 선택할 수 있습니다.
사용 가능한 래퍼 목록은 여기에서 찾을 수 있습니다.