目录导读
- 为什么你需要欧易API?——从手动交易到自动化升级
- 准备工作:注册欧易账号与API密钥申请全流程
- Python环境搭建:只用三步装好必备库
- 实战代码:一个能用的简单交易脚本
- 常见问题问答区(Q&A)
为什么你需要欧易API?——从手动交易到自动化升级
很多朋友做数字货币交易,刚开始都是打开网页或者手机App,盯盘、看K线、手动挂单,但当你交易频率提高,或者想捕捉凌晨的行情波动时,手动操作就太累了,这时候,欧易交易所官网提供的API接口就成了“救命稻草”。

通过API,你可以用代码直接连接交易所的服务器,实现:
- 自动获取实时行情
- 自动下单、撤单
- 查询持仓和余额
- 甚至编写完整的量化策略
如果你想把交易变成“机器干活”,欧易API就是你的第一个入口,今天这篇教程,完全从零开始,带你申请密钥、写脚本、跑交易。
需要提醒的是:在开始之前,请先通过欧易交易所下载完成账号注册和实名认证,这是使用API的前提。
准备工作:注册欧易账号与API密钥申请全流程
登录欧易交易所官网
打开浏览器,访问欧易交易所官网,如果你是第一次使用,需要先完成注册和身份认证(KYC),这一步没什么好说的,按提示操作即可。
进入API管理页面
登录后,在右上角头像菜单中找到“API管理”,或者直接在设置页面里找,不同版本的官网布局可能略有不同,但“API”这个入口是固定的。
创建API密钥
点击“创建API密钥”,你会看到需要填写几个选项:
- 权限设置:建议先选“读取”和“交易”权限,万一密钥泄露,有“读取”权限只能看数据,但“交易”权限才能下单,所以保管好密钥文件。
- IP白名单:这是个安全措施,如果你在固定IP的服务器上跑脚本,填上IP会更安全,家庭网络IP经常变,可以暂时不填。
- 备注:随便写个名字,Python交易脚本”。
创建成功后,你会看到:
- API Key(一串字母数字组合)
- Secret Key(另一串更长的密钥)
- Passphrase(创建时你设置的口令)
这三样东西千万不要截图发给别人!Secret Key只会显示一次,如果丢失,必须重新生成。
下载欧易交易所下载客户端(可选)
虽然API不需要客户端也能用,但如果你习惯用手机操作,可以先去官网找到“欧易交易所下载”链接,安装移动端App,方便平时查看数据和紧急处理。
Python环境搭建:只用三步装好必备库
假设你已经安装了Python(推荐3.8以上版本),打开终端或命令行,输入以下命令:
pip install requests pip install hashlib pip install hmac pip install base64
这些库是Python内置或常用库,用来发送HTTP请求、生成签名,如果你用的是Anaconda,一般已经预装。
小提示:如果下载慢,可以加国内镜像源:
pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple
装好后,打开你的代码编辑器(比如VSCode、PyCharm,甚至记事本都可以),准备写脚本。
实战代码:一个能用的简单交易脚本
下面这份代码,作用是查询你账户里的USDT余额,然后模拟下单(不会真的成交,只是测试API连接是否成功)。
完整代码示例
import requests
import json
import hmac
import base64
import hashlib
import time
# 👇 这里替换成你自己的三个关键信息
API_KEY = "你的API Key"
SECRET_KEY = "你的Secret Key"
PASSPHRASE = "你的Passphrase"
# 基础URL(欧易API主网地址)
BASE_URL = "https://www.okx.com"
def get_signature(timestamp, method, request_path, body):
"""生成签名"""
msg = timestamp + method + request_path + body
mac = hmac.new(bytes(SECRET_KEY, encoding='utf8'), bytes(msg, encoding='utf-8'), digestmod='sha256')
d = mac.digest()
return base64.b64encode(d).decode('utf-8')
def get_account_info():
"""获取账户信息"""
timestamp = str(time.time())
method = "GET"
request_path = "/api/v5/account/balance"
body = ""
headers = {
"OK-ACCESS-KEY": API_KEY,
"OK-ACCESS-SIGN": get_signature(timestamp, method, request_path, body),
"OK-ACCESS-TIMESTAMP": timestamp,
"OK-ACCESS-PASSPHRASE": PASSPHRASE,
"Content-Type": "application/json"
}
url = BASE_URL + request_path
response = requests.get(url, headers=headers)
if response.status_code == 200:
data = response.json()
print("✅ 连接成功!")
print("账户信息:", json.dumps(data, indent=2, ensure_ascii=False))
else:
print("❌ 请求失败,错误码:", response.status_code)
print("错误信息:", response.text)
if __name__ == "__main__":
get_account_info()
代码解读
- 签名机制:欧易的API要求每个请求都必须携带签名,这是为了安全,签名用到了
hmac和sha256,代码里已经封装好了。 - 请求路径:
/api/v5/account/balance是最常用的接口,用来查余额。 - 返回数据:如果一切正常,你会看到JSON格式的账户余额明细,包含每种币的可用数量。
重要提醒:这段代码默认访问的是欧易的主网,如果你是模拟交易账户,需要把BASE_URL改成模拟盘地址,新手建议先在模拟盘测试,避免真金白银出错。
常见问题问答区(Q&A)
Q1:API密钥泄露了怎么办?
答:立即登录欧易交易所官网,在API管理页面删除该密钥,然后重新生成,同时检查账户是否有异常交易记录,安全永远是第一位。
Q2:为什么我运行脚本后返回“无效签名”?
答:最常见的原因是时间戳不对,你的电脑时间必须和网络时间同步(建议开启自动同步),检查API_KEY、SECRET_KEY、PASSPHRASE是否粘贴正确,不要有多余空格。
Q3:这个脚本能直接用来实盘交易吗?
答:不建议直接使用,上面的代码只是演示连接,实际交易还需要处理订单类型、数量精度、手续费计算等逻辑,强烈建议先在模拟盘或使用小资金测试。
Q4:我想定时自动交易,怎么办?
答:你可以把脚本放到服务器上,用cron(Linux)或任务计划程序(Windows)定时触发,或者改用WebSocket接口实现实时行情监听,但这需要更复杂的代码。
Q5:有没有更全的API文档资源?
答:当然有,欧易交易所官网的开发者文档是最终答案,你可以访问欧易交易所下载后,在页面底部或帮助中心找到“API文档”入口,里面包含了所有接口说明、请求示例和错误码列表。
最后说两句
写交易脚本这件事,说简单也简单,说难也难,上面这套流程,其实只要跟着走一遍,半小时就能跑通,关键是把API的签名、请求、响应这三个环节搞清楚。
如果你之前完全没接触过编程,可能会觉得“签名”这部分有点绕,没关系,复制上面的代码,把三个密钥填进去,先让它跑起来再说,跑通了,你就有信心继续往下走了。
后续你可以尝试:
- 用
/api/v5/trade/order接口下单 - 用循环脚本每分钟检查一次行情
- 甚至写一个简单的网格交易策略
记住:先跑通连接,再优化代码,每一步都稳一点,比什么都强。
最后再次提醒:保管好你的API密钥,不要在公共场所粘贴代码,定期检查账户授权情况,祝你写脚本顺利,交易好运!
标签: OKX Python API