如何创建现货API密钥

Last updated: 2025年8月8日

API密钥是 API 认证与安全体系的核心组件,其作用相当于您Kraken帐户的用户名和密码。

调用任何账户特定(私有)API 端点(例如账户数据交易资金收益端点)需要API密钥。调用市场数据(公共)API 端点不需要API密钥,因为市场数据端点不与任何特定的Kraken帐户关联。

任何与我们的市场和账户交互的软件都可以使用API密钥,例如我们的 REST API 命令行客户端、第三方移动应用和交易平台、第三方交易机器人以及各种其他产品/服务。

  • 创建API密钥

  • 配置API密钥(权限/设置)

  • 使用API密钥

  • API密钥双重身份认证(2FA)

创建API密钥

46.png
  • 选择 API 选项卡并点击 创建API密钥。

46.png

配置API密钥

API密钥包含多项必须配置的设置和选项方可使用,特别是名称/描述与访问权限。

API_Key_Settings.png

密钥说明

密钥描述本质上是API密钥的名称,几乎可以是您喜欢的任何内容,只要该描述是唯一的(与同一账户上任何其他API密钥的描述不同)即可。

默认情况下,密钥描述将填充为类似“api-key-1605316109249“的内容。您可以选择保留此默认描述,也可将其更改为更具描述性的名称(例如“交易密钥“、“账户管理密钥“、“Python API密钥 6“ 或 “移动应用密钥“等)。

密钥权限

密钥权限决定API密钥被允许调用哪些账户特定(私有)API 端点:

资金

  • 查询资金权限是查询账户余额信息的 API 端点所必需的,例如余额交易余额

  • 存入资金权限是与存款相关的资金端点所必需的,例如存款方式存款地址

  • 取出资金权限是与提款相关的资金端点所必需的,例如取款信息取款撤销取款

订单&交易

  • 查询未结订单和交易权限是查询现有订单和保证金头寸的 API 端点所需的,例如未结订单查询订单未平仓头寸

  • 查询已结订单和交易权限是查询之前已平仓/取消的订单和保证金头寸的端点所必需的,例如已结订单查询订单查询交易

  • 修改订单权限是交易端点所必需的,这些端点用于下新订单,例如添加订单编辑订单批量添加订单

  • 取消/关闭订单权限是交易端点所必需的,这些端点用于取消未结订单或待处理订单,例如取消订单取消所有订单批量取消订单

其他

  • 查询分类账条目权限是 API 端点所必需的,这些端点用于从账户账簿中检索历史账户数据,即分类帐查询分类帐

  • 导出数据权限是导出(下载)账户分类帐的端点所必需的,即添加导出任务检索导出数据导出状态移除导出任务

  • 访问 WebSockets API 权限是必需的,以便通过获取 WebSockets 令牌端点检索用于 WebSockets API 的认证令牌。

作为正确使用API密钥权限的示例,假设您需要向第三方提供一个仅用于交易目的的API密钥。此类API密钥肯定需要修改订单取消/关闭订单权限,可能需要查询未结订单和交易权限,但几乎肯定不需要提取资金权限。

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

可选设置

剩余的API密钥设置仅是用于更高级的配置,因此通常可以保持其默认值:

  • 随机数窗口是一项用于解决网络问题的设置,这些问题可能导致 API 请求乱序到达。该设置通过提供一个短暂时间范围(1 秒、10 秒等),在此时间内,即使收到无效 nonce API 请求(即 Nonce 值低于先前使用过的 Nonce 值),也不会触发无效 Nonce 错误。 

  • IP 白名单是一项安全功能,它将API密钥的使用限制在特定的客户端 IP 地址范围内。

  • 密钥过期可用于创建一个只在特定时间段内有效的API密钥,例如一个仅在 1 周内有效的密钥。

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

一旦API密钥设置配置妥当,可以通过点击生成密钥按钮来创建新的API密钥。

重要提示:API密钥、私钥和二维码应视为与用户名/密码同等重要,需妥善保管。如果您后续需要再次使用,请将它们保存在密码管理器中。切勿以未加密的形式保存!

使用API密钥

API 密钥由一对公钥和私钥组成,必须同时提供给 API 客户端软件。

API_ExampleKey1Generated_03122021.png

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

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

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

注意:Kraken Futures 目前不对美国和其他国家/地区的客户开放。 私钥在某些 API 客户端软件中也被称为 API 密钥(或简称为密钥)。

API密钥的双重身份认证 (2FA)

API密钥已为Kraken帐户的 API 访问提供了安全认证方式,但通过添加双因素身份验证 (2FA) 可以进一步增强其安全性。

API密钥的双重身份认证 (2FA) 可以通过‘安全’页面添加到已有的API密钥上,并可以使用静态密码或谷歌身份验证器。

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

此处阅读更多关于API密钥的双重身份认证 (2FA) 如何工作的相关信息。

需要更多帮助吗?