必须用主账户登录OKX并开启API权限后创建最小必要权限API密钥,仅勾选读取和对应交易权限、禁用提现,绑定IP白名单,密钥仅显示一次须立即存入.env或密码管理器,严禁明文暴露。

要让第三方软件(比如量化机器人、行情监控工具或自动记账程序)安全地连接OKX交易所并执行指定操作,必须严格限制API权限范围,防止密钥泄露后造成资产损失。
欧易(OKX)官方认证入口:
点击获取官方APP☞☞☞☞☞:
登录OKX并进入API管理页面
打开OKX官网,使用主账户+双重验证(谷歌验证码或邮箱验证码)完成登录。登录成功后,点击右上角头像→在下拉菜单中选择【API管理】。
注意:必须用主账户登录,子账户无法创建API密钥;若页面提示“API功能未开启”,需先在【账户安全】中手动启用API权限。
创建新API并设置最小必要权限
在API管理页点击【创建API】按钮,系统将要求你再次进行身份验证(如输入谷歌验证码),通过后进入配置界面。
第一步:填写API标签,例如“Freqtrade实盘合约”或“TradingView行情推送”,避免使用“main”“all”等模糊名称,便于后期识别和禁用。
第二步:勾选权限时【只开交易和读取,绝对不勾选提现】。具体选项如下:
- ✅ 读取:必须开启,用于查询余额、持仓、订单历史等基础信息;
- ✅ 现货交易 / ✅ 合约交易:按第三方软件实际用途二选一或全选,但不要多选无关类型;
- ❌ 提现:无论什么场景都禁止开启,这是资金安全的生死线;
- ❌ 杠杆交易、期权交易:除非明确需要,否则一律不勾;
第三步:开启IP白名单,填入第三方软件所在服务器的公网IP地址(不是本地家庭宽带IP)。如果软件部署在云服务器(如AWS EC2、阿里云ECS),可在实例详情页查到公网IP;若用Docker本地运行,且不对外暴露,可暂不绑定,但上线前务必补上。
保存密钥并立即脱敏存储
确认权限无误后点击【确定】,页面会一次性显示三组密钥信息:API Key、Secret Key、Passphrase。
这三组信息【仅显示一次,关闭页面即不可再查】,必须立刻复制并存入安全位置。
方法一:存入本地.env文件(推荐)
在项目根目录新建文件名为.env的文本文件,写入以下内容(替换为你的实际值):
OKX_API_KEY=aef0bf16-xxxx-xxxx-xxxx-xxxxxxxxxxxx
OKX_SECRET_KEY=32位随机字符串
OKX_PASSPHRASE=你设置的密码短语
方法二:存入密码管理器(如Bitwarden、1Password)
新建一条“登录”类型条目,标题写明用途(如“OKX-Freqtrade-合约实盘”),把三段密钥分别填入用户名、密码、备注字段,打上“高危”标签。
严禁行为:直接写死在Python代码里、上传到GitHub仓库、发微信/QQ给他人、用截图保存在手机相册。
验证API是否生效且权限受限
用requests调用账户余额接口做首次验证:
发送GET请求到https://www.okx.com/api/v5/account/balance,携带OK-ACCESS-KEY、OK-ACCESS-SIGN、OK-ACCESS-TIMESTAMP、OK-ACCESS-PASSPHRASE四个Header。
若返回code="0"且data字段含USDT等币种余额,说明读取权限正常;若返回错误码50100(密钥无效)或403(拒绝访问),检查Secret Key是否复制错位、Passphrase是否大小写/空格错误、服务器时间是否与OKX相差超30秒(可用/api/v5/public/time校准)。
接着测试下单接口(如/api/v5/trade/order),传入一个极小数量的限价单。若返回code="0"且订单出现在OKX网页端“成交记录”中,说明交易权限已就位;若返回code="52001"(无交易权限),说明API创建时漏勾了对应交易类型。

















