您可以使用前端接口或 Deribit API 创建新的 Deribit API 密钥。如果你想使用 API,请前往 使用 API 创建 API 密钥 部分。
注意
请注意,您的第一个 API 密钥必须使用前端接口创建。
请前往 API 部分 在右上角的账户面板中。
按 '添加新密钥'在界面的右侧。
在两者之间选择 Deribit 生成的密钥 和 自生密钥。请参阅 非对称 API 密钥 了解有关自生密钥的更多详细信息。
声明范围和其他 API 密钥详细信息:
-
范围: 描述使用给定密钥进行授权的最大访问权限。有关访问范围的更多信息,请参阅一节 范围和访问控制 请在下方咨询 官方 API 文档
-
名称字段: 这是您可以输入的自定义输入,用作密钥的标识符。
-
功能字段: 此 API 密钥相关的其他可选功能。它们可能会在未来的版本中进行扩展。
-
IP 白名单: 此字段是另一项安全功能,限制哪些 IP 可以使用此 IP 进行连接。
创建后,您将收到 客户端 ID 和 客户机密
客户端 ID:客户端 ID 是 API 密钥的公共标识符。这不是秘密。它可以在网络浏览器、源代码或其他任何地方公开,而无需立即出现安全问题。它主要用于识别密钥,不能单独用于身份验证。
客户机密: 客户机密是一条机密信息。把它想象成一个密码。它应该保密,永远不要向公众公开。暴露客户机密可能导致严重的安全风险。它与 客户端 ID,进行身份验证。
Deribit 上的每个 API 密钥都被分配了一个 默认访问范围,它定义了身份验证时可以授予的最大权限。这些范围决定了使用经过身份验证的会话可以执行哪些操作。
打电话时 公共/身份验证 端点,您可以请求一个或多个访问范围,方法是将它们包含在 scope 参数,用空格分隔:
scope: account:none custody:read block_trade:read
有关范围的重要规则:
-
您不能超出 API 密钥的默认范围。 服务器将 帽子 令牌的权限达到密钥的最大权限。 例如,如果密钥的默认范围是
account:read然后你要求account:read_write,发行的代币仍然只有account:read访问。 -
有效范围是一个交叉点 密钥的默认范围和请求的范围。实际上,这意味着令牌的实际权限 =(密钥的最大权限)^(请求的权限)。密钥不允许的任何范围都将被删除,并且您未请求的任何范围都将默认为密钥的设置。令牌的授予范围将在身份验证响应的范围字段中返回,因此您可以验证所获得的内容
-
如果你完全省略范围参数,Deribit 将默认为 具有只读访问权限的连接级令牌 用于交易和钱包(即没有写入权限)——本质上是你的密钥允许的最低权限。它是 建议明确指定范围 即使只是连接或会话名称,也要避免歧义。
-
令牌的分配范围返回在
scope的领域 公共/身份验证 回应。
创建 API 密钥时,应遵循 最小特权原则。仅授予用例所需的范围。例如,如果您正在制作不需要交易的数据仪表板或监控工具,请创建仅具有读取范围的 API 密钥(例如 account:read trade:read wallet:read等)。 避免任何 ...:write 在这样的密钥上设定范围,因此,即使密钥被盗也无法下订单或提取资金。您还可以在密钥上启用 IP 白名单,将其使用限制在服务器的 IP 上,这是一项额外的安全措施
要通过 Deribit API 创建 API 密钥,请使用 私钥/创建 api_key 终点。请注意,这是一个私有端点,需要事先通过身份验证 公共/身份验证 方法。
请求
{
"method": "private/create_api_key",
"params": {
"name": "test_key",
"max_scope": "account:read trade:read_write wallet:read"
},
"jsonrpc": "2.0",
"id": 1
}
回应
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"max_scope": "trade:read_write wallet:read account:read",
"ip_whitelist": [],
"client_secret": "5gE6eyXwolP4RcVmsNqq8rhjtnjv5M1_HNHUHKAXsgt",
"client_id": "GgUXjYUj",
"enabled_features": [],
"timestamp": 1721816749587,
"name": "test_key",
"id": 11,
"enabled": true,
"default": false
}
}
管理密钥: 你可以使用 私钥/edit_api_key 或者 私钥/移除 api_key (具有适当的范围)来管理密钥。每把钥匙都是 可以查看客户端 ID 和密钥 通过 API (私钥/list_api_keys) 前提是你的代币范围允许。
对于内部仪表板、监控工具或财务报告等不需要交易操作的用例,您可以创建安全的 只读 API 密钥。这种设置可确保密钥只能检索数据,而无法执行任何订单或发起提款,从而大大降低了密钥泄露时的风险。
配置新 API 密钥时,请确保 仅分配只读范围。这些通常包括:
-
block_rfq:read— 查看询价单 -
block_trade:read— 查看现有的大宗交易和交易历史 -
account:read— 访问账户详情 -
wallet:read— 查看余额和交易记录 -
trade:read— 查看过去的交易和未平仓头寸 -
custody:read— 当客户启用时,由第三方托管人使用
避免选择任何以结尾的范围 write。这样可以确保密钥不能用于下订单、转移资金或执行任何可能影响您的投资组合的操作。
你也可以考虑启用 IP 白名单 进一步限制可信系统使用密钥。这对于在静态服务器位置运行的自动化脚本或监控仪表板特别有用。
这种方法遵循 最小特权原则 强烈建议将 API 密钥用于不需要活跃交易功能的集成时使用。
身份验证
您可以通过两种方式使用 API 凭据进行身份验证:
-
直接在 Deribit 登录网页 使用 “使用 API 凭据登录” 选项
-
通过调用 Deribit API 公共/身份验证 方法并传递你的
client_id,client_secret,以及所需的只读值scopes
确保身份验证调用中请求的范围与分配给密钥的权限相匹配。
有关身份验证的分步指南,请访问 登录您的 Deribit 账户