API를 통한 펀딩

최종 업데이트: 3개월 이상 전

소개

저희 REST API는 다음과 같은 입출금 관련 작업을 수행할 수 있는 여러 펀딩 엔드포인트를 제공합니다:

  • 입금 주소 조회/생성

  • 입금 거래 상태 보기

  • 출금 요청 (이미 승인된 주소/계정으로)

  • 출금 거래 상태 보기

REST API 펀딩 엔드포인트는 모두 비공개(인증된) 엔드포인트이므로 HTTP POST 메서드를 사용하여 호출해야 하며, HTTP 헤더에 유효한 인증 값을 포함해야 합니다.

펀딩 요청에 사용되는 API 키에는 키가 읽기 전용(펀딩 거래 보기만 허용)인지 또는 전체 액세스(펀딩 거래 보기 및 요청 모두 허용)인지에 따라 특정 권한이 포함되어야 합니다.

예시

다음은 각 REST API 펀딩 엔드포인트에 대한 예시입니다 (저희 REST API 명령줄 클라이언트를 사용합니다):

DepositMethods

% ./krakenapi DepositMethods asset=doge{"error":[],"result":[{"method":"Dogecoin","limit":false,"gen-address":true}]}

DepositAddresses (사용 가능한 입금 주소 없음)

% ./krakenapi DepositAddresses asset=doge method=Dogecoin{"error":[],"result":[]}

DepositAddresses (새 입금 주소 생성)

% ./krakenapi DepositAddresses asset=doge method=Dogecoin new=true{"error":[],"result":[{"address":"DFSHkVSQycPZDu8CkiNvx8ymHKHoMLteUD","expiretm":"0","new":true}]}

DepositStatus (네이티브 네트워크 입금)

% ./krakenapi DepositStatus asset=doge{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"QSBALMX-YTM4MI-REMLWN","txid":"f0cf9b21eeabb87cd240b61ce813490bf03ae96427f5874a55768e7299a9ac9c","info":"DFSHkVSQycPZDu8CkiNvx8ymHKHoMLteUD","amount":"95.00000000","fee":"0.00000000","time":1676727227,"status":"Success"}]}

DepositStatus (ERC20 네트워크 입금)

% ./krakenapi DepositStatus asset=usdc{"error":[],"result":[{"method":"USDC","aclass":"currency","asset":"USDC","refid":"Q4FTRAH-KPUTB7-ATW3UH","txid":"0x2756a446fa1bd75c4bb84b151a12456e52e0a65ff0aa5f35d7231cd25856058b","info":"0xc2ed795f33ed0b8b43fa8165de0107438237161e","amount":"10.00000000","fee":"0.00000000","time":1679452779,"status":"Success","originators":["0x9d7f5e4b07d8f3fb9456128191e4bc517d3d706da1b1dcf52037d0c93ecae3cc"]}

추가 originators 필드는 txid 필드에서 제공하는 내부 (Kraken에서 Kraken으로의) 거래 ID와는 달리 원래 (클라이언트에서 Kraken으로의) 거래 ID를 제공합니다.

WithdrawInfo

% ./krakenapi WithdrawInfo asset=doge key=XDG_Wallet amount=100{"error":[],"result":{"method":"XXDG","limit":"100.00000000","amount":"96.00000000","fee":"4.00000000"}}

Withdraw

% ./krakenapi Withdraw asset=doge key=XDG_Wallet amount=100 {"error":[],"result":{"refid":"ASBG2IX-OQZTG5-CRWGN3"}}

WithdrawStatus

% ./krakenapi WithdrawStatus asset=doge{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"ASBG2IX-OQZTG5-CRWGN3","txid":"86b9bbee8775793d0ef420e3c374a2e7913ad8ba9e1a4939cf3044a09c533e44","info":"DNtxrbNnPWf9RZQMYcrqLL6QRgHoozabwM","amount":"96.00000000","fee":"4.00000000","time":1676713821,"status":"Success"}]}

WithdrawCancel (가능한 경우)

% ./krakenapi WithdrawCancel asset=doge refid=ASBTV5V-STE7C7-MIQUAC{"error":[],"result":true}

실패 예시

다음은 실패한 펀딩 요청의 예시이며, 수신될 수 있는 오류 메시지를 보여줍니다:

DepositAddresses (유효한 method 매개변수 없이)

% ./krakenapi DepositAddresses asset=doge method=invalid {"error":["EFunding:No funding method"]}

WithdrawInfo (key 매개변수에 잘못된 설명 사용)

% ./krakenapi WithdrawInfo asset=doge key=invalid amount=100{"error":["EFunding:Unknown withdraw key"]}

Withdraw (필수 수혜자/수취인 정보가 없는 주소 사용)

% ./krakenapi Withdraw asset=btc key=BTC_Wallet amount=1.5{"error":["EGeneral:Invalid arguments:beneficiary_recipient"]}

수혜자/수취인 정보는 현재 캐나다 계정에서 특정 출금 시에만 필요합니다.

WithdrawCancel (이미 진행 중인 출금에 대해)

% ./krakenapi WithdrawCancel asset=doge refid=ASBTV5V-STE7C7-MIQUAC{"error":["EFunding:Invalid reference id"]}

더 많은 도움이 필요하신가요?