如何在 Kraken Pro 上创建 API 密钥

上次更新时间: 2025年3月31日

API key 是 API 身份验证的主要组成部分之一;它们相当于您 Kraken 账户的用户名和密码。

API key 是调用任何账户特定(即私有)API 端点所必需的,包括账户管理交易资金赚取端点。调用市场数据(即公共)API 端点不需要 API key,因为市场数据端点不与任何特定的 Kraken 账户关联。

API key 可用于与我们的市场和账户交互的任何软件,例如我们的REST API 命令行客户端、一些移动应用程序、第三方交易机器人以及许多其他产品/服务。

创建 API Key

Settings

  • 前往 API 选项卡,然后点击“创建 API key”(您将在后续步骤中配置您的 API key)

Create API Key

配置 API Key

API key 有多项设置和选项,必须在 API key 使用前进行配置,特别是名称/描述和访问权限。

Form

Key 名称

Key 名称本质上是 API key 的名称,可以是您喜欢的任何名称,只要描述是唯一的(与同一账户上任何其他 API key 的描述不同)。

最佳实践是为您的 API key 提供一个描述性名称,而不要暴露敏感信息。(例如,“交易 Key”、“账户管理 Key”、“Python API Key 6”或“移动应用 Key”)。

Key 权限

Key 权限决定了 API key 允许调用哪些账户特定(私有)API 端点:

资金

  • 查询资金是查询账户余额信息(例如 BalanceTradeBalance)的 API 端点所必需的。

  • 存入资金是与存款相关的资金端点(例如 DepositMethodsDepositAddresses)所必需的。

  • 提取资金是与提款相关的资金端点(例如 WithdrawInfoWithdrawWithdrawCancel)所必需的。

订单和交易

  • 查询未结订单和交易是查询现有订单和保证金头寸(例如 OpenOrdersQueryOrdersOpenPositions)的 API 端点所必需的。

  • 查询已结订单和交易是查询先前已结/已取消订单和保证金头寸(例如 ClosedOrdersQueryOrdersQueryTrades)的端点所必需的。

  • 修改订单是下新订单的交易端点(例如 AddOrderEditOrderAddOrderBatch)所必需的。

  • 取消/关闭订单是取消未结或待处理订单的交易端点(例如 CancelOrderCancelAllCancelOrderBatch)所必需的。

数据

  • 查询账本条目是检索账户账本中历史账户数据(即 LedgersQueryLedgers)的 API 端点所必需的。

  • 导出数据是导出(下载)账户账本的端点(即 AddExportRetrieveExportExportStatusRemoveExport)所必需的。

作为正确使用 API key 权限的示例,考虑一个为交易目的提供给第三方的 API key。这样的 API key 肯定需要修改订单取消/关闭订单权限,可能需要查询未结订单和交易权限,但几乎肯定不需要提取资金权限。

适当配置权限将允许 API 客户端为账户进行交易,但会阻止 API 客户端访问任何账户信息或执行资金任务。

可选设置

其余的 API key 设置仅适用于更高级的配置,因此它们通常可以保持默认值:

  • WebSocket 接口是用于通过 GetWebSocketsToken 端点检索 WebSocket API 身份验证令牌所必需的。

  • IP 地址限制是一项安全功能,它将 API key 的使用限制在特定的客户端 IP 地址。

  • Key 过期可用于创建仅在特定时间内有效的 API key,例如仅在 1 周内有效的 key。

  • 查询开始/结束日期/时间是一项设置,它将历史账户数据请求限制在特定时间范围,例如可以检索今年交易历史但不能检索往年交易历史的 key。

  • 自定义 Nonce 窗口是一项设置,用于通过提供一个短时间范围(1 秒、10 秒等)来克服可能导致 API 请求乱序到达的网络问题,在此期间,具有无效 nonce(低于先前使用的 nonce 值的 nonce 值)的 API 请求不会导致无效 nonce 错误。

一旦 API key 设置已适当配置,即可通过点击生成 key 按钮创建新的 API key。

使用 API Key

API key 由一对公钥和私钥组成,两者都必须提供给 API 客户端软件。

Added key

API key 可以通过不同的方式提供,例如:

  • 密钥对可以直接作为纯文本复制粘贴到 API 客户端代码中。例如:我们的 PHP API 客户端 使用的方法。

  • 密钥对可以复制粘贴到 API 客户端可以访问的纯文本文件中。例如:我们的 命令行 API 客户端 使用的方法。

注意:私钥在某些 API 客户端软件中也称为 API 密钥(或简称密钥)。

API 密钥的 2FA

API 密钥已经提供了一种安全的方式来验证对 Kraken 账户的 API 访问,但通过添加双重身份验证 (2FA) 可以进一步增强其安全性。

可以通过“安全”页面将 API 密钥 2FA 添加到现有 API 密钥中,并且可以使用静态密码或 Google Authenticator。

注意:为 API 密钥添加 2FA 还要求 API 客户端支持 2FA(为每次调用私有 API 方法提供 2FA 数据),否则将返回意外错误而不是所需的 API 输出。

在此处阅读更多关于 API 密钥 2FA 工作原理 的信息。

需要更多帮助吗?