OKX 已经是合约模式,为什么仍提示账户模式不支持?
最后更新 ·
连接 OKX 模拟盘时遇到 acctLv=1 或账户模式不支持,依次核对 API 所属账户、模拟交易环境和账户模式,再重新测试。
这条错误提示是什么意思?
在 AlgoRover Live 中测试 OKX 模拟盘凭证时,如果出现“账户模式不支持合约交易”、acctLv=1 或 spot mode cannot trade perpetual swaps,表示这次 API 检查读到的账户处于现货模式,不能进行永续合约交易。
按下面的顺序检查同一组 API 对应的账户和环境。主账户显示合约模式,并不代表创建 API 的子账户也已经启用合约模式。
确认 API 属于主账户还是子账户
在 OKX 右上角打开用户菜单,核对当前账户。API 创建在主账户,就检查主账户;创建在子账户 A 或 B,就切换到对应的子账户。
菜单中的“子账户”标签可以帮助识别账户类型,点击“切换账户”选择创建这组 API 的账户。下图中的账户名称和 UID 已隐藏。

确认当前处于模拟交易环境
本篇针对模拟盘。在 API 所属账户中,检查页面左上角的“模拟交易”标识,以及顶部的“资产管理 - 模拟交易”。图中的“← 实盘交易”按钮用于返回实盘,不表示当前已经处于实盘。
同时核对 AlgoRover Live 中添加的凭证是否标记为“OKX · 模拟”,并使用在 OKX 模拟交易环境创建的 API。例如 API 建在子账户 A 的模拟盘,就在“子账户 A → 模拟交易”中查看账户模式。

进入交易设置,检查账户模式
在刚确认的账户和模拟交易环境中,打开 BTCUSDT 永续等合约页面,点击右侧“交易设置”图标,再点击“账户模式”。
“账户模式”决定可以交易哪些产品,“仓位模式”决定如何管理多空仓位。遇到 acctLv=1 时,先检查账户模式;单向持仓、杠杆等要求再按策略部署页面分别核对。

确认合约模式已经生效
如果 API 对应账户仍为现货模式,选择“合约模式”,阅读 OKX 的提示并完成确认;如页面列出了切换条件,按提示处理。
核对“合约模式”卡片右侧的勾选标记,以及底部的“当前模式”。只打开设置或点选选项,还不能证明切换已经完成。

返回 AlgoRover Live,重新测试
打开“AlgoRover Live → 凭证 → OKX『模拟』→ 测试”,以这次新测试的结果判断。更改 OKX 设置后,页面之前显示的失败结果不会代表最新状态。
仍返回 acctLv=1:重新核对 API 所属账户、模拟盘环境和模式是否已生效。
账户读取和合约权限通过:账户模式检查已通过,继续查看其余检查项。
签名或身份验证失败:核对 API Key、Secret Key 和 API 口令是否来自同一组,并确认模拟盘环境。
合约权限通过但 WebSocket 失败:检查网络或代理连接,无需反复切换账户模式。
所有检查通过:连接测试成功,可以继续准备策略部署,并在启动前核对具体配置。
需要重新创建 API 吗?
账户模式报错本身不足以判断 API 需要重建。先检查 API 对应账户的模式并重新测试;确认凭证错误、遗失或存在其他 API 问题时,再按相应提示处理。
全部核对后仍报错,如何反馈?
联系支持时提供重新测试的时间、错误码、API 属于主账户还是子账户,并说明使用的是模拟盘。可以附上已遮挡账户名称、UID、余额的账户模式截图。
不要发送 API Key、Secret Key、API 口令、登录密码或验证码。
联系产品支持