Пополнение/вывод средств через API

Последнее обновление: 31 мар. 2025 г.

Введение

Наш 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, которое предоставляет исходный ID транзакции (от клиента к Kraken), в отличие от внутреннего ID транзакции (от Kraken к Kraken), предоставляемого полем txid.

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=ASBG2IX-OQZTG5-CRWGN3 {"error":["EFunding:Invalid reference id"]}

Нужна дополнительная помощь?