API密钥

最近更新 2026年8月20日

API密钥可让自动化系统、交易机器人、运维脚本、报表流水线及FIX交易会话以程序化方式访问您组织的账户。本文介绍API密钥的权限模型、密钥与账户的映射方式、组织治理如何适用于密钥发起的操作,以及密钥管理本身的治理机制。

API密钥并非持有登录凭证的成员,其权限模型独立且更为简洁:

成员

API密钥

身份验证

个人登录,并启用双重验证

API密钥登录凭证

界面访问

否,仅支持API访问

权限模型

工作流配置 + 账户角色

API密钥权限统一适用于所选账户

账户级权限差异

是,角色可为不同账户授予不同权限

否,密钥权限统一适用于所有所选账户

可发起提款及划转请求

是,在授权范围内

是,在授权范围内

可审批请求

是,但无法审批自己发起的请求

从不

管理工作流

是,按其工作流配置执行

从不

两种模型刻意保持独立。成员承担的职责多样,因此拥有角色、配置文件及账户级精细权限控制。自动化操作应精准、统一且便于审计,因此密钥采用扁平化的“权限范围+账户”模型。

API密钥包含两项选择:可执行的操作(权限)及操作范围(账户)。

权限

分组

权限

允许的操作

资金

查询资金

查看持有币种及充值状态

保证金

生成充值地址并查看充值历史记录

提款

发起提款请求(参见“治理与API密钥”)

赚取

申购及赎回理财产品

订单

查询当前委托

查看未成交订单及活跃交易

查询已关闭订单

查看历史订单及已完成交易

修改订单

下单及修改订单

撤单及平仓

撤销未成交订单并关闭仓位

地址

添加取款地址

发起添加白名单地址的请求

更新提取地址

发起修改白名单地址的请求

数据

查询分类账

查看交易及账本记录

导出数据

导出账户数据,用于报告与对账

账户映射

每个密钥在创建时关联一个或多个账户,后续可编辑。密钥的权限统一作用于所有已选账户:

  • 例如,某密钥拥有“查询资金”和“创建及修改订单”权限并关联两个账户,则可在这两个账户上查看持有币种并进行交易,无法执行其他任何操作。
  • 密钥不支持按账户设置差异化权限。若自动化系统需要在一个账户上进行交易、同时仅读取另一个账户,请使用两个独立密钥。这样可清晰界定每个密钥的操作范围,便于审计。

按需指定特定账户

省略 account_id 时,私有 API 请求默认使用组织的主账户:

bash

Bash

POST /0/private/AddOrder

如需操作特定账户,请将 account_id 作为查询参数附加在 URL 中:

bash

Bash

POST /0/private/AddOrder?account_id=W5PB62NTPNYT6TYH

请将参数附在 URL 中,而非请求体内。显式传入的 account_id 优先级高于主账户默认值。这不会扩展密钥的账户映射或权限范围。若密钥无权操作所选账户,请求将被拒绝。

FIX 连接

拥有订单权限的密钥支持通过 FIX 协议进行现货交易,可与 REST 和 WebSocket API 并行使用。FIX 会话继承所用密钥的权限与账户映射:仅可在密钥选定的账户范围内交易,且受密钥权限限制。运行 FIX 订单流的机构通常为每个会话单独分配一个密钥,并将其限定在该席位交易的账户范围内。

注意:Kraken Futures 目前不对美国和其他国家/地区的客户开放。

API 密钥暂不支持通过 WebSocket 在主账户以外的账户进行交易,该功能目前仅限所有者(Owner)使用。附加账户的自动化订单流请使用 REST 或 FIX。请参阅 可用性与限制

安全设置

设置

说明

密钥到期

密钥停止工作的可选截止日期

查询起止日期

将数据查询限定在指定日期范围内

WebSocket 连接

启用或禁用实时数据流

自定义nonce窗口

针对高频使用场景的重放保护调优

IP 限制

将密钥使用限定在指定 IP 地址或 CIDR 范围内

提示:

为每个密钥分配完成任务所需的最窄权限、最少账户和最严格的 IP 限制。按系统分离密钥,交易机器人一个、报表一个,确保吊销操作精准可控。

Organization治理适用于密钥的操作范围及其管理方式。

密钥可执行的操作

成员适用的两类规则,同样适用于密钥:

  • 直接操作立即执行。交易、理财、持有币种查询、分类账查询及数据导出均即时完成,仅限在密钥授权的权限和账户范围内执行。
  • 受治理操作会创建请求。由密钥发起的提款或地址变更,与成员发起的操作进入同一处理流程:工作流策略决定请求是立即完成,还是进入审批队列等待人工审核。

密钥只能发起受治理请求。密钥永远不具备审批权限。职责分离要求每次审批都必须由人工成员完成,脚本无法替代人工判断。当提款请求策略要求两次审批时,由密钥发起的提款须等待两位成员审批,与成员发起的提款完全一致。

调用成功不等于提款完成

请在设计自动化流程时充分考虑这一异步特性。WithdrawFunds会同时返回approval_request_idrefid

bash

Bash

{
  "error": [],
  "result": {
    "refid": "FTcLNGa-4ZWmo4GCo8wrBNZz5v53v9",
    "approval_request_id": "656a021a-1d55-42c9-853a-aea57bf5abd1"
  }
}
  • refid仅确认请求已提交,并不代表资金已划转。提交时,对应金额将在源账户锁定,待请求获批后方可结算。请参阅提交即锁定资金
  • approval_request_id是该提款请求对应审批的操作句柄。请将其与您自己的提款记录关联保存。
  • 待审批的提款请求不会显示在WithdrawStatus中。被拒绝或已到期的请求不会生成任何提款记录,因此未出现在WithdrawStatus中,并不意味着提款从未提交。

若自动化系统将refid视为完成凭证,则待审批队列中的提款将被误报为已结算;若对账逻辑以“不在WithdrawStatus中即视为从未提交”进行推断,则对处理中和已拒绝的请求均会得出错误结论。

密钥同样无法访问任何管理工作流。团队访问权限、API密钥、账户、地址(超出发起地址请求的范围)及策略的管理,均为成员专属操作。

密钥的管理方式

创建、编辑和撤销API密钥属于受治理操作,须通过专用的“管理API密钥”工作流执行,与“管理团队与访问权限”工作流相互独立。这一分离在两个方面具有重要意义:

  • 管理员职责分离。可授权运维工程师管理密钥,同时不赋予其变更成员访问权限的能力,反之亦然。
  • 策略独立。密钥管理可设置独立的审批要求。许多组织要求对密钥的创建或修改进行独立审批(新凭证意味着新的账户访问途径),同时保持撤销操作的高效便捷。
  1. 请前往API密钥,选择创建密钥
  2. 请以密钥用途命名,说明其服务的系统及功能,便于在审查和安全事件中快速识别。
  3. 请选择密钥的权限。
  4. 请选择该密钥操作的账户。所选权限将统一应用于所有关联账户。
  5. 请配置安全设置:有效期、IP限制、随机数窗口。
  6. 请检查并确认。若管理API密钥策略需要审批,请求将等待所需审批完成后方可签发密钥。
注意:

修改密钥权限或关联账户、撤销密钥,均须遵循相同的治理流程。

疑难解答

该调用已创建提款请求,目前正由提款请求策略保留,等待审批。请前往“请求”页面查看,该请求将以密钥为发起方显示,等待所需成员审批。这正是治理模型的预期运作方式:自动化提出请求,由人工审批。

请求待审期间,相应金额已在来源账户锁定,专项用于本次提款。请使用调用返回的approval_request_id跟踪该请求。

出错的账户不在该密钥的账户映射范围内。密钥仅对其关联账户执行操作。请编辑密钥以添加该账户。请注意,密钥的完整权限集将统一应用于该账户,不支持按账户差异化配置。若权限范围过宽,请另行创建一个仅限于该账户的密钥。

单个密钥无法按账户设置不同权限。请创建两个密钥:交易密钥映射至账户A,只读密钥映射至账户B。权限范围更窄的密钥也更便于审计,撤销时更安全。

管理API密钥工作流可能需要审批,该请求仍在等待处理。只有在收集到所有必要审批后,密钥才会签发,其密钥机密也才会显示。请在“请求”页面查看该请求的状态。

不可以。审批始终需要由人工成员执行。这是系统规则,而非可配置策略。正是这一规则,使得自动化发起资金操作时的多方审批具有实际意义。