导航
V3
V5
English
HTTP Python

概览

欢迎查看 V5 API文档。我们提供完整的REST和WebSocket API以满足您的交易需求。

请注意:

API学习资源与技术支持

教程


Python包

Python SDK将于系统公开同时开放。

客户服务

创建我的APIKey

点击跳转至官网创建V5APIKey的页面 创建我的APIKey

生成APIKey

在对任何请求进行签名之前,您必须通过交易网站创建一个APIKey。创建APIKey后,您将获得3个必须记住的信息:

APIKey和SecretKey将由平台随机生成和提供,Passphrase将由您提供以确保API访问的安全性。平台将存储Passphrase加密后的哈希值进行验证,但如果您忘记Passphrase,则无法恢复,请您通过交易网站重新生成新的APIKey。

API key 有如下3种权限,一个 API key 可以有一个或多个权限。

REST 请求验证

发起请求

所有REST私有请求头都必须包含以下内容:

所有请求都应该含有application/json类型内容,并且是有效的JSON。

签名

生成签名

OK-ACCESS-SIGN的请求头是对timestamp + method + requestPath + body字符串(+表示字符串连接),以及SecretKey,使用HMAC SHA256方法加密,通过Base-64编码输出而得到的。

如:sign=CryptoJS.enc.Base64.stringify(CryptoJS.HmacSHA256(timestamp + 'GET' + '/api/v5/account/balance?ccy=BTC', SecretKey))

其中,timestamp的值与OK-ACCESS-TIMESTAMP请求头相同,为ISO格式,如2020-12-08T09:08:57.715Z

method是请求方法,字母全部大写:GET/POST

requestPath是请求接口路径。如:/api/v5/account/balance

body是指请求主体的字符串,如果请求没有主体(通常为GET请求)则body可省略。如:{"instId":"BTC-JPY","lever":"5"}

SecretKey为用户申请APIKey时所生成。如:22582BD0CFF14C41EDBF1AB98506286D

WebSocket

概述

WebSocket是HTML5一种新的协议(Protocol)。它实现了用户端与服务器全双工通信, 使得数据可以快速地双向传播。通过一次简单的握手就可以建立用户端和服务器连接, 服务器根据业务规则可以主动推送信息给用户端。其优点如下:

连接

连接限制:3 次/秒 (基于IP)

当订阅公有频道时,使用公有服务的地址;当订阅私有频道时,使用私有服务的地址

请求限制

每个连接 对于 订阅/取消订阅/登录 请求的总次数限制为 480 次/小时

连接限制

子账户维度,订阅每个 WebSocket 频道的最大连接数为 30 个。每个 WebSocket 连接都由唯一的 connId 标识。


受此限制的 WebSocket 频道如下:

  1. 订单频道
  2. 账户频道
  3. 持仓频道
  4. 账户余额和持仓频道

若用户通过不同的请求参数在同一个 WebSocket 连接下订阅同一个频道,例如使用 {"channel": "orders", "instType": "ANY"}{"channel": "orders", "instType": "SWAP"},只算为一次连接。若用户使用相同或不同的 WebSocket 连接订阅上述频道,例如订单频道和账户频道。在该两个频道之间,计数不会累计,因为它们被视作不同的频道。简言之,系统计算每个频道对应的 WebSocket 连接数量。


新链接订阅频道时,平台将对该订阅返回channel-conn-count的消息同步链接数量。

链接数量更新

{
    "event":"channel-conn-count",
    "channel":"orders",
    "connCount": "2",
    "connId":"abcd1234"
}


当超出限制时,一般最新订阅的链接会收到拒绝。用户会先收到平时的订阅成功信息然后收到channel-conn-count-error消息,代表平台终止了这个链接的订阅。在异常场景下平台会终止已订阅的现有链接。

链接数量限制报错

{
    "event": "channel-conn-count-error",
    "channel": "orders",
    "connCount": "20",
    "connId":"a4d3ae55"
}


通过 WebSocket 进行的订单操作,例如下单、修改和取消订单,不会受到此改动影响。

登录

请求示例

{
 "op": "login",
 "args":
  [
     {
       "apiKey": "985d5b66-57ce-40fb-b714-afc0b9787083",
       "passphrase": "123456",
       "timestamp": "1538054050",
       "sign": "7L+zFQ+CEgGu5rzCj4+BdV2/uUHGqddA9pI6ztsRRPs=" 
      }
   ]
}

请求参数

参数 类型 是否必须 描述
op String 操作,login
args Array 账户列表
> apiKey String APIKey
> passphrase String APIKey 的密码
> timestamp String 时间戳,Unix Epoch时间,单位是秒
> sign String 签名字符串

全部成功返回示例

{
  "event": "login",
  "code": "0",
  "msg": "",
  "connId": "a4d3ae55"
}

全部失败返回示例

{
  "event": "error",
  "code": "60009",
  "msg": "Login failed.",
  "connId": "a4d3ae55"
}

返回参数

参数 类型 是否必须 描述
event String 操作,login error
code String 错误码
msg String 错误消息
connId String WebSocket连接ID

apiKey:调用API的唯一标识。需要用户手动设置一个 passphrase:APIKey的密码 timestamp:Unix Epoch 时间戳,单位为秒,如 1704876947 sign:签名字符串,签名算法如下:

先将timestampmethodrequestPath 进行字符串拼接,再使用HMAC SHA256方法将拼接后的字符串和SecretKey加密,然后进行Base64编码

SecretKey:用户申请APIKey时所生成的安全密钥,如:22582BD0CFF14C41EDBF1AB98506286D

其中 timestamp 示例:const timestamp = '' + Date.now() / 1,000

其中 sign 示例: sign=CryptoJS.enc.Base64.stringify(CryptoJS.HmacSHA256(timestamp +'GET'+ '/users/self/verify', secret))

method 总是 'GET'

requestPath 总是 '/users/self/verify'

订阅

订阅说明

请求格式说明

{
    "op": "subscribe",
    "args": ["<SubscriptionTopic>"]
}

WebSocket 频道分成两类: 公共频道私有频道

公共频道无需登录,包括行情频道,K线频道,交易数据频道,资金费率频道,限价范围频道,深度数据频道,标记价格频道等。

私有频道需登录,包括用户账户频道,用户交易频道,用户持仓频道等。

用户可以选择订阅一个或者多个频道,多个频道总长度不能超过 64 KB。

以下是一个请求参数的例子。每一个频道的请求参数的要求都不一样。请根据每一个频道的需求来订阅频道。

请求示例

{
    "op":"subscribe",
    "args":[
        {
            "channel":"tickers",
            "instId":"BTC-JPY"
        }
    ]
}

请求参数

参数 类型 是否必须 描述
op String 操作,subscribe
args Array 请求订阅的频道列表
> channel String 频道名
> instType String 产品类型
SPOT:币币
ANY:全部
> instId String 产品ID

返回示例

{
    "event": "subscribe",
    "arg": {
        "channel": "tickers",
        "instId": "BTC-JPY"
    },
    "connId": "accb8e21"
}

返回参数

参数 类型 是否必须 描述
event String 事件,subscribe error
arg Object 订阅的频道
> channel String 频道名
> instType String No Instrument type
SPOT
ANY
> instFamily String No Instrument family
> instId String 产品ID
code String 错误码
msg String 错误消息
connId String WebSocket连接ID

取消订阅

可以取消一个或者多个频道

请求格式说明

{
    "op": "unsubscribe",
    "args": ["< SubscriptionTopic > "]
}

请求示例

{
  "op": "unsubscribe",
  "args": [
    {
      "channel": "tickers",
      "instId": "BTC-JPY"
    }
  ]
}

请求参数

参数 类型 是否必须 描述
op String 操作,unsubscribe
args Array 取消订阅的频道列表
> channel String 频道名
> instType String 产品类型
SPOT:币币
ANY:全部
> instId String 产品ID

返回示例

{
    "event": "unsubscribe",
    "arg": {
        "channel": "tickers",
        "instId": "BTC-JPY"
    },
    "connId": "d0b44253"
}

返回参数

参数 类型 是否必须 描述
event String 事件,unsubscribe error
arg Object 取消订阅的频道
> channel String 频道名
> instType String 产品类型
SPOT:币币ANY:全部
>instFamily String 交易品种
> instId String 产品ID
code String 错误码
msg String 错误消息
connId String WebSocket连接ID

实盘交易

实盘API交易地址如下:
- REST:https://api.okj.com
- WebSocket公共频道:wss://ws.okj.com:8443/ws/v5/public
- WebSocket私有频道:wss://ws.okj.com:8443/ws/v5/private - WebSocket业务频道:wss://ws.okj.com:8443/ws/v5/business

AWS 地址如下:

基本信息

交易所层面的下单规则如下:


交易限制规则如下:


返回数据规则如下:


交易时效性

由于网络延时或者OKJ服务器繁忙会导致订单无法及时处理。如果您对交易时效性有较高的要求,可以灵活设置请求有效截止时间expTime以达到你的要求。

(批量)下单,(批量)改单接口请求中如果包含expTime,如果服务器当前系统时间超过expTime,则该请求不会被服务器处理。

你应跟我们服务器系统时间同步。请用获取系统时间来获取系统时间。

REST API

请求头中设置如下参数

参数名 类型 是否必须 描述
expTime String 请求有效截止时间。Unix时间戳的毫秒数格式,如 1597026383085

目前支持如下接口:

请求示例

curl -X 'POST' \
  'https://api.okj.com/api/v5/trade/order' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -H 'OK-ACCESS-KEY: *****' \
  -H 'OK-ACCESS-SIGN: *****'' \
  -H 'OK-ACCESS-TIMESTAMP: *****'' \
  -H 'OK-ACCESS-PASSPHRASE: *****'' \
  -H 'expTime: 1597026383085' \   // 有效截止时间
  -d '{
  "instId": "BTC-JPY",
  "tdMode": "cash",
  "side": "buy",
  "ordType": "limit",
  "px": "1000",
  "sz": "0.01"
}'

WebSocket

请求中设置如下参数

参数名 类型 是否必须 描述
expTime String 请求有效截止时间。Unix时间戳的毫秒数格式,如 1597026383085

目前支持如下接口:

请求示例

{
    "id": "1512",
    "op": "order",
    "expTime":"1597026383085",  // 有效截止时间
    "args": [{
        "side": "buy",
        "instId": "BTC-JPY",
        "tdMode": "isolated",
        "ordType": "market",
        "sz": "100"
    }]
}

限速

我们的 REST 和 WebSocket API 使用限速来保护我们的 API 免受恶意使用,因此我们的交易平台可以可靠和公平地运行。
当请求因限速而被我们的系统拒绝时,系统会返回错误代码 50011(用户请求频率过快,超过该接口允许的限额。请参考 API 文档并限制请求)。
每个接口的限速都不同。 您可以从接口详细信息中找到每个接口的限制。 限速定义详述如下:

对于与交易相关的 API(下订单、取消订单和修改订单),以下条件适用:

交易账户

账户功能模块下的API接口需要身份验证。

REST API

获取交易产品基础信息

获取当前账户可交易产品的信息列表。

限速:20次/2s

限速规则:UserID + InstType

HTTP请求

GET /api/v5/account/instruments

请求示例

GET /api/v5/account/instruments?instType=SPOT
import okx.Account as Account

# API 初始化
apikey = "YOUR_API_KEY"
secretkey = "YOUR_SECRET_KEY"
passphrase = "YOUR_PASSPHRASE"


accountAPI = Account.AccountAPI(apikey, secretkey, passphrase, False)

result = accountAPI.get_instruments(instType="SPOT")
print(result)

请求参数

参数名 类型 是否必须 描述
instType String 产品类型
SPOT:币币
instId String 产品ID

返回结果

{
    "code": "0",
    "data": [
        {
            "auctionEndTime": "",
            "baseCcy": "BTC",
            "expTime": "",
            "instId": "BTC-JPY",
            "instType": "SPOT",
            "listTime": "1704876947000",
            "lotSz": "0.00000001",
            "maxLmtAmt": "1000000",
            "maxLmtSz": "9999999999",
            "maxMktAmt": "1000000",
            "maxMktSz": "1000000",
            "maxStopSz": "1000000",
            "minSz": "0.00001",
            "quoteCcy": "JPY",
            "state": "live",
            "ruleType": "normal",
            "tickSz": "1"
        }
    ],
    "msg": ""
}

返回参数

参数名 类型 描述
instType String 产品类型
instId String 产品id, 如 BTC-JPY
baseCcy String 交易货币币种,如 BTC-JPY 中的 BTC,仅适用于币币
quoteCcy String 计价货币币种,如 BTC-JPY 中的JPY ,仅适用于币币
listTime String 上线时间
Unix时间戳的毫秒数格式,如 1597026383085
auctionEndTime String 集合竞价结束时间,Unix时间戳的毫秒数格式,如 1597026383085
仅适用于通过集合竞价方式上线的币币,其余情况返回""
expTime String 产品下线时间
适用于币币;亦可以为产品下线时间,有变动就会推送。
tickSz String 下单价格精度,如 0.0001
lotSz String 下单数量精度
,现货的数量单位是交易货币
minSz String 最小下单数量
,现货的数量单位是交易货币
state String 产品状态
live:交易中
suspend:暂停中
preopen:预上线;部分交易产品上线前
test:测试中(测试产品,不可交易)
ruleType String 交易规则类型
normal:普通交易
pre_market:盘前交易
maxLmtSz String 限价单的单笔最大委托数量
,现货的数量单位是交易货币
maxMktSz String 市价单的单笔最大委托数量
,现货的数量单位是JPY
maxLmtAmt String 限价单的单笔最大日元价值
maxMktAmt String 市价单的单笔最大日元价值
仅适用于币币
maxStopSz String 止盈止损市价委托的单笔最大委托数量
,现货的数量单位是JPY
uly String 标的指数,如 BTC-JPY
instFamily String 交易品种,如 BTC-JPY
settleCcy String 盈亏结算和保证金币种,如 BTC
ctVal String 合约面值
ctMult String 合约乘数
ctValCcy String 合约面值计价币种
optType String 期权类型
stk String 行权价格
lever String instId支持的最大杠杆倍数,不适用于币币
ctType String 合约类型
maxTwapSz String 时间加权单的单笔最大委托数量
,现货的数量单位是交易货币
单笔最小委托数量为 minSz*2
maxIcebergSz String 冰山委托的单笔最大委托数量
,现货的数量单位是交易货币
maxTriggerSz String 计划委托委托的单笔最大委托数量
,现货的数量单位是交易货币

查看账户余额

获取交易账户中资金余额信息。

限速:10次/2s

限速规则:UserID

HTTP请求

GET /api/v5/account/balance

请求示例

# 获取账户中所有资产余额
GET /api/v5/account/balance

# 获取账户中BTC、ETH两种资产余额
GET /api/v5/account/balance?ccy=BTC,ETH

import okx.Account as Account

# API 初始化
apikey = "YOUR_API_KEY"
secretkey = "YOUR_SECRET_KEY"
passphrase = "YOUR_PASSPHRASE"


accountAPI = Account.AccountAPI(apikey, secretkey, passphrase, False)

# 查看账户余额
result = accountAPI.get_account_balance()
print(result)

请求参数

参数名 类型 是否必须 描述
ccy String 币种,如 BTC
支持多币种查询(不超过20个),币种之间半角逗号分隔

返回结果

{
    "code": "0",
    "data": [
        {
            "details": [
                {
                    "availBal": "4834.317093622894",
                    "cashBal": "4850.435693622894",
                    "ccy": "JPY",
                    "eq": "4992.890093622894",
                    "eqJpy": "4991.542013297616",
                    "frozenBal": "158.573",
                    "ordFrozen": "0",
                    "stgyEq": "150",
                    "uTime": "1705449605015",
                    "spotBal": "",
                    "openAvgPx": "",
                    "accAvgPx": "",
                    "spotUpl": "",
                    "spotUplRatio": "",
                    "totalPnl": "",
                    "totalPnlRatio": ""
                }
            ],
            "totalEq": "55837.43556134779",
            "uTime": "1705474164160"
        }
    ],
    "msg": ""
}

返回参数

参数名 类型 描述
uTime String 账户信息的更新时间,Unix时间戳的毫秒数格式,如 1597026383085
totalEq String 日元层面权益
details Array 各币种资产详细信息
> ccy String 币种
> eq String 币种总权益
> cashBal String 币种余额
> uTime String 币种余额信息的更新时间,Unix时间戳的毫秒数格式,如 1597026383085
> availBal String 可用余额
> frozenBal String 币种占用金额
> ordFrozen String 挂单冻结数量
适用于现货模式
> eqJpy String 币种权益日元价值
> stgyEq String 策略权益
> spotBal String 现货余额 ,单位为 币种,比如 BTC。点击了解更多
> openAvgPx Array 现货开仓成本价 单位 jpy。 点击了解更多
> accAvgPx Array 现货累计成本价 单位 jpy。 点击了解更多
> spotUpl String 现货未实现收益,单位 jpy。 点击了解更多
> spotUplRatio String 现货未实现收益率。点击了解更多
> totalPnl String 现货累计收益,单位 jpy。 点击了解更多
> totalPnlRatio String 现货累计收益率。点击了解更多
isoEq String 日元层面逐仓仓位权益
adjEq String 日元层面有效保证金
ordFroz String 日元层面全仓挂单占用保证金
imr String 日元层面占用保证金
mmr String 日元层面维持保证金
borrowFroz String 账户日元层面潜在借币占用保证金
mgnRatio String 日元层面保证金率
notionalJpy String 以日元价值为单位的持仓数量,即仓位日元价值
upl String 账户层面全仓未实现盈亏
> isoEq String 币种逐仓仓位权益
> availEq String 可用保证金
> disEq String 日元层面币种折算权益
> fixedBal String 抄底宝、逃顶宝功能的币种冻结金额
> liab String 币种负债额
值为正数,如 21625.64
> upl String 未实现盈亏
> uplLiab String 由于仓位未实现亏损导致的负债
> crossLiab String 币种全仓负债额
> isoLiab String 币种逐仓负债额
> rewardBal String 体验金余额
> mgnRatio String 币种全仓保证金率,衡量账户内某项资产风险的指标
> imr String 币种维度全仓占用保证金
> mmr String 币种维度全仓维持保证金
> interest String 计息,应扣未扣利息
值为正数,如 9.01
> twap String 当前负债币种触发系统自动换币的风险
012345 其中之一,数字越大代表您的负债币种触发自动换币概率越高
> maxLoan String 币种最大可借
> borrowFroz String 币种日元层面潜在借币占用保证金
> notionalLever String 币种杠杆倍数
> isoUpl String 逐仓未实现盈亏
> spotInUseAmt String 现货对冲占用数量
> clSpotInUseAmt String 用户自定义现货占用数量
> maxSpotInUse String 系统计算得到的最大可能现货占用数量
> spotIsoBal String 现货逐仓余额
仅适用于现货带单/跟单
> smtSyncEq String 合约智能跟单权益
默认为0,仅适用于跟单人
> spotCopyTradingEq String 现货智能跟单权益
默认为0,仅适用于跟单人

账单流水查询(近七天)

帐户资产流水是指导致帐户余额增加或减少的行为。本接口可以查询最近7天的账单数据。

限速:5次/s

限速规则:UserID

HTTP请求

GET /api/v5/account/bills

请求示例

GET /api/v5/account/bills

GET /api/v5/account/bills?instType=SPOT

import okx.Account as Account

# API 初始化
apikey = "YOUR_API_KEY"
secretkey = "YOUR_SECRET_KEY"
passphrase = "YOUR_PASSPHRASE"

accountAPI = Account.AccountAPI(apikey, secretkey, passphrase, False)

# 查看账户账单详情 (近七日内)
result = accountAPI.get_account_bills()
print(result)

请求参数

参数名 类型 是否必须 描述
instType String 产品类型
SPOT:币币
instId String 产品ID,如 BTC-JPY
ccy String 账单币种
type String 账单类型
1:划转
2:交易
subType String 账单子类型
1:买入
2:卖出
11:转入
12:转出
after String 请求此id之前(更旧的数据)的分页内容,传的值为对应接口的billId
before String 请求此id之后(更新的数据)的分页内容,传的值为对应接口的billId
begin String 筛选的开始时间戳 ts,Unix 时间戳为毫秒数格式,如 1597026383085
end String 筛选的结束时间戳 ts,Unix 时间戳为毫秒数格式,如 1597027383085
limit String 分页返回的结果集数量,最大为100,不填默认返回100条

返回结果

{
    "code": "0",
    "msg": "",
    "data": [{
        "bal":  "8694.2179403378290202",
        "balChg":  "0.0219338232210000",
        "billId":  "623950854533513219",
        "ccy":  "JPY",
        "clOrdId":  "",
        "execType":  "T",
        "fee":  "-0.000021955779",
        "fillTime":  "1695033476166",
        "from":  "",
        "instId":  "BTC-JPY",
        "instType":  "SPOT",
        "mgnMode":  "cash",
        "notes":  "",
        "ordId":  "623950854525124608",
        "px":  "27105.9",
        "subType":  "1",
        "sz":  "0.021955779",
        "tag":  "",
        "to":  "",
        "tradeId":  "586760148",
        "ts":  "1695033476167",
        "type":  "2"
    }]
}

返回参数

参数名 类型 描述
instType String 产品类型
billId String 账单ID
type String 账单类型
subType String 账单子类型
ts String 余额更新完成的时间,Unix时间戳的毫秒数格式,如 1597026383085
balChg String 账户层面的余额变动数量
bal String 账户层面的余额数量
sz String 数量
px String 价格,与 subType 相关
  • 为成交价格时有
  • 1:买入 2:卖出
    ccy String 账户余额币种
    fee String 手续费
    正数代表平台返佣 ,负数代表平台扣除
    手续费规则
    mgnMode String 保证金模式
    cash:现金
    账单不是由仓位变化产生的,该字段返回 ""
    instId String 产品ID,如 BTC-JPY
    ordId String 订单ID
    当type为2/5/9时,返回相应订单id
    无订单时,该字段返回 ""
    execType String 流动性方向
    T:taker
    M:maker
    from String 转出账户
    6:资金账户
    18:交易账户
    仅适用于资金划转,不是资金划转时,返回 ""
    to String 转入账户
    6:资金账户
    18:交易账户
    仅适用于资金划转,不是资金划转时,返回 ""
    notes String 备注
    tag String 订单标签
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字,且长度在1-16位之间。
    fillTime String 最新成交时间
    tradeId String 最新成交ID
    clOrdId String 客户自定义订单ID
    posBalChg String 仓位层面的余额变动数量
    posBal String 仓位层面的余额数量
    pnl String 收益
    interest String 利息
    fillIdxPx String 交易执行时的指数价格
    fillMarkPx String 成交时的标记价格
    fillPxVol String 成交时的隐含波动率
    fillPxJpy String 成交时的期权价格,
    fillMarkVol String 成交时的标记波动率
    fillFwdPx String 成交时的远期价格

    账单流水查询(近三月)

    帐户资产流水是指导致帐户余额增加或减少的行为。本接口可以查询最近3个月的账单数据。

    限速:5次/2s

    限速规则:UserID

    HTTP请求

    GET /api/v5/account/bills-archive

    请求示例

    GET /api/v5/account/bills-archive
    
    GET /api/v5/account/bills-archive?instType=SPOT
    
    
    import okx.Account as Account
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    
    accountAPI = Account.AccountAPI(apikey, secretkey, passphrase, False)
    
    # 查看账户账单详情 (近三个月内)
    result = accountAPI.get_account_bills_archive()
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instType String 产品类型
    SPOT:币币
    instId String 产品ID,如 BTC-JPY
    ccy String 账单币种
    type String 账单类型
    1:划转
    2:交易
    subType String 账单子类型
    1:买入
    2:卖出
    11:转入
    12:转出
    after String 请求此id之前(更旧的数据)的分页内容,传的值为对应接口的billId
    before String 请求此id之后(更新的数据)的分页内容,传的值为对应接口的billId
    begin String 筛选的开始时间戳 ts,Unix 时间戳为毫秒数格式,如 1597026383085
    end String 筛选的结束时间戳 ts,Unix 时间戳为毫秒数格式,如 1597027383085
    limit String 分页返回的结果集数量,最大为100,不填默认返回100条

    返回结果

    {
        "code": "0",
        "msg": "",
        "data": [{
            "bal": "8694.2179403378290202",
            "balChg": "0.0219338232210000",
            "billId": "623950854533513219",
            "ccy": "JPY",
            "clOrdId": "",
            "execType": "T",
            "fee": "-0.000021955779",
            "fillTime": "1695033476166",
            "from": "",
            "instId": "BTC-JPY",
            "instType": "SPOT",
            "mgnMode": "cash",
            "notes": "",
            "ordId": "623950854525124608",
            "px": "27105.9",
            "subType": "1",
            "sz": "0.021955779",
            "tag": "",
            "to": "",
            "tradeId": "586760148",
            "ts": "1695033476167",
            "type": "2"
        }]
    }
    

    返回参数

    参数名 类型 描述
    instType String 产品类型
    billId String 账单ID
    type String 账单类型
    subType String 账单子类型
    ts String 余额更新完成的时间,Unix时间戳的毫秒数格式,如 1597026383085
    balChg String 账户层面的余额变动数量
    bal String 账户层面的余额数量
    sz String 数量
    px String 价格,与 subType 相关
  • 为成交价格时有
  • 1:买入 2:卖出
    ccy String 账户余额币种
    fee String 手续费
    正数代表平台返佣 ,负数代表平台扣除
    手续费规则
    mgnMode String 保证金模式
    cash:现金
    账单不是由仓位变化产生的,该字段返回 ""
    instId String 产品ID,如 BTC-JPY
    ordId String 订单ID
    当type为2/5/9时,返回相应订单id
    无订单时,该字段返回 ""
    execType String 流动性方向
    T:taker
    M:maker
    from String 转出账户
    6:资金账户
    18:交易账户
    仅适用于资金划转,不是资金划转时,返回 ""
    to String 转入账户
    6:资金账户
    18:交易账户
    仅适用于资金划转,不是资金划转时,返回 ""
    notes String 备注
    tag String 订单标签
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字,且长度在1-16位之间。
    fillTime String 最新成交时间
    tradeId String 最新成交ID
    clOrdId String 客户自定义订单ID
    posBalChg String 仓位层面的余额变动数量
    posBal String 仓位层面的余额数量
    pnl String 收益
    interest String 利息
    fillIdxPx String 交易执行时的指数价格
    fillMarkPx String 成交时的标记价格
    fillPxVol String 成交时的隐含波动率
    fillPxJpy String 成交时的期权价格,
    fillMarkVol String 成交时的标记波动率
    fillFwdPx String 成交时的远期价格

    查看账户配置

    查看当前账户的配置信息。

    限速:5次/2s

    限速规则:UserID

    HTTP请求

    GET /api/v5/account/config

    请求示例

    GET /api/v5/account/config
    
    
    import okx.Account as Account
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    
    accountAPI = Account.AccountAPI(apikey, secretkey, passphrase, False)
    
    # 查看账户配置
    result = accountAPI.get_account_config()
    print(result)
    

    请求参数

    返回结果

    {
        "code": "0",
        "data": [
            {
                "acctLv": "1",
                "acctStpMode": "cancel_maker",
                "ip": "",
                "kycLv": "",
                "label": "v5 test",
                "level": "Lv1",
                "levelTmp": "",
                "mainUid": "44705892343619584",
                "perm": "read_only,withdraw,trade",
                "roleType": "0",
                "type": "0",
                "uid": "44705892343619584"
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    uid String 当前请求的账户ID
    mainUid String 当前请求的母账户ID
    如果 uid = mainUid,代表当前账号为母账户;如果 uid != mainUid,代表当前账户为子账户。
    acctLv String 账户模式
    1:现货模式
    acctStpMode String 账户自成交保护模式
    cancel_maker:撤销挂单
    level String 当前在平台上真实交易量的用户等级,例如 Lv1
    roleType String 用户角色
    0:普通用户
    label String 当前请求API key的备注名,不超过50位字母(区分大小写)或数字,可以是纯字母或纯数字。
    ip String 当前请求API key绑定的ip地址,多个ip用半角逗号隔开,如:117.37.203.58,117.37.203.57
    如果没有绑定ip,会返回空字符串""
    perm String 当前请求的 API key 或 Access token 的权限
    read_only:读取
    trade:交易
    withdraw:提币
    kycLv String 母账户KYC等级
    type String 账户类型
    0:母账户
    1:普通子账户
    posMode String 持仓方式
    long_short_mode:开平仓模式
    autoLoan Boolean 是否自动借币
    true:自动借币 false:非自动借币
    greeksType String 当前希腊字母展示方式
    PA:币本位 BS:美元本位
    levelTmp String 特约用户的临时体验用户等级,例如 Lv3
    ctIsoMode String 衍生品的逐仓保证金划转模式
    automatic:开仓划转
    autonomy:自主划转
    mgnIsoMode String 币币杠杆的逐仓保证金划转模式
    automatic:开仓划转
    quick_margin:一键借币
    spotOffsetType String 现货对冲类型
    traderInsts Array 当前账号已经设置的带单合约,仅适用于带单者
    spotRoleType String 现货跟单角色。
    0:普通用户;
    spotTraderInsts String 当前账号已经设置的带单币对
    opAuth String 是否开通期权交易
    0:未开通
    1:已经开通
    kycLv String 母账户KYC等级
    liquidationGear String 强平提醒的保证金率水平
    enableSpotBorrow Boolean 现货模式下是否支持借币
    true:支持
    false:不支持
    spotBorrowAutoRepay Boolean 现货模式下是否支持自动还币
    true:支持
    false:不支持
    type String 账户类型
    0:母账户
    1:普通子账户
    2:资管子账户
    5:托管交易子账户 - Copper
    9:资管交易子账户 - Copper
    12:托管交易子账户 - Komainu

    获取最大可下单数量

    获取最大可下单数量,可对应下单时的 "sz" 字段

    限速:20次/2s

    限速规则:UserID

    HTTP请求

    GET /api/v5/account/max-size

    请求示例

    GET /api/v5/account/max-size?instId=BTC-JPY&tdMode=cash
    
    
    import okx.Account as Account
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    
    accountAPI = Account.AccountAPI(apikey, secretkey, passphrase, False)
    
    # 获取最大可买卖/开仓数量
    result = accountAPI.get_max_order_size(
        instId="BTC-JPY",
        tdMode="cash"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instId String 产品ID,如 BTC-JPY
    支持同一业务线下的多产品ID查询(不超过5个),半角逗号分隔
    tdMode String 交易模式
    cash:非保证金

    返回结果

    {
        "code": "0",
        "msg": "",
        "data": [{
            "instId": "BTC-JPY",
            "maxBuy": "0.0500695098559788",
            "maxSell": "64.4798671570072269"
        }]
    }
    

    返回参数

    参数名 类型 描述
    instId String 产品ID
    maxBuy String 币币:最大可买的交易币数量
    maxSell String 币币:最大可卖的计价币数量
    ccy String 保证金币种

    获取最大可用余额

    可用余额

    限速:20次/2s

    限速规则:UserID

    HTTP请求

    GET /api/v5/account/max-avail-size

    请求示例

    # 获取BTC-JPY币币最大可用数量
    GET /api/v5/account/max-avail-size?instId=BTC-JPY&tdMode=cash
    
    
    import okx.Account as Account
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    
    accountAPI = Account.AccountAPI(apikey, secretkey, passphrase, False)
    
    # 获取BTC-JPY币币最大可用数量
    result = accountAPI.get_max_avail_size(
        instId="BTC-JPY",
        tdMode="cash"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instId String 产品ID,如 BTC-JPY
    支持多产品ID查询(不超过5个),半角逗号分隔
    tdMode String 交易模式
    cash:非保证金

    返回结果

    {
        "code": "0",
        "msg": "",
        "data": [{
            "instId": "BTC-JPY",
            "availBuy": "100",
            "availSell": "1"
        }]
    }
    

    返回参数

    参数名 类型 描述
    instId String 产品ID
    availBuy String 最大买入可用余额/保证金
    availSell String 最大卖出可用余额/保证金

    获取当前账户交易手续费费率

    限速:5次/2s

    限速规则:UserID

    HTTP请求

    GET /api/v5/account/trade-fee

    请求示例

    # 获取币币BTC-JPY交易手续费率
    GET /api/v5/account/trade-fee?instType=SPOT&instId=BTC-JPY
    
    import okx.Account as Account
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    
    accountAPI = Account.AccountAPI(apikey, secretkey, passphrase, False)
    
    # 获取当前账户交易手续费费率
    result = accountAPI.get_fee_rates(
        instType="SPOT",
        instId="BTC-JPY"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instType String 产品类型
    SPOT:币币
    instId String 产品ID,如 BTC-JPY

    返回结果

    {
        "code": "0",
        "msg": "",
        "data": [{
                 "instType": "SPOT",
                 "level": "lv1",
                 "maker": "-0.0008",
                 "taker": "-0.001",
                 "ruleType": "normal",
                 "ts": "1608623351857"
                 }
        ]
    }
    

    返回参数

    参数名 类型 描述
    level String 手续费等级
    taker String 对于币币,为 JPY 交易区的吃单手续费率;
    maker String 对于币币,为 JPY 交易区的挂单手续费率;
    instType String 产品类型
    ruleType String 交易规则类型
    normal:普通交易
    pre_market:盘前交易
    ts String 数据返回时间,Unix时间戳的毫秒数格式,如 1597026383085
    delivery String 交割手续费率
    exercise String 行权手续费率
    category String 币种类别(已废弃)

    获取当前账户全部币对交易手续费费率

    限速:5次/2s

    限速规则:UserID

    HTTP请求

    GET /api/v5/account/trade-fee-all

    请求示例

    # 获取币币交易手续费率
    GET /api/v5/account/trade-fee-all?instType=SPOT
    
    import okx.Account as Account
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    
    accountAPI = Account.AccountAPI(apikey, secretkey, passphrase, False)
    
    # 获取当前账户交易手续费费率
    result = accountAPI.get_fee_rates_all(
        instType="SPOT"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instType String 产品类型
    SPOT:币币

    返回结果

    {
        "code": "0",
        "msg": "",
        "data": [{
                     "instId":"BTC-JPY",
                     "instType":"SPOT",
                     "level":"LV1",
                     "maker":"0.0001",
                     "ruleType":"normal",
                     "taker":"-0.0001",
                     "ts":"1746766729131"
                     },
                     {
                     "instId":"ETH-JPY",
                     "instType":"SPOT",
                     "level":"LV1",
                     "maker":"0.0001",
                     "ruleType":"normal",
                     "taker":"-0.0001",
                     "ts":"1746766729131"
                     }
        ]
    }
    

    返回参数

    参数名 类型 描述
    level String 手续费等级
    taker String 对于币币,为 JPY 交易区的吃单手续费率;
    maker String 对于币币,为 JPY 交易区的挂单手续费率;
    instType String 产品类型
    instId String 产品Id
    ruleType String 交易规则类型
    normal:普通交易
    pre_market:盘前交易
    ts String 数据返回时间,Unix时间戳的毫秒数格式,如 1597026383085

    查看账户最大可转余额

    当指定币种时会返回该币种的交易账户到资金账户的最大可划转数量,不指定币种会返回所有拥有的币种资产可划转数量。

    限速:20次/2s

    限速规则:UserID

    HTTP请求

    GET /api/v5/account/max-withdrawal

    请求示例

    GET /api/v5/account/max-withdrawal
    
    
    import okx.Account as Account
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    
    accountAPI = Account.AccountAPI(apikey, secretkey, passphrase, False)
    
    # 查看账户最大可转余额
    result = accountAPI.get_max_withdrawal()
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    ccy String 币种,如 BTC
    支持多币种查询(不超过20个),币种之间半角逗号分隔

    返回结果

    {
        "code": "0",
        "msg": "",
        "data": [{
                "ccy": "BTC",
                "maxWd": "124"
            },
            {
                "ccy": "ETH",
                "maxWd": "10"
            }
        ]
    }
    

    返回参数

    参数名 类型 描述
    ccy String 币种
    maxWd String 最大可划转数量
    maxWdEx String 最大可划转数量
    spotOffsetMaxWd String 现货对冲不支持借币最大可转数量
    spotOffsetMaxWdEx String 现货对冲支持借币的最大可转数量

    WebSocket

    账户频道

    获取账户信息,首次订阅按照订阅维度推送数据,此外,当下单、撤单、成交等事件触发时,推送数据以及按照订阅维度定时推送数据

    该频道的并发连接受到如下规则限制:WebSocket 连接限制

    服务地址

    /ws/v5/private (需要登录)

    请求示例:单个

    {
        "op": "subscribe",
        "args": [{
            "channel": "account",
            "ccy": "BTC"
        }]
    }
    

    请求示例

    {
        "op": "subscribe",
        "args": [
        {
          "channel": "account",
          "extraParams": "
            {
              \"updateInterval\": \"0\"
            }
          "
        }
      ]
    }
    

    请求参数

    参数 类型 是否必须 描述
    op String 操作
    subscribe
    unsubscribe
    args Array 请求订阅的频道列表
    > channel String 频道名
    account
    > ccy String 币种
    > extraParams String 额外配置
    >> updateInterval int 0: 仅根据账户事件推送数据
    若不添加该字段或将其设置为除0外的其他值,数据将根据事件推送并定时推送。
    使用该字段需严格遵守以下格式。
    "extraParams": "
    {
    \"updateInterval\": \"0\"
    }
    "

    成功返回示例:单个

    {
        "event": "subscribe",
        "arg": {
            "channel": "account",
            "ccy": "BTC"
        },
      "connId": "a4d3ae55"
    }
    

    成功返回示例

    {
        "event": "subscribe",
        "arg": {
            "channel": "account"
        },
      "connId": "a4d3ae55"
    }
    

    失败返回示例

    {
        "event": "error",
        "code": "60012",
        "msg": "Invalid request: {\"op\": \"subscribe\", \"argss\":[{ \"channel\" : \"account\", \"ccy\" : \"BTC\"}]}",
      "connId": "a4d3ae55"
    }
    

    返回参数

    参数 类型 是否必须 描述
    event String 事件
    subscribe
    unsubscribe
    error
    arg Object 订阅的频道
    > channel String 频道名
    account
    > ccy String 币种
    code String 错误码
    msg String 错误消息
    connId String WebSocket连接ID

    推送示例

    {
        "arg": {
            "channel": "account",
            "uid": "44*********584"
        },
        "data": [{
            "details": [{
                "accAvgPx":"13726482.110594058",
                "availBal":"4.02776655",
                "cashBal":"4.02776655",
                "ccy":"BTC",
                "eq":"4.02776655",
                "eqJpy":"58437022.59366886",
                "eqUsd":"58437022.59366886",
                "frozenBal":"0",
                "openAvgPx":"13726482.110594058",
                "ordFrozen":"0",
                "spotBal":"1.0099999999999998",
                "spotIsoBal":"0",
                "spotUpl":"789881.0993500013",
                "spotUplRatio":"0.0569745757219434",
                "stgyEq":"0",
                "totalPnl":"789881.0993499998",
                "totalPnlRatio":"0.0569745757219432",
                "uTime":"1732523313429"
            }],
            "totalEq": "55868.06403501676",
            "uTime": "1705564223311"
        }]
    }
    

    推送数据参数

    参数名 类型 描述
    arg Object 请求订阅的频道
    > channel String 频道名
    > uid String 用户标识
    data Array 订阅的数据
    > uTime String 获取账户信息的最新时间,Unix时间戳的毫秒数格式,如 1597026383085
    > totalEq String 日元层面权益
    > details Array 各币种资产详细信息
    >> ccy String 币种
    >> eq String 币种总权益
    >> cashBal String 币种余额
    >> uTime String 币种余额信息的更新时间,Unix时间戳的毫秒数格式,如 1597026383085
    >> availBal String 可用余额
    >> frozenBal String 币种占用金额
    >> ordFrozen String 挂单冻结数量
    >> eqJpy String 币种权益日元价值
    >> eqUsd String 币种权益日元价值
    >> stgyEq String 策略权益
    >> spotBal String 现货余额 ,单位为 币种,比如 BTC。
    >> openAvgPx Array 现货开仓成本价 单位 JPY。
    >> accAvgPx Array 现货累计成本价 单位 JPY。
    >> spotUpl String 现货未实现收益,单位 JPY。
    >> spotUplRatio String 现货未实现收益率。
    >> totalPnl String 现货累计收益,单位 JPY。
    >> totalPnlRatio String 现货累计收益率。

    账户余额和持仓频道

    获取账户余额和持仓信息,首次订阅按照订阅维度推送数据,此外,当成交、资金划转等事件触发时,推送数据。

    该频道适用于尽快获取账户现金余额和仓位资产变化的信息。
    该频道的并发连接受到如下规则限制:WebSocket 连接限制

    服务地址

    /ws/v5/private (需要登录)

    请求示例

    {
        "op": "subscribe",
        "args": [{
            "channel": "balance_and_position"
        }]
    }
    

    请求参数

    参数 类型 是否必须 描述
    op String 操作
    subscribe
    unsubscribe
    args Array 请求订阅的频道列表
    > channel String 频道名
    balance_and_position

    成功返回示例

    {
        "event": "subscribe",
        "arg": {
            "channel": "balance_and_position"
        },
        "connId": "a4d3ae55"
    }
    

    失败返回示例

    {
        "event": "error",
        "code": "60012",
        "msg": "Invalid request: {\"op\": \"subscribe\", \"argss\":[{ \"channel\" : \"balance_and_position\"}]}",
        "connId": "a4d3ae55"
    }
    

    返回参数

    参数 类型 是否必须 描述
    event String 事件
    subscribe
    unsubscribe
    error
    arg Object 订阅的频道
    > channel String 频道名
    balance_and_position
    code String 错误码
    msg String 错误消息
    connId String WebSocket连接ID

    推送示例

    {
        "arg": {
            "channel": "balance_and_position",
            "uid": "77982378738415879"
        },
        "data": [{
            "pTime": "1597026383085",
            "eventType": "snapshot",
            "balData": [{
                "ccy": "BTC",
                "cashBal": "1",
                "uTime": "1597026383085"
            }],
            "trades": [{
                "instId": "BTC-JPY",
                "tradeId": "2",
            }]
        }]
    }
    

    推送数据参数

    参数名 类型 描述
    arg Object 请求订阅的频道
    > channel String 频道名
    > uid String 用户标识
    data Array 订阅的数据
    > pTime String 推送时间,Unix时间戳的毫秒数格式,如 1597026383085
    > eventType String 事件类型
    snapshot:首推快照
    transferred:划转
    filled:成交
    > balData String 余额数据
    >> ccy String 币种
    >> cashBal String 币种余额
    >> uTime String 币种余额信息的更新时间,Unix时间戳的毫秒数格式,如 1597026383085
    > trades Array 成交数据
    >> instId String 产品ID,如 BTC-JPY
    >> tradeId String 最新成交ID

    撮合交易

    交易

    交易功能模块下的API接口需要身份验证。

    POST / 下单

    只有当您的账户有足够的资金才能下单。

    限速:60次/2s

    限速规则:UserID + Instrument ID

    HTTP请求

    POST /api/v5/trade/order

    请求示例

    # 币币下单
    POST /api/v5/trade/order
    body
    {
        "instId":"BTC-JPY",
        "tdMode":"cash",
        "clOrdId":"b15",
        "side":"buy",
        "ordType":"limit",
        "px":"2.15",
        "sz":"2"
    }
    
    import okx.Trade as Trade
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    
    tradeAPI = Trade.TradeAPI(apikey, secretkey, passphrase, False)
    
    # 现货模式限价单
    result = tradeAPI.place_order(
        instId="BTC-JPY",
        tdMode="cash",
        clOrdId="b15",
        side="buy",
        ordType="limit",
        px="2.15",
        sz="2"
    )
    
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instId String 产品ID,如 BTC-JPY
    tdMode String 交易模式
    cash:非保证金
    clOrdId String 客户自定义订单ID
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。
    tag String 订单标签
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字,且长度在1-16位之间。
    side String 订单方向
    buy:买, sell:卖
    ordType String 订单类型
    market:市价单
    limit:限价单
    post_only:只做maker单
    fok:全部成交或立即取消
    ioc:立即成交并取消剩余
    sz String 委托数量
    px String 可选 委托价格,仅适用于limitpost_onlyfokioc类型的订单
    tgtCcy String 市价单委托数量sz的单位,仅适用于币币市价订单
    base_ccy: 交易货币 ;quote_ccy:计价货币
    买单默认quote_ccy, 卖单默认base_ccy
    banAmend Boolean 是否禁止币币市价改单,true 或 false,默认false
    为true时,余额不足时,系统不会改单,下单会失败,仅适用于币币市价单
    attachAlgoOrds Array of object 下单附带止盈止损信息
    > attachAlgoClOrdId String 下单附带止盈止损时,客户自定义的策略订单ID
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。
    订单完全成交,下止盈止损委托单时,该值会传给algoClOrdId
    > tpTriggerPx String 可选 止盈触发价
    对于条件止盈单,如果填写此参数,必须填写 止盈委托价
    > tpOrdPx String 可选 止盈委托价
    对于条件止盈单,如果填写此参数,必须填写 止盈触发价
    对于限价止盈单,需填写此参数,不需要填写止盈触发价
    > slTriggerPx String 可选 止损触发价,如果填写此参数,必须填写 止损委托价
    > slOrdPx String 可选 止损委托价,如果填写此参数,必须填写 止损触发价
    > tpTriggerPxType String 止盈触发价类型
    last:最新价格
    默认为last
    > slTriggerPxType String 止损触发价类型
    last:最新价格
    默认为last
    > sz String 可选 数量。仅适用于“多笔止盈”的止盈订单,且对于“多笔止盈”的止盈订单必填

    返回结果

    {
        "code":"0",
        "msg":"",
        "data":[
            {
                "clOrdId":"oktswap6",
                "ordId":"12345689",
                "tag":"",
                "ts":"1695190491421",
                "sCode":"0",
                "sMsg":""
            }
        ],
        "inTime": "1695190491421339",
        "outTime": "1695190491423240"
    }
    

    返回参数

    参数名 类型 描述
    code String 结果代码,0表示成功
    msg String 错误信息,代码为0时,该字段为空
    data String 包含结果的对象数组
    > ordId String 订单ID
    > clOrdId String 客户自定义订单ID
    > tag String 订单标签
    > ts String 系统完成订单请求处理的时间戳,Unix时间戳的毫秒数格式,如 1597026383085
    > sCode String 事件执行结果的code,0代表成功
    > sMsg String 事件执行失败或成功时的msg
    inTime String REST网关接收请求时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123
    返回的时间是请求验证后的时间。
    outTime String REST网关发送响应时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123

    POST / 批量下单

    每次最多可以批量提交20个新订单。请求参数应该按数组格式传递,会依次委托订单。

    限速:300个/2s

    限速规则:UserID + Instrument ID

    HTTP请求

    POST /api/v5/trade/batch-orders

    请求示例

    # 币币批量下单
     POST /api/v5/trade/batch-orders
     body
     [
        {
            "instId":"BTC-JPY",
            "tdMode":"cash",
            "clOrdId":"b15",
            "side":"buy",
            "ordType":"limit",
            "px":"2.15",
            "sz":"2"
        },
        {
            "instId":"BTC-JPY",
            "tdMode":"cash",
            "clOrdId":"b16",
            "side":"buy",
            "ordType":"limit",
            "px":"2.15",
            "sz":"2"
        }
    ]
    
    import okx.Trade as Trade
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    
    tradeAPI = Trade.TradeAPI(apikey, secretkey, passphrase, False)
    
    # 批量下单
    place_orders_without_clOrdId = [
        {"instId": "BTC-JPY", "tdMode": "cash", "clOrdId": "b15", "side": "buy", "ordType": "limit", "px": "2.15", "sz": "2"},
        {"instId": "BTC-JPY", "tdMode": "cash", "clOrdId": "b16", "side": "buy", "ordType": "limit", "px": "2.15", "sz": "2"}
    ]
    
    result = tradeAPI.place_multiple_orders(place_orders_without_clOrdId)
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instId String 产品ID,如 BTC-JPY
    tdMode String 交易模式
    cash:非保证金
    clOrdId String 客户自定义订单ID
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。
    tag String 订单标签
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-16位之间。
    side String 订单方向 buy:买, sell:卖
    ordType String 订单类型
    market:市价单
    limit:限价单
    post_only:只做maker单
    fok:全部成交或立即取消
    ioc:立即成交并取消剩余
    sz String 委托数量
    px String 可选 委托价格,仅适用于limitpost_onlyfokioc类型的订单
    tgtCcy String 市价单委托数量sz的单位,仅适用于币币市价订单
    base_ccy: 交易货币 ;quote_ccy:计价货币
    买单默认quote_ccy, 卖单默认base_ccy
    banAmend Boolean 是否禁止币币市价改单,true 或 false,默认false
    为true时,余额不足时,系统不会改单,下单会失败,仅适用于币币市价单
    attachAlgoOrds Array of object 下单附带止盈止损信息
    > attachAlgoClOrdId String 下单附带止盈止损时,客户自定义的策略订单ID
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。
    订单完全成交,下止盈止损委托单时,该值会传给algoClOrdId
    > tpTriggerPx String 可选 止盈触发价
    对于条件止盈单,如果填写此参数,必须填写 止盈委托价
    > tpOrdPx String 可选 止盈委托价
    对于条件止盈单,如果填写此参数,必须填写 止盈触发价
    对于限价止盈单,需填写此参数,不需要填写止盈触发价
    > slTriggerPx String 可选 止损触发价,如果填写此参数,必须填写 止损委托价
    > slOrdPx String 可选 止损委托价,如果填写此参数,必须填写 止损触发价
    > tpTriggerPxType String 止盈触发价类型
    last:最新价格
    默认为last
    > slTriggerPxType String 止损触发价类型
    last:最新价格
    默认为last
    > sz String 可选 数量。仅适用于“多笔止盈”的止盈订单,且对于“多笔止盈”的止盈订单必填
    > amendPxOnTriggerType String 是否启用开仓价止损,仅适用于分批止盈的止损订单,第一笔止盈触发时,止损触发价格是否移动到开仓均价止损
    0:不开启,默认值
    1:开启,且止损触发价不能为空

    返回结果

    {
        "code":"0",
        "msg":"",
        "data":[
            {
                "clOrdId":"oktswap6",
                "ordId":"12345689",
                "tag":"",
                "ts":"1695190491421",
                "sCode":"0",
                "sMsg":""
            },
            {
                "clOrdId":"oktswap7",
                "ordId":"12344",
                "tag":"",
                "ts":"1695190491421",
                "sCode":"0",
                "sMsg":""
            }
        ],
        "inTime": "1695190491421339",
        "outTime": "1695190491423240"
    }
    

    返回参数

    参数名 类型 描述
    code String 结果代码,0表示成功
    msg String 错误信息,代码为0时,该字段为空
    data String 包含结果的对象数组
    > ordId String 订单ID
    > clOrdId String 客户自定义订单ID
    > tag String 订单标签
    > ts String 系统完成订单请求处理的时间戳,Unix时间戳的毫秒数格式,如 1597026383085
    > sCode String 事件执行结果的code,0代表成功
    > sMsg String 事件执行失败或成功时的msg
    inTime String REST网关接收请求时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123
    返回的时间是请求验证后的时间。
    outTime String REST网关发送响应时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123

    POST / 撤单

    撤销之前下的未完成订单。

    限速:60次/2s

    限速规则:UserID + Instrument ID

    HTTP请求

    POST /api/v5/trade/cancel-order

    请求示例

    POST /api/v5/trade/cancel-order
    body
    {
        "ordId":"590908157585625111",
        "instId":"BTC-JPY"
    }
    
    
    import okx.Trade as Trade
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    
    tradeAPI = Trade.TradeAPI(apikey, secretkey, passphrase, False)
    
    # 撤单
    result = tradeAPI.cancel_order(instId="BTC-JPY", ordId = "590908157585625111")
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instId String 产品ID,如 BTC-JPY
    ordId String 可选 订单ID, ordIdclOrdId必须传一个,若传两个,以ordId为主
    clOrdId String 可选 用户自定义ID

    返回结果

    {
        "code":"0",
        "msg":"",
        "data":[
            {
                "clOrdId":"oktswap6",
                "ordId":"12345689",
                "ts":"1695190491421",
                "sCode":"0",
                "sMsg":""
            }
        ],
        "inTime": "1695190491421339",
        "outTime": "1695190491423240"
    }
    

    返回参数

    参数名 类型 描述
    code String 结果代码,0表示成功
    msg String 错误信息,代码为0时,该字段为空
    data String 包含结果的对象数组
    > ordId String 订单ID
    > clOrdId String 客户自定义订单ID
    > ts String 系统完成订单请求处理的时间戳,Unix时间戳的毫秒数格式,如 1597026383085
    > sCode String 事件执行结果的code,0代表成功
    > sMsg String 事件执行失败时的msg
    inTime String REST网关接收请求时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123
    返回的时间是请求验证后的时间。
    outTime String REST网关发送响应时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123

    POST / 批量撤单

    撤销未完成的订单,每次最多可以撤销20个订单。请求参数应该按数组格式传递。

    限速:300个/2s

    限速规则:UserID + Instrument ID

    HTTP请求

    POST /api/v5/trade/cancel-batch-orders

    请求示例

    POST /api/v5/trade/cancel-batch-orders
    body
    [
        {
            "instId":"BTC-JPY",
            "ordId":"590908157585625111"
        },
        {
            "instId":"BTC-JPY",
            "ordId":"590908544950571222"
        }
    ]
    
    
    import okx.Trade as Trade
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    
    tradeAPI = Trade.TradeAPI(apikey, secretkey, passphrase, False)
    
    # 按ordId撤单
    cancel_orders_with_orderId = [
        {"instId": "BTC-JPY", "ordId": "590908157585625111"},
        {"instId": "BTC-JPY", "ordId": "590908544950571222"}
    ]
    
    result = tradeAPI.cancel_multiple_orders(cancel_orders_with_orderId)
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instId String 产品ID,如 BTC-JPY
    ordId String 可选 订单ID, ordIdclOrdId必须传一个,若传两个,以ordId为主
    clOrdId String 可选 用户自定义ID

    返回结果

    {
        "code":"0",
        "msg":"",
        "data":[
            {
                "clOrdId":"oktswap6",
                "ordId":"12345689",
                "ts":"1695190491421",
                "sCode":"0",
                "sMsg":""
            },
            {
                "clOrdId":"oktswap7",
                "ordId":"12344",
                "ts":"1695190491421",
                "sCode":"0",
                "sMsg":""
            }
        ],
        "inTime": "1695190491421339",
        "outTime": "1695190491423240"
    }
    

    返回参数

    参数名 类型 描述
    code String 结果代码,0表示成功
    msg String 错误信息,代码为0时,该字段为空
    data String 包含结果的对象数组
    > ordId String 订单ID
    > clOrdId String 客户自定义订单ID
    > ts String 系统完成订单请求处理的时间戳,Unix时间戳的毫秒数格式,如 1597026383085
    > sCode String 事件执行结果的code,0代表成功
    > sMsg String 事件执行失败时的msg
    inTime String REST网关接收请求时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123
    返回的时间是请求验证后的时间。
    outTime String REST网关发送响应时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123

    POST / 修改订单

    修改当前未成交的挂单

    限速:60次/2s

    跟单交易带单产品的限速:4个/2s

    限速规则:UserID + Instrument ID

    HTTP请求

    POST /api/v5/trade/amend-order

    请求示例

    POST /api/v5/trade/amend-order
    body
    {
        "ordId":"590909145319051111",
        "newSz":"2",
        "instId":"BTC-JPY"
    }
    
    import okx.Trade as Trade
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    
    tradeAPI = Trade.TradeAPI(apikey, secretkey, passphrase, False)
    
    # 修改订单
    result = tradeAPI.amend_order(
        instId="BTC-JPY",
        ordId="590909145319051111",
        newSz="2"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instId String 产品ID
    cxlOnFail Boolean 当订单修改失败时,该订单是否需要自动撤销。默认为false
    false:不自动撤单
    true:自动撤单
    ordId String 可选 订单ID
    ordIdclOrdId必须传一个,若传两个,以ordId为主
    clOrdId String 可选 用户自定义订单ID
    reqId String 用户自定义修改事件ID
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。
    newSz String 可选 修改的新数量,必须大于0,对于部分成交订单,该数量应包含已成交数量。
    newPx String 可选 修改后的新价格
    attachAlgoOrds Array of object 修改附带止盈止损信息
    > attachAlgoId String 可选 附带止盈止损的订单ID,由系统生成,改单时,可用来标识该笔附带止盈止损订单。下止盈止损委托单时,该值不会传给 algoId
    > attachAlgoClOrdId String 可选 下单附带止盈止损时,客户自定义的策略订单ID
    > newTpTriggerPx String 可选 止盈触发价
    如果止盈触发价或者委托价为0,那代表删除止盈。
    > newTpOrdPx String 可选 止盈委托价
    > newSlTriggerPx String 可选 止损触发价
    如果止损触发价或者委托价为0,那代表删除止损。
    > newSlOrdPx String 可选 止损委托价
    > newTpTriggerPxType String 可选 止盈触发价类型
    last:最新价格
    如果要新增止盈,该参数必填
    > newSlTriggerPxType String 可选 止损触发价类型
    last:最新价格
    如果要新增止损,该参数必填
    > sz String 可选 新的张数。仅适用于“多笔止盈”的止盈订单且必填
    > amendPxOnTriggerType String 是否启用开仓价止损,仅适用于分批止盈的止损订单
    0:不开启,默认值
    1:开启

    返回结果

    {
        "code":"0",
        "msg":"",
        "data":[
            {
             "clOrdId":"",
             "ordId":"12344",
             "ts":"1695190491421",
             "reqId":"b12344",
             "sCode":"0",
             "sMsg":""
            }
        ],
        "inTime": "1695190491421339",
        "outTime": "1695190491423240"
    }
    

    返回参数

    参数名 类型 描述
    code String 结果代码,0表示成功
    msg String 错误信息,代码为0时,该字段为空
    data String 包含结果的对象数组
    > ordId String 订单ID
    > clOrdId String 用户自定义ID
    > ts String 系统完成订单请求处理的时间戳,Unix时间戳的毫秒数格式,如 1597026383085
    > reqId String 用户自定义修改事件ID
    > sCode String 事件执行结果的code,0代表成功
    > sMsg String 事件执行失败时的msg
    inTime String REST网关接收请求时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123
    返回的时间是请求验证后的时间。
    outTime String REST网关发送响应时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123

    POST / 批量修改订单

    修改未完成的订单,一次最多可批量修改20个订单。请求参数应该按数组格式传递。

    限速:300个/2s

    限速规则:UserID + Instrument ID

    HTTP请求

    POST /api/v5/trade/amend-batch-orders

    请求示例

    POST /api/v5/trade/amend-batch-orders
    body
    [
        {
            "ordId":"590909308792049444",
            "newSz":"2",
            "instId":"BTC-JPY"
        },
        {
            "ordId":"590909308792049555",
            "newSz":"2",
            "instId":"BTC-JPY"
        }
    ]
    
    import okx.Trade as Trade
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    
    tradeAPI = Trade.TradeAPI(apikey, secretkey, passphrase, False)
    
    # 按ordId修改未完成的订单
    amend_orders_with_orderId = [
        {"instId": "BTC-JPY", "ordId": "590909308792049444","newSz":"2"},
        {"instId": "BTC-JPY", "ordId": "590909308792049555","newSz":"2"}
    ]
    
    result = tradeAPI.amend_multiple_orders(amend_orders_with_orderId)
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instId String 产品ID
    cxlOnFail Boolean 当订单修改失败时,该订单是否需要自动撤销。默认为false
    false:不自动撤单
    true:自动撤单
    ordId String 可选 订单ID, ordIdclOrdId必须传一个,若传两个,以ordId为主
    clOrdId String 可选 用户自定义order ID
    reqId String 用户自定义修改事件ID
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。
    newSz String 可选 修改的新数量,必须大于0,对于部分成交订单,该数量应包含已成交数量。
    newPx String 可选 修改后的新价格
    attachAlgoOrds Array of object 下单附带止盈止损信息
    > attachAlgoId String 可选 附带止盈止损的订单ID,由系统生成,改单时,可用来标识该笔附带止盈止损订单。下止盈止损委托单时,该值不会传给 algoId
    > attachAlgoClOrdId String 可选 下单附带止盈止损时,客户自定义的策略订单ID
    > newTpTriggerPx String 可选 止盈触发价
    如果止盈触发价或者委托价为0,那代表删除止盈。
    > newTpOrdPx String 可选 止盈委托价
    > newSlTriggerPx String 可选 止损触发价
    如果止损触发价或者委托价为0,那代表删除止损。
    > newSlOrdPx String 可选 止损委托价
    > newTpTriggerPxType String 可选 止盈触发价类型
    last:最新价格
    如果要新增止盈,该参数必填
    > newSlTriggerPxType String 可选 止损触发价类型
    last:最新价格
    如果要新增止损,该参数必填
    > sz String 可选 新的张数。仅适用于“多笔止盈”的止盈订单且必填
    > amendPxOnTriggerType String 是否启用开仓价止损,仅适用于分批止盈的止损订单
    0:不开启,默认值
    1:开启

    返回结果

    {
        "code":"0",
        "msg":"",
        "data":[
            {
                "clOrdId":"oktswap6",
                "ordId":"12345689",
                "ts":"1695190491421",
                "reqId":"b12344",
                "sCode":"0",
                "sMsg":""
            },
            {
                "clOrdId":"oktswap7",
                "ordId":"12344",
                "ts":"1695190491421",
                "reqId":"b12344",
                "sCode":"0",
                "sMsg":""
            }
        ],
        "inTime": "1695190491421339",
        "outTime": "1695190491423240"
    }
    

    返回参数

    参数名 类型 描述
    code String 结果代码,0表示成功
    msg String 错误信息,代码为0时,该字段为空
    data String 包含结果的对象数组
    > ordId String 订单ID
    > clOrdId String 用户自定义ID
    > ts String 系统完成订单请求处理的时间戳,Unix时间戳的毫秒数格式,如 1597026383085
    > reqId String 用户自定义修改事件ID
    > sCode String 事件执行结果的code,0代表成功
    > sMsg String 事件执行失败时的msg
    inTime String REST网关接收请求时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123
    返回的时间是请求验证后的时间。
    outTime String REST网关发送响应时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123

    GET / 获取订单信息

    查订单信息

    限速:60次/2s

    限速规则:UserID + Instrument ID

    HTTP请求

    GET /api/v5/trade/order

    请求示例

    GET /api/v5/trade/order?ordId=1753197687182819328&instId=BTC-JPY
    
    
    import okx.Trade as Trade
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    
    tradeAPI = Trade.TradeAPI(apikey, secretkey, passphrase, False)
    
    # 通过 ordId 查询订单
    result = tradeAPI.get_order(
        instId="BTC-JPY",
        ordId="680800019749904384"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instId String 产品ID,如 BTC-JPY
    只适用于交易中的产品
    ordId String 可选 订单ID,ordIdclOrdId必须传一个,若传两个,以ordId为主
    clOrdId String 可选 用户自定义ID
    如果clOrdId关联了多个订单,只会返回最近的那笔订单

    返回结果

    {
        "code": "0",
        "data": [
            {
                "accFillSz": "0.00192834",
                "algoClOrdId": "",
                "algoId": "",
                "attachAlgoClOrdId": "",
                "attachAlgoOrds": [],
                "avgPx": "51858",
                "cTime": "1708587373361",
                "cancelSource": "",
                "cancelSourceReason": "",
                "category": "normal",
                "ccy": "",
                "clOrdId": "",
                "fee": "-0.00000192834",
                "feeCcy": "BTC",
                "fillPx": "51858",
                "fillSz": "0.00192834",
                "fillTime": "1708587373361",
                "instId": "BTC-JPY",
                "instType": "SPOT",
                "isTpLimit": "false",
                "linkedAlgoOrd": {
                    "algoId": ""
                },
                "ordId": "680800019749904384",
                "ordType": "market",
                "pnl": "0",
                "px": "",
                "rebate": "0",
                "rebateCcy": "JPY",
                "side": "buy",
                "slOrdPx": "",
                "slTriggerPx": "",
                "slTriggerPxType": "",
                "source": "",
                "state": "filled",
                "sz": "100",
                "tag": "",
                "tdMode": "cash",
                "tgtCcy": "quote_ccy",
                "tpOrdPx": "",
                "tpTriggerPx": "",
                "tpTriggerPxType": "",
                "tradeId": "744876980",
                "uTime": "1708587373362"
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    instType String 产品类型
    SPOT:币币
    instId String 产品ID
    tgtCcy String 币币市价单委托数量sz的单位
    base_ccy: 交易货币 ;quote_ccy:计价货币
    仅适用于币币市价订单
    默认买单为quote_ccy,卖单为base_ccy
    ccy String 保证金币种
    ordId String 订单ID
    clOrdId String 客户自定义订单ID
    tag String 订单标签
    px String 委托价格
    pxJpy String 期权价格
    pxVol String 期权订单的隐含波动率
    pxType String 期权的价格类型
    sz String 委托数量
    pnl String 收益,适用于有成交的平仓订单,其他情况均为0
    ordType String 订单类型
    market:市价单
    limit:限价单
    post_only:只做maker单
    fok:全部成交或立即取消
    ioc:立即成交并取消剩余
    side String 订单方向
    tdMode String 交易模式
    accFillSz String 累计成交数量
    对于币币,单位为交易货币,如 BTC-JPY, 单位为 BTC;对于市价单,无论tgtCcybase_ccy,还是quote_ccy,单位均为交易货币;
    fillPx String 最新成交价格,如果成交数量为0,该字段为""
    tradeId String 最新成交ID
    fillSz String 最新成交数量
    对于币币,单位为交易货币,如 BTC-JPY, 单位为 BTC;对于市价单,无论tgtCcybase_ccy,还是quote_ccy,单位均为交易货币;
    fillTime String 最新成交时间
    avgPx String 成交均价,如果成交数量为0,该字段也为""
    state String 订单状态
    canceled:撤单成功
    live:等待成交
    partially_filled:部分成交
    filled:完全成交
    lever String 杠杆倍数,0.01到125之间的数值
    attachAlgoClOrdId String 下单附带止盈止损时,客户自定义的策略订单ID
    tpTriggerPx String 止盈触发价
    tpTriggerPxType String 止盈触发价类型
    last:最新价格
    tpOrdPx String 止盈委托价
    slTriggerPx String 止损触发价
    slTriggerPxType String 止损触发价类型
    last:最新价格
    slOrdPx String 止损委托价
    attachAlgoOrds Array of object 下单附带止盈止损信息
    > attachAlgoId String 附带止盈止损的订单ID,改单时,可用来标识该笔附带止盈止损订单。下止盈止损委托单时,该值不会传给 algoId
    > attachAlgoClOrdId String 下单附带止盈止损时,客户自定义的策略订单ID
    > tpOrdKind String 止盈订单类型
    condition: 条件单
    limit: 限价单
    > tpTriggerPx String 止盈触发价
    > tpTriggerPxType String 止盈触发价类型
    last:最新价格
    > tpOrdPx String 止盈委托价
    > slTriggerPx String 止损触发价
    > slTriggerPxType String 止损触发价类型
    last:最新价格
    > slOrdPx String 止损委托价
    > sz String 张数。仅适用于“多笔止盈”的止盈订单
    > amendPxOnTriggerType String 是否启用开仓价止损,仅适用于分批止盈的止损订单
    0:不开启,默认值
    1:开启
    > failCode String 委托失败的错误码,默认为"",
    委托失败时有值,如 51020
    > failReason String 委托失败的原因,默认为""
    委托失败时有值
    linkedAlgoOrd Object 止损订单信息,仅适用于包含限价止盈单的双向止盈止损订单,触发后生成的普通订单
    > algoId Object 策略订单唯一标识
    stpId String 自成交保护ID
    如果自成交保护不适用则返回""
    stpMode String 自成交保护模式
    feeCcy String 交易手续费币种
    fee String 手续费与返佣
    对于币币,为订单交易累计的手续费,平台向用户收取的交易手续费,为负数。如: -0.01
    rebateCcy String 返佣金币种
    source String 订单来源
    6:计划委托策略触发后的生成的普通单
    7:止盈止损策略触发后的生成的普通单
    13:策略委托单触发后的生成的普通单
    25:移动止盈止损策略触发后的生成的普通单
    rebate String 返佣金额,仅适用于币币,平台向达到指定lv交易等级的用户支付的挂单奖励(返佣),如果没有返佣金,该字段为””。手续费返佣为正数,如:0.01
    category String 订单种类
    normal:普通委托
    reduceOnly String 是否只减仓,truefalse
    cancelSource String 订单取消来源的原因枚举值代码
    cancelSourceReason String 订单取消来源的对应具体原因
    quickMgnType String 一键借币类型,仅适用于杠杆逐仓的一键借币模式
    algoClOrdId String 客户自定义策略订单ID。策略订单触发,且策略单有algoClOrdId时有值,否则为"",
    algoId String 策略委托单ID,策略订单触发时有值,否则为""
    isTpLimit String 是否为限价止盈,true 或 false.
    uTime String 订单状态更新时间,Unix时间戳的毫秒数格式,如 1597026383085
    cTime String 订单创建时间,Unix时间戳的毫秒数格式,如 1597026383085

    GET / 获取未成交订单列表

    获取当前账户下所有未成交订单信息

    限速:60次/2s

    限速规则:UserID

    HTTP请求

    GET /api/v5/trade/orders-pending

    请求示例

    GET /api/v5/trade/orders-pending?ordType=post_only,fok,ioc&instType=SPOT
    
    
    import okx.Trade as Trade
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    
    tradeAPI = Trade.TradeAPI(apikey, secretkey, passphrase, False)
    
    # 查询所有未成交订单
    result = tradeAPI.get_order_list(
        instType="SPOT",
        ordType="post_only,fok,ioc"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instType String 产品类型
    SPOT:币币
    instId String 产品ID,如 BTC-JPY
    ordType String 订单类型
    market:市价单
    limit:限价单
    post_only:只做maker单
    fok:全部成交或立即取消
    ioc:立即成交并取消剩余
    state String 订单状态
    live:等待成交
    partially_filled:部分成交
    after String 请求此ID之前(更旧的数据)的分页内容,传的值为对应接口的ordId
    before String 请求此ID之后(更新的数据)的分页内容,传的值为对应接口的ordId
    limit String 返回结果的数量,最大为100,默认100条

    返回结果

    {
        "code": "0",
        "data": [
            {
                "accFillSz": "0",
                "algoClOrdId": "",
                "algoId": "",
                "attachAlgoClOrdId": "",
                "attachAlgoOrds": [],
                "avgPx": "",
                "cTime": "1724733617998",
                "cancelSource": "",
                "cancelSourceReason": "",
                "category": "normal",
                "ccy": "",
                "clOrdId": "",
                "fee": "0",
                "feeCcy": "BTC",
                "fillPx": "",
                "fillSz": "0",
                "fillTime": "",
                "instId": "BTC-JPY",
                "instType": "SPOT",
                "isTpLimit": "false",
                "linkedAlgoOrd": {
                    "algoId": ""
                },
                "ordId": "1752588852617379840",
                "ordType": "post_only",
                "pnl": "0",
                "px": "13013.5",
                "rebate": "0",
                "rebateCcy": "JPY",
                "side": "buy",
                "slOrdPx": "",
                "slTriggerPx": "",
                "slTriggerPxType": "",
                "source": "",
                "state": "live",
                "sz": "0.001",
                "tag": "",
                "tdMode": "cash",
                "tgtCcy": "",
                "tpOrdPx": "",
                "tpTriggerPx": "",
                "tpTriggerPxType": "",
                "tradeId": "",
                "uTime": "1724733617998"
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    instType String 产品类型
    instId String 产品ID
    tgtCcy String 币币市价单委托数量sz的单位
    base_ccy: 交易货币 ;quote_ccy:计价货币
    仅适用于币币市价订单
    默认买单为quote_ccy,卖单为base_ccy
    ccy String 保证金币种
    ordId String 订单ID
    clOrdId String 客户自定义订单ID
    tag String 订单标签
    px String 委托价格
    pxJpy String 期权价格
    pxVol String 期权订单的隐含波动率
    pxType String 期权的价格类型
    sz String 委托数量
    pnl String 收益,适用于有成交的平仓订单,其他情况均为0
    ordType String 订单类型
    market:市价单
    limit:限价单
    post_only:只做maker单
    fok:全部成交或立即取消
    ioc:立即成交并取消剩余
    side String 订单方向
    tdMode String 交易模式
    accFillSz String 累计成交数量
    fillPx String 最新成交价格。如果还没成交,系统返回""。
    tradeId String 最新成交ID
    fillSz String 最新成交数量
    fillTime String 最新成交时间
    avgPx String 成交均价。如果还没成交,系统返回0
    state String 订单状态
    live:等待成交
    partially_filled:部分成交
    lever String 杠杆倍数,0.01到125之间的数值
    attachAlgoClOrdId String 下单附带止盈止损时,客户自定义的策略订单ID
    tpTriggerPx String 止盈触发价
    tpTriggerPxType String 止盈触发价类型
    last:最新价格
    tpOrdPx String 止盈委托价
    slTriggerPx String 止损触发价
    slTriggerPxType String 止损触发价类型
    last:最新价格
    slOrdPx String 止损委托价
    tpOrdPx String 止盈委托价
    attachAlgoOrds Array of object 下单附带止盈止损信息
    > attachAlgoId String 附带止盈止损的订单ID,改单时,可用来标识该笔附带止盈止损订单。下止盈止损委托单时,该值不会传给 algoId
    > attachAlgoClOrdId String 下单附带止盈止损时,客户自定义的策略订单ID
    > tpOrdKind String 止盈订单类型
    condition: 条件单
    limit: 限价单
    > tpTriggerPx String 止盈触发价
    > tpTriggerPxType String 止盈触发价类型
    last:最新价格
    > tpOrdPx String 止盈委托价
    > slTriggerPx String 止损触发价
    > slTriggerPxType String 止损触发价类型
    last:最新价格
    > slOrdPx String 止损委托价
    > sz String 张数。仅适用于“多笔止盈”的止盈订单
    > failCode String 委托失败的错误码,默认为"",
    委托失败时有值,如 51020
    > failReason String 委托失败的原因,默认为""
    委托失败时有值
    > amendPxOnTriggerType String 是否启用开仓价止损,仅适用于分批止盈的止损订单
    0:不开启,默认值
    1:开启
    linkedAlgoOrd Object 止损订单信息,仅适用于包含限价止盈单的双向止盈止损订单,触发后生成的普通订单
    > algoId Object 策略订单唯一标识
    stpId String 自成交保护ID
    如果自成交保护不适用则返回""
    stpMode String 自成交保护模式
    feeCcy String 交易手续费币种
    fee String 手续费与返佣
    对于币币,为订单交易累计的手续费,平台向用户收取的交易手续费,为负数。如: -0.01
    rebateCcy String 返佣金币种
    source String 订单来源
    6:计划委托策略触发后的生成的普通单
    7:止盈止损策略触发后的生成的普通单
    13:策略委托单触发后的生成的普通单
    25:移动止盈止损策略触发后的生成的普通单
    rebate String 返佣金额,仅适用于币币和杠杆,平台向达到指定lv交易等级的用户支付的挂单奖励(返佣),如果没有返佣金,该字段为“”。手续费返佣为正数,如:0.01
    category String 订单种类
    normal:普通委托
    reduceOnly String 是否只减仓,truefalse
    quickMgnType String 一键借币类型
    algoClOrdId String 客户自定义策略订单ID。策略订单触发,且策略单有algoClOrdId是有值,否则为"",
    algoId String 策略委托单ID,策略订单触发时有值,否则为""
    isTpLimit String 是否为限价止盈,true 或 false.
    uTime String 订单状态更新时间,Unix时间戳的毫秒数格式,如 1597026383085
    cTime String 订单创建时间,Unix时间戳的毫秒数格式,如 1597026383085
    cancelSource String 订单取消来源的原因枚举值代码
    cancelSourceReason String 订单取消来源的对应具体原因

    GET / 获取历史订单记录(近七天)

    获取最近7天挂单,且完成的订单数据,包括7天以前挂单,但近7天才成交的订单数据。按照订单创建时间倒序排序。

    已经撤销的未成交单 只保留2小时

    限速:40次/2s

    限速规则:UserID

    HTTP请求

    GET /api/v5/trade/orders-history

    请求示例

    GET /api/v5/trade/orders-history?ordType=post_only,fok,ioc&instType=SPOT
    
    
    import okx.Trade as Trade
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    
    tradeAPI = Trade.TradeAPI(apikey, secretkey, passphrase, False)
    
    # 查询币币历史订单(7天内)
    # 已经撤销的未成交单 只保留2小时
    result = tradeAPI.get_orders_history(
        instType="SPOT",
        ordType="post_only,fok,ioc"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instType String 产品类型
    SPOT:币币
    instId String 产品ID,如BTC-JPY
    ordType String 订单类型
    market:市价单
    limit:限价单
    post_only:只做maker单
    fok:全部成交或立即取消
    ioc:立即成交并取消剩余
    state String 订单状态
    canceled:撤单成功
    filled:完全成交
    after String 请求此ID之前(更旧的数据)的分页内容,传的值为对应接口的ordId
    before String 请求此ID之后(更新的数据)的分页内容,传的值为对应接口的ordId
    begin String 筛选的开始时间戳 cTime,Unix 时间戳为毫秒数格式,如 1597026383085
    end String 筛选的结束时间戳 cTime,Unix 时间戳为毫秒数格式,如 1597027383085
    limit String 返回结果的数量,最大为100,默认100条

    返回结果

    {
        "code": "0",
        "data": [
            {
                "accFillSz": "0.00192834",
                "algoClOrdId": "",
                "algoId": "",
                "attachAlgoClOrdId": "",
                "attachAlgoOrds": [],
                "avgPx": "51858",
                "cTime": "1708587373361",
                "cancelSource": "",
                "cancelSourceReason": "",
                "category": "normal",
                "ccy": "",
                "clOrdId": "",
                "fee": "-0.00000192834",
                "feeCcy": "BTC",
                "fillPx": "51858",
                "fillSz": "0.00192834",
                "fillTime": "1708587373361",
                "instId": "BTC-JPY",
                "instType": "SPOT",
                "isTpLimit": "false",
                "ordId": "680800019749904384",
                "ordType": "market",
                "pnl": "0",
                "px": "",
                "rebate": "0",
                "rebateCcy": "JPY",
                "side": "buy",
                "slOrdPx": "",
                "slTriggerPx": "",
                "slTriggerPxType": "",
                "source": "",
                "state": "filled",
                "sz": "100",
                "tag": "",
                "tdMode": "cash",
                "tgtCcy": "quote_ccy",
                "tpOrdPx": "",
                "tpTriggerPx": "",
                "tpTriggerPxType": "",
                "tradeId": "744876980",
                "uTime": "1708587373362",
                "linkedAlgoOrd": {
                    "algoId": ""
                }
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    instType String 产品类型
    instId String 产品ID
    tgtCcy String 币币市价单委托数量sz的单位
    base_ccy: 交易货币 ;quote_ccy:计价货币
    仅适用于币币市价订单
    默认买单为quote_ccy,卖单为base_ccy
    ccy String 保证金币种
    ordId String 订单ID
    clOrdId String 客户自定义订单ID
    tag String 订单标签
    px String 委托价格
    pxJpy String 期权价格
    pxVol String 期权订单的隐含波动率
    pxType String 期权的价格类型
    sz String 委托数量
    ordType String 订单类型
    market:市价单
    limit:限价单
    post_only:只做maker单
    fok:全部成交或立即取消
    ioc:立即成交并取消剩余
    side String 订单方向
    posSide String 持仓方向
    tdMode String 交易模式
    accFillSz String 累计成交数量
    fillPx String 最新成交价格,如果成交数量为0,该字段为""
    tradeId String 最新成交ID
    fillSz String 最新成交数量
    fillTime String 最新成交时间
    avgPx String 成交均价,如果成交数量为0,该字段也为""
    state String 订单状态
    canceled:撤单成功
    filled:完全成交
    lever String 杠杆倍数,0.01到125之间的数值
    attachAlgoClOrdId String 下单附带止盈止损时,客户自定义的策略订单ID
    tpTriggerPx String 止盈触发价
    tpTriggerPxType String 止盈触发价类型
    last:最新价格
    tpOrdPx String 止盈委托价
    slTriggerPx String 止损触发价
    slTriggerPxType String 止损触发价类型
    last:最新价格
    slOrdPx String 止损委托价
    attachAlgoOrds Array of object 下单附带止盈止损信息
    > attachAlgoId String 附带止盈止损的订单ID,改单时,可用来标识该笔附带止盈止损订单。下止盈止损委托单时,该值不会传给 algoId
    > attachAlgoClOrdId String 下单附带止盈止损时,客户自定义的策略订单ID
    > tpOrdKind String 止盈订单类型
    condition: 条件单
    limit: 限价单
    > tpTriggerPx String 止盈触发价
    > tpTriggerPxType String 止盈触发价类型
    last:最新价格
    > tpOrdPx String 止盈委托价
    > slTriggerPx String 止损触发价
    > slTriggerPxType String 止损触发价类型
    last:最新价格
    > slOrdPx String 止损委托价
    > sz String 张数。仅适用于“多笔止盈”的止盈订单
    > amendPxOnTriggerType String 是否启用开仓价止损,仅适用于分批止盈的止损订单
    0:不开启,默认值
    1:开启
    > failCode String 委托失败的错误码,默认为"",
    委托失败时有值,如 51020
    > failReason String 委托失败的原因,默认为""
    委托失败时有值
    linkedAlgoOrd Object 止损订单信息,仅适用于包含限价止盈单的双向止盈止损订单,触发后生成的普通订单
    > algoId Object 策略订单唯一标识
    stpId String 自成交保护ID
    如果自成交保护不适用则返回""
    stpMode String 自成交保护模式
    feeCcy String 交易手续费币种
    fee String 手续费与返佣
    对于币币,为订单交易累计的手续费,平台向用户收取的交易手续费,为负数。如: -0.01
    rebateCcy String 返佣金币种
    source String 订单来源
    6:计划委托策略触发后的生成的普通单
    7:止盈止损策略触发后的生成的普通单
    13:策略委托单触发后的生成的普通单
    25:移动止盈止损策略触发后的生成的普通单
    rebate String 返佣金额,仅适用于币币,平台向达到指定lv交易等级的用户支付的挂单奖励(返佣),如果没有返佣金,该字段为“”。手续费返佣为正数,如:0.01
    pnl String 收益,适用于有成交的平仓订单,其他情况均为0
    category String 订单种类
    normal:普通委托
    reduceOnly String 是否只减仓,truefalse
    cancelSource String 订单取消来源的原因枚举值代码
    cancelSourceReason String 订单取消来源的对应具体原因
    algoClOrdId String 客户自定义策略订单ID。策略订单触发,且策略单有algoClOrdId时有值,否则为"",
    algoId String 策略委托单ID,策略订单触发时有值,否则为""
    isTpLimit String 是否为限价止盈,true 或 false.
    uTime String 订单状态更新时间,Unix时间戳的毫秒数格式,如 1597026383085
    cTime String 订单创建时间,Unix时间戳的毫秒数格式,如 1597026383085

    GET / 获取历史订单记录(近三个月)

    获取最近3个月挂单,且完成的订单数据,包括3个月以前挂单,但近3个月才成交的订单数据。按照订单创建时间倒序排序。

    限速:20次/2s

    限速规则:UserID

    HTTP请求

    GET /api/v5/trade/orders-history-archive

    请求示例

    GET /api/v5/trade/orders-history-archive?ordType=post_only,fok,ioc&instType=SPOT
    
    
    import okx.Trade as Trade
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    
    tradeAPI = Trade.TradeAPI(apikey, secretkey, passphrase, False)
    
    # 查询币币历史订单(3月内)
    result = tradeAPI.get_orders_history_archive(
        instType="SPOT",
        ordType="post_only,fok,ioc"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instType String 产品类型
    SPOT:币币
    instId String 产品ID,如 BTC-JPY
    ordType String 订单类型
    market:市价单
    limit:限价单
    post_only:只做maker单
    fok:全部成交或立即取消
    ioc:立即成交并取消剩余)
    state String 订单状态
    canceled:撤单成功
    filled:完全成交
    after String 请求此ID之前(更旧的数据)的分页内容,传的值为对应接口的ordId
    before String 请求此ID之后(更新的数据)的分页内容,传的值为对应接口的ordId
    begin String 筛选的开始时间戳 cTime,Unix 时间戳为毫秒数格式,如 1597026383085
    end String 筛选的结束时间戳 cTime,Unix 时间戳为毫秒数格式,如 1597027383085
    limit String 返回结果的数量,最大为100,默认100条

    返回结果

    {
        "code": "0",
        "data": [
            {
                "accFillSz": "0.00192834",
                "algoClOrdId": "",
                "algoId": "",
                "attachAlgoClOrdId": "",
                "attachAlgoOrds": [],
                "avgPx": "51858",
                "cTime": "1708587373361",
                "cancelSource": "",
                "cancelSourceReason": "",
                "category": "normal",
                "ccy": "",
                "clOrdId": "",
                "fee": "-0.00000192834",
                "feeCcy": "BTC",
                "fillPx": "51858",
                "fillSz": "0.00192834",
                "fillTime": "1708587373361",
                "instId": "BTC-JPY",
                "instType": "SPOT",
                "isTpLimit": "false",
                "ordId": "680800019749904384",
                "ordType": "market",
                "pnl": "0",
                "px": "",
                "rebate": "0",
                "rebateCcy": "JPY",
                "side": "buy",
                "slOrdPx": "",
                "slTriggerPx": "",
                "slTriggerPxType": "",
                "source": "",
                "state": "filled",
                "sz": "100",
                "tag": "",
                "tdMode": "cash",
                "tgtCcy": "quote_ccy",
                "tpOrdPx": "",
                "tpTriggerPx": "",
                "tpTriggerPxType": "",
                "tradeId": "744876980",
                "uTime": "1708587373362",
                "linkedAlgoOrd": {
                    "algoId": ""
                }
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    instType String 产品类型
    instId String 产品ID
    tgtCcy String 币币市价单委托数量sz的单位
    base_ccy: 交易货币 ;quote_ccy:计价货币
    仅适用于币币市价订单
    默认买单为quote_ccy,卖单为base_ccy
    ccy String 保证金币种
    ordId String 订单ID
    clOrdId String 客户自定义订单ID
    tag String 订单标签
    px String 委托价格
    pxJpy String 期权价格
    pxVol String 期权订单的隐含波动率
    pxType String 期权的价格类型
    sz String 委托数量
    ordType String 订单类型
    market:市价单
    limit:限价单
    post_only:只做maker单
    fok:全部成交或立即取消
    ioc:立即成交并取消剩余
    side String 订单方向
    posSide String 持仓方向
    tdMode String 交易模式
    accFillSz String 累计成交数量
    fillPx String 最新成交价格,如果成交数量为0,该字段为""
    tradeId String 最新成交ID
    fillSz String 最新成交数量
    fillTime String 最新成交时间
    avgPx String 成交均价,如果成交数量为0,该字段也为""
    state String 订单状态
    canceled:撤单成功
    filled:完全成交
    lever String 杠杆倍数,0.01到125之间的数值
    attachAlgoClOrdId String 下单附带止盈止损时,客户自定义的策略订单ID
    tpTriggerPx String 止盈触发价
    tpTriggerPxType String 止盈触发价类型
    last:最新价格
    tpOrdPx String 止盈委托价
    slTriggerPx String 止损触发价
    slTriggerPxType String 止损触发价类型
    last:最新价格
    slOrdPx String 止损委托价
    stpId String 自成交保护ID
    如果自成交保护不适用则返回""
    attachAlgoOrds Array of object 下单附带止盈止损信息
    > attachAlgoId String 附带止盈止损的订单ID,改单时,可用来标识该笔附带止盈止损订单。下止盈止损委托单时,该值不会传给 algoId
    > attachAlgoClOrdId String 下单附带止盈止损时,客户自定义的策略订单ID
    > tpOrdKind String 止盈订单类型
    condition: 条件单
    limit: 限价单
    > tpTriggerPx String 止盈触发价
    > tpTriggerPxType String 止盈触发价类型
    last:最新价格
    > tpOrdPx String 止盈委托价
    > slTriggerPx String 止损触发价
    > slTriggerPxType String 止损触发价类型
    last:最新价格
    > slOrdPx String 止损委托价
    > sz String 张数。仅适用于“多笔止盈”的止盈订单
    > amendPxOnTriggerType String 是否启用开仓价止损,仅适用于分批止盈的止损订单
    0:不开启,默认值
    1:开启
    > failCode String 委托失败的错误码,默认为"",
    委托失败时有值,如 51020
    > failReason String 委托失败的原因,默认为""
    委托失败时有值
    linkedAlgoOrd Object 止损订单信息,仅适用于包含限价止盈单的双向止盈止损订单,触发后生成的普通订单
    > algoId Object 策略订单唯一标识
    stpMode String 自成交保护模式
    feeCcy String 交易手续费币种
    fee String 手续费与返佣
    对于币币,为订单交易累计的手续费,平台向用户收取的交易手续费,为负数。如: -0.01
    rebateCcy String 返佣金币种
    rebate String 返佣金额,仅适用于币币,平台向达到指定lv交易等级的用户支付的挂单奖励(返佣),如果没有返佣金,该字段为“”。手续费返佣为正数,如:0.01
    pnl String 收益,适用于有成交的平仓订单,其他情况均为0
    source String 订单来源
    6:计划委托策略触发后的生成的普通单
    7:止盈止损策略触发后的生成的普通单
    13:策略委托单触发后的生成的普通单
    25:移动止盈止损策略触发后的生成的普通单
    category String 订单种类
    normal:普通委托
    reduceOnly String 是否只减仓,truefalse
    cancelSource String 订单取消来源的原因枚举值代码
    cancelSourceReason String 订单取消来源的对应具体原因
    algoClOrdId String 客户自定义策略订单ID。策略订单触发,且策略单有algoClOrdId是有值,否则为"",
    algoId String 策略委托单ID,策略订单触发时有值,否则为""
    isTpLimit String 是否为限价止盈,true 或 false.
    uTime String 订单状态更新时间,Unix时间戳的毫秒数格式,如 1597026383085
    cTime String 订单创建时间,Unix时间戳的毫秒数格式,如 1597026383085

    GET / 获取成交明细(近三天)

    获取近3天的订单成交明细信息

    限速:60次/2s

    限速规则:UserID

    HTTP 请求

    GET /api/v5/trade/fills

    请求示例

    GET /api/v5/trade/fills
    
    
    import okx.Trade as Trade
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    
    tradeAPI = Trade.TradeAPI(apikey, secretkey, passphrase, False)
    
    # 获取成交明细
    result = tradeAPI.get_fills()
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instType String 产品类型
    SPOT:币币<
    instId String 产品 ID,如BTC-JPY
    ordId String 订单 ID
    subType String 成交类型
    1:买入
    2:卖出
    after String 请求此 ID 之前(更旧的数据)的分页内容,传的值为对应接口的billId
    before String 请求此 ID 之后(更新的数据)的分页内容,传的值为对应接口的billId
    begin String 筛选的开始时间戳 ts,Unix 时间戳为毫秒数格式,如 1597026383085
    end String 筛选的结束时间戳 ts,Unix 时间戳为毫秒数格式,如 1597027383085
    limit String 返回结果的数量,最大为100,默认100条

    返回结果

    {
        "code": "0",
        "data": [
            {
                "side": "buy",
                "fillSz": "0.00192834",
                "fillPx": "51858",
                "fee": "-0.00000192834",
                "ordId": "680800019749904384",
                "feeRate": "-0.001",
                "instType": "SPOT",
                "instId": "BTC-JPY",
                "clOrdId": "",
                "billId": "680800019754098688",
                "subType": "1",
                "tag": "",
                "fillTime": "1708587373361",
                "execType": "T",
                "tradeId": "744876980",
                "feeCcy": "BTC",
                "ts": "1708587373362"
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    instType String 产品类型
    instId String 产品 ID
    tradeId String 最新成交 ID
    ordId String 订单 ID
    clOrdId String 用户自定义订单ID
    billId String 账单 ID
    subType String 成交类型
    tag String 订单标签
    fillPx String 最新成交价格,同"账单流水查询"的 px
    fillSz String 最新成交数量
    fillIdxPx String 交易执行时的指数价格
    fillPnl String 最新成交收益,适用于有成交的平仓订单。其他情况均为0。
    fillPxVol String 成交时的隐含波动率
    fillPxJpy String 成交时的期权价格
    fillMarkVol String 成交时的标记波动
    fillFwdPx String 成交时的远期价格
    fillMarkPx String 成交时的标记价格
    side String 订单方向 buy:买 sell:卖
    execType String 流动性方向 T:taker M:maker
    feeCcy String 交易手续费币种或者返佣金币种
    fee String 手续费金额或者返佣金额,手续费扣除为‘负数’,如-0.01;手续费返佣为‘正数’,如 0.01
    ts String 成交明细产生时间,Unix时间戳的毫秒数格式,如1597026383085
    fillTime String 成交时间,与订单频道的fillTime相同
    feeRate String 手续费费率。

    GET / 获取成交明细(近三个月)

    获取近3个月订单成交明细信息

    限速:10 次/2s

    限速规则:UserID

    HTTP 请求

    GET /api/v5/trade/fills-history

    请求示例

    GET /api/v5/trade/fills-history?instType=SPOT
    
    
    import okx.Trade as Trade
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    
    tradeAPI = Trade.TradeAPI(apikey, secretkey, passphrase, False)
    
    # 查询 币币 成交明细(3月内)
    result = tradeAPI.get_fills_history(
        instType="SPOT"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instType String 产品类型
    SPOT:币币
    instId String 产品 ID,如BTC-JPY
    ordId String 订单 ID
    subType String 成交类型
    1:买入
    2:卖出
    after String 请求此 ID 之前(更旧的数据)的分页内容,传的值为对应接口的 billId
    before String 请求此 ID 之后(更新的数据)的分页内容,传的值为对应接口的 billId
    begin String 筛选的开始时间戳 ts,Unix 时间戳为毫秒数格式,如 1597026383085
    end String 筛选的结束时间戳 ts,Unix 时间戳为毫秒数格式,如 1597027383085
    limit String 返回结果的数量,最大为100,默认100条

    返回结果

    {
        "code": "0",
        "data": [
            {
                "side": "buy",
                "fillSz": "0.00192834",
                "fillPx": "51858",
                "fee": "-0.00000192834",
                "ordId": "680800019749904384",
                "feeRate": "-0.001",
                "instType": "SPOT",
                "instId": "BTC-JPY",
                "clOrdId": "",
                "billId": "680800019754098688",
                "subType": "1",
                "tag": "",
                "fillTime": "1708587373361",
                "execType": "T",
                "tradeId": "744876980",
                "feeCcy": "BTC",
                "ts": "1708587373362"
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    instType String 产品类型
    instId String 产品 ID
    tradeId String 最新成交 ID
    ordId String 订单 ID
    clOrdId String 用户自定义订单ID
    billId String 账单 ID
    subType String 成交类型
    tag String 订单标签
    fillPx String 最新成交价格,同"账单流水查询"的 px
    fillSz String 最新成交数量
    fillIdxPx String 交易执行时的指数价格
    fillPnl String 最新成交收益,适用于有成交的平仓订单。其他情况均为0。
    fillPxVol String 成交时的隐含波动率
    fillPxJpy String 成交时的期权价格
    fillMarkVol String 成交时的标记波动
    fillFwdPx String 成交时的远期价格
    fillMarkPx String 成交时的标记价格
    side String 订单方向
    buy:买
    sell:卖
    execType String 流动性方向
    T:taker
    M:maker
    feeCcy String 交易手续费币种或者返佣金币种
    fee String 手续费金额或者返佣金额
    手续费扣除为‘负数’,如 -0.01
    手续费返佣为‘正数’,如 0.01
    ts String 成交明细产生时间,Unix时间戳的毫秒数格式,如 1597026383085
    fillTime String 成交时间,与订单频道的fillTime相同
    feeRate String 手续费费率。

    POST / 倒计时全部撤单

    在倒计时结束后,取消所有挂单。适用于所有撮合交易产品(不包括价差交易)。

    限速:1次/s

    限速规则:UserID + tag

    HTTP请求

    POST /api/v5/trade/cancel-all-after

    请求示例

    POST /api/v5/trade/cancel-all-after
    {
       "timeOut":"60"
    }
    
    import okx.Trade as Trade
    
    # API initialization
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    
    tradeAPI = Trade.TradeAPI(apikey, secretkey, passphrase, False)
    
    # 设置倒计时全部撤单
    result = tradeAPI.cancel_all_after(
        timeOut="10"
    )
    
    print(result)
    
    

    请求参数

    参数名 类型 是否必须 描述
    timeOut String 取消挂单的倒计时,单位为秒
    取值范围为 0, [10, 120]
    0 代表不使用该功能
    tag String CAA订单标签
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字,且长度在1-16位之间

    返回结果

    {
        "code":"0",
        "msg":"",
        "data":[
            {
                "triggerTime":"1587971460",
                "tag":"",
                "ts":"1587971400"
            }
        ]
    }
    

    返回参数

    参数名 类型 描述
    triggerTime String 触发撤单的时间
    triggerTime=0 代表未使用该功能
    tag String CAA订单标签
    ts String 请求被接收到的时间

    WS / 订单频道

    获取订单信息,首次订阅不推送,只有当下单、撤单等事件触发时,推送数据
    该频道的并发连接受到如下规则限制:WebSocket 连接限制

    服务地址

    /ws/v5/private (需要登录)

    请求示例:单个

    {
        "op": "subscribe",
        "args": [{
            "channel": "orders",
            "instType": "SPOT",
            "instId": "BTC-JPY"
        }]
    }
    

    请求示例

    {
        "op": "subscribe",
        "args": [{
            "channel": "orders",
            "instType": "SPOT"
        }]
    }
    

    请求参数

    参数 类型 是否必须 描述
    op String 操作
    subscribe
    unsubscribe
    args Array 请求订阅的频道列表
    > channel String 频道名
    orders
    > instType String 产品类型
    SPOT:币币
    ANY:全部
    > instId String 产品ID

    成功返回示例:单个

    {
        "event": "subscribe",
        "arg": {
            "channel": "orders",
            "instType": "SPOT",
            "instId": "BTC-JPY"
        },
        "connId": "a4d3ae55"
    }
    

    成功返回示例

    {
        "event": "subscribe",
        "arg": {
            "channel": "orders",
            "instType": "SPOT"
        },
        "connId": "a4d3ae55"
    }
    

    失败返回示例

    {
        "event": "error",
        "code": "60012",
        "msg": "Invalid request: {\"op\": \"subscribe\", \"argss\":[{ \"channel\" : \"orders\", \"instType\" : \"SPOT\"}]}",
        "connId": "a4d3ae55"
    }
    

    返回参数

    参数 类型 是否必须 描述
    event String 事件
    subscribe
    unsubscribe
    error
    arg Object 订阅的频道
    > channel String 频道名
    > instType String 产品类型
    SPOT:币币
    ANY:全部
    > instId String 产品ID
    code String 错误码
    msg String 错误消息
    connId String WebSocket连接ID

    推送示例:单个

    {
        "arg": {
            "channel": "orders",
            "instType": "SPOT",
            "instId": "BTC-JPY",
            "uid": "614488474791936"
        },
        "data": [
            {
                "accFillSz": "0.001",
                "amendResult": "",
                "avgPx": "31527.1",
                "cTime": "1654084334977",
                "category": "normal",
                "ccy": "",
                "clOrdId": "",
                "code": "0",
                "execType": "M",
                "fee": "-0.02522168",
                "feeCcy": "JPY",
                "fillFee": "-0.02522168",
                "fillFeeCcy": "JPY",
                "fillNotionalJpy": "31.50818374",
                "fillPx": "31527.1",
                "fillSz": "0.001",
                "fillTime": "1654084353263",
                "instId": "BTC-JPY",
                "instType": "SPOT",
                "msg": "",
                "ordId": "452197707845865472",
                "ordType": "limit",
                "px": "31527.1",
                "rebate": "0",
                "rebateCcy": "BTC",
                "reqId": "",
                "side": "sell",
                "attachAlgoClOrdId": "",
                "slOrdPx": "",
                "slTriggerPx": "",
                "slTriggerPxType": "last",
                "source": "",
                "state": "filled",
                "sz": "0.001",
                "tag": "",
                "tdMode": "cash",
                "tgtCcy": "",
                "tpOrdPx": "",
                "tpTriggerPx": "",
                "tpTriggerPxType": "last",
                "tradeId": "242589207",
                "lastPx": "38892.2",
                "algoClOrdId": "",
                "attachAlgoOrds": [],
                "algoId": "",
                "amendSource": "",
                "cancelSource": "",
                "isTpLimit": "false",
                "uTime": "1654084353264",
                "linkedAlgoOrd": {
                    "algoId": ""
                }
            }
        ]
    }
    

    推送数据参数

    参数名 类型 描述
    arg Object 订阅成功的频道
    > channel String 频道名
    > uid String 用户标识
    > instType String 产品类型
    > instId String 产品ID
    data Array 订阅的数据
    > instType String 产品类型
    > instId String 产品ID
    > ordId String 订单ID
    > clOrdId String 由用户设置的订单ID来识别您的订单
    > tag String 订单标签
    > px String 委托价格
    > sz String 原始委托数量,币币,以币为单位;
    > ordType String 订单类型
    market:市价单
    limit:限价单
    post_only:只做maker单
    fok:全部成交或立即取消单
    ioc:立即成交并取消剩余单
    > side String 订单方向,buy sell
    > tdMode String 交易模式
    非保证金模式 cash:现金
    > tgtCcy String 市价单委托数量sz的单位
    base_ccy: 交易货币 quote_ccy:计价货币
    > fillPx String 最新成交价格
    > tradeId String 最新成交ID
    > fillSz String 最新成交数量
    对于币币,单位为交易货币,如 BTC-JPY, 单位为 BTC;对于市价单,无论tgtCcybase_ccy,还是quote_ccy,单位均为交易货币;
    > fillTime String 最新成交时间
    > fillFee String 最新一笔成交的手续费金额或者返佣金额:
    手续费扣除 为 ‘负数’,如 -0.01 ;
    手续费返佣 为 ‘正数’,如 0.01
    > fillFeeCcy String 最新一笔成交的手续费币种或者返佣币种。
    如果fillFee小于0,为手续费币种;如果fillFee大于等于0,为返佣币种
    > execType String 最新一笔成交的流动性方向 T:taker M:maker
    > accFillSz String 累计成交数量
    对于币币,单位为交易货币,如 BTC-JPY, 单位为 BTC;对于市价单,无论tgtCcybase_ccy,还是quote_ccy,单位均为交易货币;
    > fillNotionalJpy String 委托单已成交的日元价值
    > avgPx String 成交均价,如果成交数量为0,该字段也为0
    > state String 订单状态
    canceled:撤单成功
    live:等待成交
    partially_filled:部分成交
    filled:完全成交
    > attachAlgoClOrdId String 下单附带止盈止损时,客户自定义的策略订单ID
    > tpTriggerPx String 止盈触发价
    > tpTriggerPxType String 止盈触发价类型
    last:最新价格
    > tpOrdPx String 止盈委托价,止盈委托价格为-1时,执行市价止盈
    > slTriggerPx String 止损触发价
    > slTriggerPxType String 止损触发价类型
    last:最新价格
    > slOrdPx String 止损委托价,止损委托价格为-1时,执行市价止损
    > attachAlgoOrds Array of object 下单附带止盈止损信息
    >> attachAlgoId String 附带止盈止损的订单ID,改单时,可用来标识该笔附带止盈止损订单。下止盈止损委托单时,该值不会传给 algoId
    >> attachAlgoClOrdId String 下单附带止盈止损时,客户自定义的策略订单ID
    >> tpOrdKind String 止盈订单类型
    condition: 条件单
    limit: 限价单
    >> tpTriggerPx String 止盈触发价
    >> tpTriggerPxType String 止盈触发价类型
    last:最新价格
    >> tpOrdPx String 止盈委托价
    >> slTriggerPx String 止损触发价
    >> slTriggerPxType String 止损触发价类型
    last:最新价格
    >> slOrdPx String 止损委托价
    >> sz String 张数。仅适用于“多笔止盈”的止盈订单
    >> amendPxOnTriggerType String 是否启用开仓价止损,仅适用于分批止盈的止损订单
    0:不开启,默认值
    1:开启
    > linkedAlgoOrd Object 止损订单信息,仅适用于包含限价止盈单的双向止盈止损订单,触发后生成的普通订单
    >> algoId Object 策略订单唯一标识
    > feeCcy String 交易手续费币种
    币币:如果是买的话,收取的就是交易币;如果是卖的话,收取的就是计价币。
    > fee String 订单交易累计的手续费与返佣
    平台向用户收取的交易手续费,为负数。如: -0.01
    > rebateCcy String 返佣金币种 ,如果没有返佣金,该字段为“”
    > rebate String 返佣累计金额,仅适用于币币,平台向达到指定lv交易等级的用户支付的挂单奖励(返佣),如果没有返佣金,该字段为“”
    > source String 订单来源
    7:止盈止损策略触发后的生成的普通单
    13:策略委托单触发后的生成的普通单
    > cancelSource String 订单取消的来源
    有效值及对应的含义是:
    0: 已撤单:系统撤单
    1: 用户主动撤单
    2: 已撤单:预减仓撤单,用户保证金不足导致挂单被撤回
    13: 已撤单:FOK 委托订单未完全成交,导致挂单被完全撤回
    14: 已撤单:IOC 委托订单未完全成交,仅部分成交,导致部分挂单被撤回
    15: 已撤单:该订单委托价不在限价范围内
    20: 系统倒计时撤单
    31: 当前只挂单订单 (Post only) 将会吃掉挂单深度
    32: 自成交保护
    33: 当前 taker 订单匹配的订单数量超过最大限制
    > amendSource String 订单修改的来源
    1: 用户主动改单,改单成功
    2: 用户主动改单,并且当前这笔订单被只减仓修改,改单成功
    3: 用户主动下单,并且当前这笔订单被只减仓修改,改单成功
    4: 用户当前已存在的挂单(非当前操作的订单),被只减仓修改,改单成功
    > category String 订单种类分类
    normal:普通委托订单种类
    > isTpLimit String 是否为限价止盈,true 或 false.
    > uTime String 订单更新时间,Unix时间戳的毫秒数格式,如 1597026383085
    > cTime String 订单创建时间,Unix时间戳的毫秒数格式,如 1597026383085
    > reqId String 修改订单时使用的request ID,如果没有修改,该字段为""
    > amendResult String 修改订单的结果
    -1:失败
    0:成功
    1:自动撤单(修改请求返回成功但最终改单失败导致自动撤销)
    通过API修改订单时,如果cxlOnFail设置为true且修改返回结果为失败时,则返回 ""
    通过API修改订单时,如果修改返回结果为成功但修改最终失败后,当cxlOnFail设置为false时返回 -1;当cxlOnFail设置为true时则返回1
    通过Web/APP修改订单时,如果修改失败后,则返回-1
    > algoClOrdId String 客户自定义策略订单ID。策略订单触发,且策略单有algoClOrdId时有值,否则为"",
    > algoId String 策略委托单ID,策略订单触发时有值,否则为""
    > lastPx String 最新成交价
    > code String 错误码,默认为0
    > msg String 错误消息,默认为""
    > pxJpy String 期权价格,以JPY为单位

    WS / 下单

    只有当您的账户有足够的资金才能下单。一旦下单,您的账户资金将在订单生命周期内被冻结。被冻结的资金以及数量取决于订单指定的类型和参数

    服务地址

    /ws/v5/private (需要登录)

    限速:60次/2s

    限速规则:UserID + Instrument ID

    请求示例

    {
        "id": "1512",
        "op": "order",
        "args": [{
            "side": "buy",
            "instId": "BTC-JPY",
            "tdMode": "cash",
            "ordType": "market",
            "sz": "100"
        }]
    }
    

    请求参数

    参数名 类型 是否必须 描述
    id String 消息的唯一标识
    用户提供,返回参数中会返回以便于找到相应的请求。
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度必须要在1-32位之间。
    op String 支持的业务操作,如 order
    args Array 请求参数
    > instId String 产品ID,如 BTC-JPY
    > tdMode String 交易模式
    非保证金模式 cash:现金
    > clOrdId String 由用户设置的订单ID
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。
    > tag String 订单标签
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-16位之间。
    > side String 订单方向,buy sell
    > ordType String 订单类型
    market:市价单
    limit:限价单
    post_only:只做maker单
    fok:全部成交或立即取消
    ioc:立即成交并取消剩余
    > sz String 委托数量
    > px String 可选 委托价格,仅适用于limitpost_onlyfokioc类型的订单
    > tgtCcy String 币币市价单委托数量sz的单位
    base_ccy: 交易货币 ;quote_ccy:计价货币
    仅适用于币币市价订单
    默认买单为quote_ccy,卖单为base_ccy
    > banAmend Boolean 是否禁止币币市价改单,true 或 false,默认false
    为true时,余额不足时,系统不会改单,下单会失败,仅适用于币币市价单
    expTime String 请求有效截止时间。Unix时间戳的毫秒数格式,如 1597026383085

    成功返回示例

    {
        "id": "1512",
        "op": "order",
        "data": [{
            "clOrdId": "",
            "ordId": "12345689",
            "tag": "",
            "ts":"1695190491421",
            "sCode": "0",
            "sMsg": ""
        }],
        "code": "0",
        "msg": "",
        "inTime": "1695190491421339",
        "outTime": "1695190491423240"
    }
    

    失败返回示例

    {
        "id": "1512",
        "op": "order",
        "data": [{
            "clOrdId": "",
            "ordId": "",
            "tag": "",
            "ts":"1695190491421",
            "sCode": "5XXXX",
            "sMsg": "not exist"
        }],
        "code": "1",
        "msg": "",
        "inTime": "1695190491421339",
        "outTime": "1695190491423240"
    }
    

    格式错误返回示例

    {
        "id": "1512",
        "op": "order",
        "data": [],
        "code": "60013",
        "msg": "Invalid args",
        "inTime": "1695190491421339",
        "outTime": "1695190491423240"
    }
    

    返回参数

    参数名 类型 描述
    id String 消息的唯一标识
    op String 业务操作
    code String 代码
    msg String 消息
    data Array 请求成功后返回的数据
    > ordId String 订单ID
    > clOrdId String 由用户设置的订单ID
    > tag String 订单标签
    > ts String 系统完成订单请求处理的时间戳,Unix时间戳的毫秒数格式,如 1597026383085
    > sCode String 订单状态码,0 代表成功
    > sMsg String 订单状态消息
    inTime String WebSocket 网关接收请求时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123
    outTime String WebSocket 网关发送响应时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123

    WS / 批量下单

    批量进行下单操作,每次可批量交易不同类型的产品,最多可下单20个

    服务地址

    /ws/v5/private (需要登录)

    限速:300个/2s

    限速规则:UserID + Instrument ID

    请求示例

    {
        "id": "1513",
        "op": "batch-orders",
        "args": [{
            "side": "buy",
            "instId": "BTC-JPY",
            "tdMode": "cash",
            "ordType": "market",
            "sz": "100"
        }, {
            "side": "buy",
            "instId": "ETH-JPY",
            "tdMode": "cash",
            "ordType": "market",
            "sz": "1"
        }]
    } 
    

    请求参数

    参数名 类型 是否必须 描述
    id String 消息的唯一标识
    用户提供,返回参数中会返回以便于找到相应的请求。
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度必须要在1-32位之间。
    op String 支持的业务操作,如 batch-orders
    args Array 请求参数
    > instId String 产品ID,如 BTC-JPY
    > tdMode String 交易模式非保证金模式 cash:现金
    > clOrdId String 用户提供的订单ID
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。
    > tag String 订单标签
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-16位之间。
    > side String 订单方向, buy sell
    > ordType String 订单类型
    market:市价单
    limit:限价单
    post_only:只做maker单
    fok:全部成交或立即取消单
    ioc:立即成交并取消剩余单
    > sz String 委托数量
    > px String 可选 委托价格,仅适用于limitpost_onlyfokioc类型的订单
    > tgtCcy String 币币市价单委托数量sz的单位
    base_ccy: 交易货币 ;quote_ccy:计价货币
    仅适用于币币市价订单
    默认买单为quote_ccy,卖单为base_ccy
    > banAmend Boolean 是否禁止币币市价改单,true 或 false,默认false
    为true时,余额不足时,系统不会改单,下单会失败,仅适用于币币市价单
    expTime String 请求有效截止时间。Unix时间戳的毫秒数格式,如 1597026383085

    全部成功返回示例

    {
        "id": "1513",
        "op": "batch-orders",
        "data": [{
            "clOrdId": "",
            "ordId": "12345689",
            "tag": "",
            "ts":"1695190491421",
            "sCode": "0",
            "sMsg": ""
        }, {
            "clOrdId": "",
            "ordId": "12344",
            "tag": "",
            "ts":"1695190491421",
            "sCode": "0",
            "sMsg": ""
        }],
        "code": "0",
        "msg": "",
        "inTime": "1695190491421339",
        "outTime": "1695190491423240"
    }
    

    部分成功返回示例

    {
        "id": "1513",
        "op": "batch-orders",
        "data": [{
            "clOrdId": "",
            "ordId": "12345689",
            "tag": "",
            "ts":"1695190491421",
            "sCode": "0",
            "sMsg": ""
        }, {
            "clOrdId": "",
            "ordId": "",
            "tag": "",
            "ts":"1695190491421",
            "sCode": "5XXXX",
            "sMsg": "Insufficient margin"
        }],
        "code": "2",
        "msg": "",
        "inTime": "1695190491421339",
        "outTime": "1695190491423240"
    }
    

    全部失败返回示例

    {
        "id": "1513",
        "op": "batch-orders",
        "data": [{
            "clOrdId": "oktswap6",
            "ordId": "",
            "tag": "",
            "ts":"1695190491421",
            "sCode": "5XXXX",
            "sMsg": "Insufficient margin"
        }, {
            "clOrdId": "oktswap7",
            "ordId": "",
            "tag": "",
            "ts":"1695190491421",
            "sCode": "5XXXX",
            "sMsg": "Insufficient margin"
        }],
        "code": "1",
        "msg": "",
        "inTime": "1695190491421339",
        "outTime": "1695190491423240"
    }
    

    格式错误返回示例

    {
        "id": "1513",
        "op": "batch-orders",
        "data": [],
        "code": "60013",
        "msg": "Invalid args",
        "inTime": "1695190491421339",
        "outTime": "1695190491423240"
    }
    

    返回参数

    参数 类型 描述
    id String 消息的唯一标识
    op String 业务操作
    code String 代码
    msg String 消息
    data Array 请求成功后返回的数据
    > ordId String 订单ID
    > clOrdId String 由用户设置的订单ID
    > tag String 订单标签
    > ts String 系统完成订单请求处理的时间戳,Unix时间戳的毫秒数格式,如 1597026383085
    > sCode String 订单状态码,0 代表成功
    > sMsg String 事件执行失败或成功时的msg
    inTime String WebSocket 网关接收请求时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123
    outTime String WebSocket 网关发送响应时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123

    WS / 撤单

    撤销当前未完成订单

    服务地址

    /ws/v5/private (需要登录)

    限速:60次/2s

    限速规则:UserID + Instrument ID

    请求示例

    {
        "id": "1514",
        "op": "cancel-order",
        "args": [{
            "instId": "BTC-JPY",
            "ordId": "2510789768709120"
        }]
    }
    

    请求参数

    参数名 类型 是否必须 描述
    id String 消息的唯一标识
    用户提供,返回参数中会返回以便于找到相应的请求。
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度必须要在1-32位之间。
    op String 支持的业务操作,如 cancel-order
    args Array 请求参数
    > instId String 产品ID
    > ordId String 可选 订单ID
    ordId和clOrdId必须传一个,若传两个,以 ordId 为主
    > clOrdId String 可选 用户提供的订单ID
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字,且长度要在1-32位之间。

    成功返回示例

    {
        "id": "1514",
        "op": "cancel-order",
        "data": [{
            "clOrdId": "",
            "ordId": "2510789768709120",
            "ts": "1695190491421",
            "sCode": "0",
            "sMsg": ""
        }],
        "code": "0",
        "msg": "",
        "inTime": "1695190491421339",
        "outTime": "1695190491423240"
    }
    

    失败返回示例

    {
        "id": "1514",
        "op": "cancel-order",
        "data": [{
            "clOrdId": "",
            "ordId": "2510789768709120",
            "ts": "1695190491421",
            "sCode": "5XXXX",
            "sMsg": "Order not exist"
        }],
        "code": "1",
        "msg": "",
        "inTime": "1695190491421339",
        "outTime": "1695190491423240"
    }
    

    格式错误返回示例

    {
        "id": "1514",
        "op": "cancel-order",
        "data": [],
        "code": "60013",
        "msg": "Invalid args",
        "inTime": "1695190491421339",
        "outTime": "1695190491423240"
    }
    

    返回参数

    参数 类型 描述
    id String 消息的唯一标识
    op String 业务操作
    code String 代码
    msg String 消息
    data Array 请求成功后返回的数据
    > ordId String 订单ID
    > clOrdId String 由用户设置的订单ID
    > ts String 系统完成订单请求处理的时间戳,Unix时间戳的毫秒数格式,如 1597026383085
    > sCode String 订单状态码,0 代表成功
    > sMsg String 订单状态消息
    inTime String WebSocket 网关接收请求时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123
    outTime String WebSocket 网关发送响应时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123

    WS / 批量撤单

    批量进行撤单操作,每次可批量撤销不同类型的产品,最多撤销20个

    服务地址

    /ws/v5/private (需要登录)

    限速:300个/2s

    限速规则:UserID + Instrument ID

    请求示例

    {
        "id": "1515",
        "op": "batch-cancel-orders",
        "args": [{
            "instId": "BTC-JPY",
            "ordId": "2517748157541376"
        }, {
            "instId": "LTC-JPY",
            "ordId": "2517748155771904"
        }]
    }
    

    请求参数

    参数 类型 是否必须 描述
    id String 消息的唯一标识
    用户提供,返回参数中会返回以便于找到相应的请求。
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度必须要在1-32位之间。
    op String 支持的业务操作,如 batch-cancel-orders
    args Array 请求参数
    > instId String 产品ID
    > ordId String 可选 订单ID
    ordId和clOrdId必须传一个,若传两个,以ordId 为主
    > clOrdId String 可选 用户提供的订单ID
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字,且长度要在1-32位之间。

    全部成功返回示例

    {
        "id": "1515",
        "op": "batch-cancel-orders",
        "data": [{
            "clOrdId": "oktswap6",
            "ordId": "2517748157541376",
            "ts": "1695190491421",
            "sCode": "0",
            "sMsg": ""
        }, {
            "clOrdId": "oktswap7",
            "ordId": "2517748155771904",
            "ts": "1695190491421",
            "sCode": "0",
            "sMsg": ""
        }],
        "code": "0",
        "msg": "",
        "inTime": "1695190491421339",
        "outTime": "1695190491423240"
    }
    

    部分成功的返回示例

    {
        "id": "1515",
        "op": "batch-cancel-orders",
        "data": [{
            "clOrdId": "oktswap6",
            "ordId": "2517748157541376",
            "ts": "1695190491421",
            "sCode": "0",
            "sMsg": ""
        }, {
            "clOrdId": "oktswap7",
            "ordId": "2517748155771904",
            "ts": "1695190491421",
            "sCode": "5XXXX",
            "sMsg": "order not exist"
        }],
        "code": "2",
        "msg": "",
        "inTime": "1695190491421339",
        "outTime": "1695190491423240"
    }
    

    全部失败的返回示例

    {
        "id": "1515",
        "op": "batch-cancel-orders",
        "data": [{
            "clOrdId": "oktswap6",
            "ordId": "2517748157541376",
            "ts": "1695190491421",
            "sCode": "5XXXX",
            "sMsg": "order not exist"
        }, {
            "clOrdId": "oktswap7",
            "ordId": "2517748155771904",
            "ts": "1695190491421",
            "sCode": "5XXXX",
            "sMsg": "order not exist"
        }],
        "code": "1",
        "msg": "",
        "inTime": "1695190491421339",
        "outTime": "1695190491423240"
    }
    

    格式错误示例

    {
        "id": "1515",
        "op": "batch-cancel-orders",
        "data": [],
        "code": "60013",
        "msg": "Invalid args",
        "inTime": "1695190491421339",
        "outTime": "1695190491423240"
    }
    

    返回参数

    参数 类型 描述
    id String 消息的唯一标识
    op String 业务操作
    code String 代码
    msg String 消息
    data Array 请求成功后返回的数据
    > ordId String 订单ID
    > clOrdId String 由用户设置的订单ID
    > ts String 系统完成订单请求处理的时间戳,Unix时间戳的毫秒数格式,如 1597026383085
    > sCode String 订单状态码,0 代表成功
    > sMsg String 订单状态消息
    inTime String WebSocket 网关接收请求时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123
    outTime String WebSocket 网关发送响应时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123

    WS / 改单

    修改当前未成交的订单

    服务地址

    /ws/v5/private (需要登录)

    限速:60次/2s

    限速规则:UserID + Instrument ID

    请求示例

    {
        "id": "1512",
        "op": "amend-order",
        "args": [{
            "instId": "BTC-JPY",
            "ordId": "2510789768709120",
            "newSz": "2"
        }]
    }
    

    请求参数

    参数名 类型 是否必须 描述
    id String 消息的唯一标识
    用户提供,返回参数中会返回以便于找到相应的请求。
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度必须要在1-32位之间。
    op String 支持的业务操作,如 amend-order
    args Array 请求参数
    > instId String 产品ID
    > cxlOnFail Boolean 当订单修改失败时,该订单是否需要自动撤销。默认为false
    false:不自动撤单
    true:自动撤单
    > ordId String 可选 订单ID
    ordId和clOrdId必须传一个,若传两个,以 ordId 为主
    > clOrdId String 可选 用户提供的订单ID
    > reqId String 用户提供的reqId
    如果提供,那在返回参数中返回reqId,方便找到相应的修改请求。
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。
    > newSz String 可选 请求修改的新数量,必须大于0。newSznewPx不可同时为空。对于部分成交订单,该数量应包含已成交数量。
    > newPx String 可选 修改后的新价格
    expTime String 请求有效截止时间。Unix时间戳的毫秒数格式,如 1597026383085

    成功返回示例

    {
        "id": "1512",
        "op": "amend-order",
        "data": [{
            "clOrdId": "",
            "ordId": "2510789768709120",
            "ts": "1695190491421",
            "reqId": "b12344",
            "sCode": "0",
            "sMsg": ""
        }],
        "code": "0",
        "msg": "",
        "inTime": "1695190491421339",
        "outTime": "1695190491423240"
    } 
    

    失败返回示例

    {
        "id": "1512",
        "op": "amend-order",
        "data": [{
            "clOrdId": "",
            "ordId": "2510789768709120",
            "ts": "1695190491421",
            "reqId": "b12344",
            "sCode": "5XXXX",
            "sMsg": "order not exist"
        }],
        "code": "1",
        "msg": "",
        "inTime": "1695190491421339",
        "outTime": "1695190491423240"
    }
    

    格式错误返回示例

    {
        "id": "1512",
        "op": "amend-order",
        "data": [],
        "code": "60013",
        "msg": "Invalid args",
        "inTime": "1695190491421339",
        "outTime": "1695190491423240"
    
    }
    

    返回参数

    参数 类型 描述
    id String 消息的唯一标识
    op String 业务操作
    code String 代码
    msg String 消息
    data Array 请求成功后返回的数据
    > ordId String 订单ID
    > clOrdId String 用户提供的订单ID
    > ts String 系统完成订单请求处理的时间戳,Unix时间戳的毫秒数格式,如 1597026383085
    > reqId String 用户提供的reqId
    如果用户在请求中提供reqId,则返回相应reqId
    > sCode String 订单状态码,0 代表成功
    > sMsg String 订单状态消息
    inTime String WebSocket 网关接收请求时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123
    outTime String WebSocket 网关发送响应时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123

    WS / 批量改单

    批量进行改单操作,每次可批量修改不同类型的产品,最多改20个

    服务地址

    /ws/v5/private (需要登录)

    限速:300个/2s

    限速规则:UserID + Instrument ID

    请求示例

    {
        "id": "1513",
        "op": "batch-amend-orders",
        "args": [{
            "instId": "BTC-JPY",
            "ordId": "12345689",
            "newSz": "2"
        }, {
            "instId": "BTC-JPY",
            "ordId": "12344",
            "newSz": "2"
        }]
    }
    

    请求参数

    参数名 类型 是否必须 描述
    id String 消息的唯一标识
    用户提供,返回参数中会返回以便于找到相应的请求。
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度必须要在1-32位之间。
    op String 支持的业务操作,如 batch-amend-orders
    args Array 请求参数
    > instId String 产品ID
    > cxlOnFail Boolean 当订单修改失败时,该订单是否需要自动撤销。默认为false
    false:不自动撤单
    true:自动撤单
    > ordId String 可选 订单ID
    ordId 和 clOrdId 必须传一个,若传两个,以order id 为主
    > clOrdId String 可选 用户提供的订单ID
    > reqId String 用户提供的请求ID
    如果提供,那在返回参数中返回reqId,方便找到相应的修改请求。
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。
    > newSz String 可选 修改后的新数量,必须大于0。newSznewPx不可同时为空。对于部分成交订单,该数量应包含已成交数量。
    > newPx String 可选 修改后的新价格
    expTime String 请求有效截止时间。Unix时间戳的毫秒数格式,如 1597026383085

    全部成功返回示例

    {
        "id": "1513",
        "op": "batch-amend-orders",
        "data": [{
            "clOrdId": "oktswap6",
            "ordId": "12345689",
            "ts": "1695190491421",
            "reqId": "b12344",
            "sCode": "0",
            "sMsg": ""
        }, {
            "clOrdId": "oktswap7",
            "ordId": "12344",
            "ts": "1695190491421",
            "reqId": "b12344",
            "sCode": "0",
            "sMsg": ""
        }],
        "code": "0",
        "msg": "",
        "inTime": "1695190491421339",
        "outTime": "1695190491423240"
    }
    

    全部失败返回示例

    {
        "id": "1513",
        "op": "batch-amend-orders",
        "data": [{
            "clOrdId": "",
            "ordId": "12345689",
            "ts": "1695190491421",
            "reqId": "b12344",
            "sCode": "5XXXX",
            "sMsg": "order not exist"
        }, {
            "clOrdId": "oktswap7",
            "ordId": "",
            "ts": "1695190491421",
            "reqId": "b12344",
            "sCode": "5XXXX",
            "sMsg": "order not exist"
        }],
        "code": "1",
        "msg": "",
        "inTime": "1695190491421339",
        "outTime": "1695190491423240"
    }
    

    部分成功返回示例

    {
        "id": "1513",
        "op": "batch-amend-orders",
        "data": [{
            "clOrdId": "",
            "ordId": "12345689",
            "ts": "1695190491421",
            "reqId": "b12344",
            "sCode": "0",
            "sMsg": ""
        }, {
            "clOrdId": "oktswap7",
            "ordId": "",
            "ts": "1695190491421",
            "reqId": "b12344",
            "sCode": "5XXXX",
            "sMsg": "order not exist"
        }],
        "code": "2",
        "msg": "",
        "inTime": "1695190491421339",
        "outTime": "1695190491423240"
    }
    

    格式错误返回示例

    {
        "id": "1513",
        "op": "batch-amend-orders",
        "data": [],
        "code": "60013",
        "msg": "Invalid args",
        "inTime": "1695190491421339",
        "outTime": "1695190491423240"
    }
    

    返回参数

    参数名 类型 描述
    id String 消息的唯一标识
    op String 业务操作
    code String 代码
    msg String 消息
    data Array 请求成功后返回的数据
    > ordId String 订单ID
    > clOrdId String 由用户设置的订单ID
    > ts String 系统完成订单请求处理的时间戳,Unix时间戳的毫秒数格式,如 1597026383085
    > reqId String 用户提供的请求ID
    如果用户在请求中提供reqId,则返回相应reqId
    > sCode String 订单状态码,0 代表成功
    > sMsg String 订单状态消息
    inTime String WebSocket 网关接收请求时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123
    outTime String WebSocket 网关发送响应时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123

    策略交易

    POST / 策略委托下单

    提供单向止盈止损委托、双向止盈止损委托

    限速:20次/2s

    限速规则:UserID + Instrument ID

    HTTP请求

    POST /api/v5/trade/order-algo

    请求示例

    # 止盈止损策略下单
    POST /api/v5/trade/order-algo
    body
    {
        "instId":"BTC-JPY",
        "tdMode":"cash",
        "side":"buy",
        "ordType":"conditional",
        "sz":"2",
        "tpTriggerPx":"15",
        "tpOrdPx":"18"
    }
    
    
    import okx.Trade as Trade
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    
    tradeAPI = Trade.TradeAPI(apikey, secretkey, passphrase, False)
    
    # 单向止盈止损
    result = tradeAPI.place_algo_order(
        instId="BTC-JPY",
        tdMode="cash",
        side="buy",
        ordType="conditional",
        sz="2",
        tpTriggerPx="15",
        tpOrdPx="18"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instId String 产品ID,如 BTC-JPY
    tdMode String 交易模式
    非保证金模式 cash:非保证金
    side String 订单方向
    buy:买
    sell:卖
    ordType String 订单类型
    conditional:单向止盈止损
    oco:双向止盈止损
    sz String 可选 委托数量
    tag String 订单标签
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字,且长度在1-16位之间
    tgtCcy String 委托数量的类型
    base_ccy: 交易货币 ;quote_ccy:计价货币
    仅适用于币币单向止盈止损市价买单
    默认买为计价货币,卖为交易货币
    algoClOrdId String 客户自定义策略订单ID
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。

    止盈止损

    参数名 类型 是否必须 描述
    tpTriggerPx String 止盈触发价,如果填写此参数,必须填写止盈委托价
    tpTriggerPxType String 止盈触发价类型
    last:最新价格
    tpOrdPx String 止盈委托价,如果填写此参数,必须填写止盈触发价
    slTriggerPx String 止损触发价,如果填写此参数,必须填写止损委托价
    slTriggerPxType String 止损触发价类型
    last:最新价格
    slOrdPx String 止损委托价,如果填写此参数,必须填写止损触发价

    POST / 撤销策略委托订单

    撤销策略委托订单,每次最多可以撤销20个策略委托单

    限速:20次/2s

    限速规则:UserID + Instrument ID

    HTTP请求

    POST /api/v5/trade/cancel-algos

    请求示例

    POST /api/v5/trade/cancel-algos
    body
    [
        {
            "algoId":"590919993110396111",
            "instId":"BTC-JPY"
        },
        {
            "algoId":"590920138287841222",
            "instId":"BTC-JPY"
        }
    ]
    
    
    import okx.Trade as Trade
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    
    tradeAPI = Trade.TradeAPI(apikey, secretkey, passphrase, False)
    
    # 支持止盈止损类型的策略撤单
    algo_orders = [
        {"instId": "BTC-JPY", "algoId": "590919993110396111"},
        {"instId": "BTC-JPY", "algoId": "590920138287841222"}
    ]
    
    result = tradeAPI.cancel_algo_order(algo_orders)
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    algoId String 策略委托单ID
    instId String 产品ID 如 BTC-JPY

    返回结果

    {
        "code": "0",
        "data": [
            {
                "algoClOrdId": "",
                "algoId": "1836489397437468672",
                "clOrdId": "",
                "sCode": "0",
                "sMsg": "",
                "tag": ""
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    algoId String 策略委托单ID
    sCode String 事件执行结果的code,0代表成功
    sMsg String 事件执行失败时的msg
    clOrdId String 客户自定义订单ID(已废弃)
    algoClOrdId String 客户自定义策略订单ID(已废弃)
    tag String 订单标签(已废弃)

    POST / 修改策略委托订单

    修改策略委托订单

    限速:20次/2s

    限速规则:UserID + Instrument ID

    HTTP请求

    POST /api/v5/trade/amend-algos

    请求示例

    POST /api/v5/trade/amend-algos
    body
    {
        "algoId":"2510789768709120",
        "newSz":"2",
        "instId":"BTC-JPY"
    }
    
    

    请求参数

    参数名 类型 是否必须 描述
    instId String 产品ID
    algoId String 可选 策略委托单ID
    algoIdalgoClOrdId必须传一个,若传两个,以algoId为主
    algoClOrdId String 可选 客户自定义策略订单ID
    algoIdalgoClOrdId必须传一个,若传两个,以algoId为主
    cxlOnFail Boolean 当订单修改失败时,该订单是否需要自动撤销。默认为false
    false:不自动撤单
    true:自动撤单
    reqId String 用户自定义修改事件ID,字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间
    newSz String 可选 修改的新数量,必须大于0。

    止盈止损

    参数名 类型 是否必须 描述
    newTpTriggerPx String 可选 止盈触发价
    如果止盈触发价或者委托价为0,那代表删除止盈
    newTpOrdPx String 可选 止盈委托价
    newSlTriggerPx String 可选 止损触发价
    如果止损触发价或者委托价为0,那代表删除止损
    newSlOrdPx String 可选 止损委托价
    newTpTriggerPxType String 可选 止盈触发价类型
    last:最新价格
    newSlTriggerPxType String 可选 止损触发价类型
    last:最新价格

    返回结果

    {
        "code":"0",
        "msg":"",
        "data":[
            {
                "algoClOrdId":"algo_01",
                "algoId":"2510789768709120",
                "reqId":"po103ux",
                "sCode":"0",
                "sMsg":""
            }
        ]
    }
    

    返回参数

    参数名 类型 描述
    algoId String 订单ID
    algoClOrdId String 客户自定义策略订单ID
    reqId String 用户自定义修改事件ID,字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间
    sCode String 事件执行结果的code,0代表成功
    sMsg String 事件执行失败时的msg

    GET / 获取策略委托单信息

    限速:20次/2s

    限速规则:UserID

    HTTP请求

    GET /api/v5/trade/order-algo

    请求示例

    GET /api/v5/trade/order-algo?algoId=1753184812254216192
    

    请求参数

    参数名 类型 是否必须 描述
    algoId String 可选 策略委托单ID
    algoIdalgoClOrdId必须传一个,若传两个,以algoId为主
    algoClOrdId String 可选 客户自定义策略订单ID
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。

    返回结果

    {
        "code": "0",
        "data": [
            {
                "activePx": "",
                "actualPx": "",
                "actualSide": "",
                "actualSz": "",
                "algoClOrdId": "",
                "algoId": "681187161907138560",
                "amendPxOnTriggerType": "",
                "attachAlgoOrds": [],
                "cTime": "1708679675244",
                "uTime": "1708679675245",
                "callbackRatio": "0.05",
                "callbackSpread": "",
                "ccy": "",
                "clOrdId": "",
                "closeFraction": "",
                "failCode": "",
                "instId": "BTC-JPY",
                "instType": "SPOT",
                "last": "50962.7",
                "linkedOrd": {
                    "ordId": ""
                },
                "moveTriggerPx": "53423.160",
                "ordId": "",
                "ordIdList": [],
                "ordPx": "",
                "ordType": "move_order_stop",
                "pxLimit": "",
                "pxSpread": "",
                "pxVar": "",
                "side": "buy",
                "slOrdPx": "",
                "slTriggerPx": "",
                "slTriggerPxType": "",
                "state": "live",
                "sz": "10",
                "szLimit": "",
                "tag": "",
                "tdMode": "cash",
                "tgtCcy": "",
                "timeInterval": "",
                "tpOrdPx": "",
                "tpTriggerPx": "",
                "tpTriggerPxType": "",
                "triggerPx": "",
                "triggerPxType": "",
                "triggerTime": ""
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    instType String 产品类型
    instId String 产品ID
    ccy String 保证金币种
    ordId String 最新一笔订单ID,即将废弃。
    ordIdList Array 订单ID列表,当止盈止损存在市价拆单时,会有多个。
    algoId String 策略委托单ID
    clOrdId String 客户自定义订单ID
    sz String 委托数量
    closeFraction String 策略委托触发时,平仓的百分比。1 代表100%
    ordType String 订单类型
    side String 订单方向

    | tdMode | String | 交易模式 | | tgtCcy | String | 币币市价单委托数量sz的单位
    base_ccy: 交易货币 ;quote_ccy:计价货币
    仅适用于币币市价订单
    默认买单为quote_ccy,卖单为base_ccy | | state | String | 订单状态
    live:待生效
    pause:暂停生效
    partially_effective:部分生效
    effective:已生效
    canceled:已撤销
    order_failed:委托失败
    partially_failed:部分委托失败 | |lever |String |杠杆倍数,0.01到125之间的数值 | | tpTriggerPx | String | 止盈触发价 | | tpTriggerPxType | String | 止盈触发价类型
    last:最新价格 | | tpOrdPx | String | 止盈委托价 | | slTriggerPx | String | 止损触发价 | | slTriggerPxType | String | 止损触发价类型
    last:最新价格 | | slOrdPx | String | 止损委托价 | |triggerPx |String |计划委托触发价格 | |triggerPxType |String |计划委托触发价格类型
    last:最新价格
    index:指数价格
    mark:标记价格 | |ordPx |String | 计划委托单的委托价格 | | actualSz | String | 实际委托量 | | actualPx | String | 实际委托价 | | actualSide | String | 实际触发方向
    tp:止盈
    sl:止损
    仅适用于单向止盈止损委托双向止盈止损委托 | | triggerTime | String | 策略委托触发时间,Unix时间戳的毫秒数格式,如 1597026383085 | | pxVar | String | 价格比例 | | pxSpread | String | 价距
    | | szLimit | String | 单笔数量
    | | pxLimit | String | 挂单限制价
    | | tag | String | 订单标签 | | timeInterval | String | 下单间隔 | | callbackRatio | String | 回调幅度的比例
    | | callbackSpread | String | 回调幅度的价距
    | | activePx | String | 移动止盈止损激活价格
    | | moveTriggerPx | String | 移动止盈止损触发价格
    | | reduceOnly | String | 是否只减仓
    truefalse | | quickMgnType | String | 一键借币类型,仅适用于杠杆逐仓的一键借币模式
    manual:手动,auto_borrow:自动借币,auto_repay:自动还币 | | last | String | 下单时的最新成交价 | | failCode | String | 代表策略触发失败的原因,已撤销和已生效时为"",委托失败时有值,如 51008;
    仅适用于单向止盈止损委托、双向止盈止损委托、移动止盈止损委托、计划委托。 | | algoClOrdId | String | 客户自定义策略订单ID | | amendPxOnTriggerType | String | 是否启用开仓价止损
    仅适用于分批止盈的止损订单
    0:不开启,默认值
    1:开启 | | attachAlgoOrds | Array of object | 附带止盈止损信息 | | linkedOrd | Object | 止盈订单信息,仅适用于止损单,且该止损订单来自包含限价止盈单的双向止盈止损订单 | | > ordId | String | 订单 ID | | cTime | String | 订单创建时间,Unix时间戳的毫秒数格式,如 1597026383085 | | uTime | String | 订单更新时间,Unix时间戳的毫秒数格式,如 1597026383085 | | isTradeBorrowMode | String | 是否自动借币
    true:自动借币
    false:不自动借币
    |

    GET / 获取未完成策略委托单列表

    获取当前账户下未触发的策略委托单列表

    限速:20次/2s

    限速规则:UserID

    HTTP请求

    GET /api/v5/trade/orders-algo-pending

    请求示例

    GET /api/v5/trade/orders-algo-pending?ordType=conditional
    
    
    import okx.Trade as Trade
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    
    tradeAPI = Trade.TradeAPI(apikey, secretkey, passphrase, False)
    
    # 查询所有未触发的单向止盈止损策略订单
    result = tradeAPI.order_algos_list(
        ordType="conditional"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    algoId String 策略委托单ID
    instType String 产品类型
    SPOT:币币
    instId String 产品ID,如 BTC-JPY
    ordType String 订单类型
    conditional:单向止盈止损
    oco:双向止盈止损
    支持 conditionaloco 同时查询,半角逗号分隔,对于其他类型,一次请求仅支持查询一个
    after String 请求此ID之前(更旧的数据)的分页内容,传的值为对应接口的algoId
    before String 请求此ID之后(更新的数据)的分页内容,传的值为对应接口的algoId
    limit String 返回结果的数量,最大为100,默认100条
    algoClOrdId String 客户自定义策略订单ID
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。

    返回结果

    {
        "code": "0",
        "data": [
            {
                "activePx": "",
                "actualPx": "",
                "actualSide": "buy",
                "actualSz": "0",
                "algoClOrdId": "",
                "algoId": "681096944655273984",
                "amendPxOnTriggerType": "",
                "attachAlgoOrds": [],
                "cTime": "1708658165774",
                "uTime": "1708679675245",
                "callbackRatio": "",
                "callbackSpread": "",
                "ccy": "",
                "clOrdId": "",
                "closeFraction": "",
                "failCode": "",
                "instId": "BTC-JPY",
                "instType": "SPOT",
                "last": "51014.6",
                "moveTriggerPx": "",
                "ordId": "",
                "ordIdList": [],
                "ordPx": "-1",
                "ordType": "trigger",
                "pxLimit": "",
                "pxSpread": "",
                "pxVar": "",
                "side": "buy",
                "slOrdPx": "",
                "slTriggerPx": "",
                "slTriggerPxType": "",
                "state": "live",
                "sz": "10",
                "szLimit": "",
                "tag": "",
                "tdMode": "cash",
                "tgtCcy": "",
                "timeInterval": "",
                "tpOrdPx": "",
                "tpTriggerPx": "",
                "tpTriggerPxType": "",
                "triggerPx": "100",
                "triggerPxType": "last",
                "triggerTime": "0",
                "linkedOrd":{
                    "ordId":"98192973880283"
                }
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    instType String 产品类型
    instId String 产品ID
    ccy String 保证金币种
    ordId String 最新一笔订单ID,即将废弃。
    ordIdList Array 订单ID列表,当止盈止损存在市价拆单时,会有多个。
    algoId String 策略委托单ID
    clOrdId String 客户自定义订单ID
    sz String 委托数量
    closeFraction String 策略委托触发时,平仓的百分比。1 代表100%
    ordType String 订单类型
    side String 订单方向

    | tdMode | String | 交易模式 | | tgtCcy | String | 币币市价单委托数量sz的单位
    base_ccy:交易货币
    quote_ccy:计价货币
    仅适用于币币市价订单
    默认买单为quote_ccy,卖单为base_ccy | | state | String | 订单状态
    live:待生效
    pause:暂停生效 | |lever |String |杠杆倍数,0.01到125之间的数值 | | tpTriggerPx | String | 止盈触发价 | | tpTriggerPxType | String | 止盈触发价类型
    last:最新价格 | | tpOrdPx | String | 止盈委托价 | | slTriggerPx | String | 止损触发价 | | slTriggerPxType | String | 止损触发价类型
    last:最新价格 | | slOrdPx | String | 止损委托价 | |triggerPx |String |计划委托触发价格 | | triggerPxType | String |计划委托触发价类型
    last:最新价格 | | ordPx | String | 计划委托单的委托价格 | | actualSz | String | 实际委托量 | | actualPx | String | 实际委托价 | | actualSide | String | 实际触发方向
    tp:止盈
    sl:止损
    仅适用于单向止盈止损委托双向止盈止损委托 | | triggerTime | String | 策略委托触发时间,Unix时间戳的毫秒数格式,如 1597026383085 | | pxVar | String | 价格比例 | | pxSpread | String | 价距 | | szLimit | String | 单笔数量 | | tag | String | 订单标签 | | pxLimit | String | 挂单限制价 | | timeInterval | String | 下单间隔 | | callbackRatio | String | 回调幅度的比例 | | callbackSpread | String | 回调幅度的价距 | | activePx | String | 移动止盈止损激活价格 | | moveTriggerPx | String | 移动止盈止损触发价格 | | reduceOnly | String | 是否只减仓 | | quickMgnType | String | 一键借币类型,仅适用于杠杆逐仓的一键借币模式 | | last | String | 下单时的最新成交价 | | failCode | String | 代表策略触发失败的原因,委托失败时有值,如 51008,对于该接口一直为""。 | | algoClOrdId | String | 客户自定义策略订单ID | | amendPxOnTriggerType | String | 是否启用开仓价止损,仅适用于分批止盈的止损订单
    0:不开启,默认值
    1:开启 | | attachAlgoOrds | Array of object | 附带止盈止损信息 | | linkedOrd | Object | 止盈订单信息,仅适用于止损单,且该止损订单来自包含限价止盈单的双向止盈止损订单 | | > ordId | String | 订单 ID | | cTime | String | 订单创建时间,Unix时间戳的毫秒数格式,如 1597026383085 | | uTime | String | 订单更新时间,Unix时间戳的毫秒数格式,如 1597026383085 | | isTradeBorrowMode | String | 是否自动借币
    true:自动借币
    false:不自动借币 |

    GET / 获取历史策略委托单列表

    获取最近3个月当前账户下所有策略委托单列表

    限速:20次/2s

    限速规则:UserID

    HTTP请求

    GET /api/v5/trade/orders-algo-history

    请求示例

    GET /api/v5/trade/orders-algo-history?ordType=conditional&state=effective
    
    import okx.Trade as Trade
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    flag = "1"  # 实盘: 0, 模拟盘: 1
    
    tradeAPI = Trade.TradeAPI(apikey, secretkey, passphrase, False, flag)
    
    # 查询 单向止盈止损 历史订单
    result = tradeAPI.order_algos_history(
        state="effective",
        ordType="conditional"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    ordType String 订单类型
    conditional:单向止盈止损
    oco:双向止盈止损
    支持 conditionaloco 同时查询,半角逗号分隔,对于其他类型,一次请求仅支持查询一个
    state String 可选 订单状态
    effective:已生效
    canceled:已经撤销
    order_failed:委托失败
    statealgoId必填且只能填其一
    algoId String 可选 策略委托单ID
    instType String 产品类型
    SPOT:币币
    instId String 产品ID,BTC-JPY
    after String 请求此ID之前(更旧的数据)的分页内容,传的值为对应接口的algoId
    before String 请求此ID之后(更新的数据)的分页内容,传的值为对应接口的algoId
    limit String 返回结果的数量,最大为100,默认100条

    返回结果

    {
        "code": "0",
        "data": [
            {
                "activePx": "",
                "actualPx": "",
                "actualSide": "buy",
                "actualSz": "0",
                "algoClOrdId": "",
                "algoId": "681096944655273984",
                "amendPxOnTriggerType": "",
                "attachAlgoOrds": [],
                "cTime": "1708658165774",
                "uTime": "1708679675245",
                "callbackRatio": "",
                "callbackSpread": "",
                "ccy": "",
                "clOrdId": "",
                "closeFraction": "",
                "failCode": "",
                "instId": "BTC-JPY",
                "instType": "SPOT",
                "last": "51014.6",
                "moveTriggerPx": "",
                "ordId": "",
                "ordIdList": [],
                "ordPx": "-1",
                "ordType": "oco",
                "pxLimit": "",
                "pxSpread": "",
                "pxVar": "",
                "side": "buy",
                "slOrdPx": "",
                "slTriggerPx": "",
                "slTriggerPxType": "",
                "state": "canceled",
                "sz": "10",
                "szLimit": "",
                "tag": "",
                "tdMode": "cash",
                "tgtCcy": "",
                "timeInterval": "",
                "tpOrdPx": "",
                "tpTriggerPx": "",
                "tpTriggerPxType": "",
                "triggerPx": "100",
                "triggerPxType": "last",
                "triggerTime": "",
                "linkedOrd":{
                    "ordId":"98192973880283"
                }
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    instType String 产品类型
    instId String 产品ID
    ccy String 保证金币种
    ordId String 最新一笔订单ID,即将废弃。
    ordIdList Array 订单ID列表,当止盈止损存在市价拆单时,会有多个。
    algoId String 策略委托单ID
    clOrdId String 客户自定义订单ID
    sz String 委托数量
    closeFraction String 策略委托触发时,平仓的百分比。1 代表100%
    ordType String 订单类型
    side String 订单方向

    | tdMode | String | 交易模式 | | tgtCcy | String | 币币市价单委托数量sz的单位
    base_ccy: 交易货币 ;quote_ccy:计价货币
    仅适用于币币市价订单
    默认买单为quote_ccy,卖单为base_ccy | | state | String | 订单状态
    effective:已生效
    canceled:已撤销
    order_failed:委托失败
    partially_failed:部分委托失败 | | lever | String | 杠杆倍数,0.01到125之间的数值 | | tpTriggerPx | String | 止盈触发价 | | tpTriggerPxType | String | 止盈触发价类型
    last:最新价格 | | tpOrdPx | String | 止盈委托价 | | slTriggerPx | String | 止损触发价 | | slTriggerPxType | String | 止损触发价类型
    last:最新价格 | | slOrdPx | String | 止损委托价 | | triggerPx | String | 计划委托触发价格 | | triggerPxType | String | 计划委托委托价格类型
    last:最新价格
    index:指数价格
    mark:标记价格 | | ordPx | String | 计划委托委托价格 | | actualSz | String | 实际委托量 | | actualPx | String | 实际委托价 | | actualSide | String | 实际触发方向
    tp:止盈
    sl:止损
    仅适用于单向止盈止损委托双向止盈止损委托 | | triggerTime | String | 策略委托触发时间,Unix时间戳的毫秒数格式,如 1597026383085 | | pxVar | String | 价格比例 | | pxSpread | String | 价距 | | szLimit | String | 单笔数量 | | pxLimit | String | 挂单限制价 | | tag | String | 订单标签 | | timeInterval | String | 下单间隔 | | callbackRatio | String | 回调幅度的比例 | | callbackSpread | String | 回调幅度的价距 | | activePx | String | 移动止盈止损激活价格 | | moveTriggerPx | String | 移动止盈止损触发价格 | | reduceOnly | String | 是否只减仓
    truefalse | | quickMgnType | String | 一键借币类型,仅适用于杠杆逐仓的一键借币模式 | | last | String | 下单时的最新成交价 | | failCode | String | 代表策略触发失败的原因,已撤销和已生效时为"",委托失败时有值,如 51008;
    仅适用于单向止盈止损委托、双向止盈止损委托、移动止盈止损委托、计划委托。 | | algoClOrdId | String | 客户自定义策略订单ID | | amendPxOnTriggerType | String | 是否启用开仓价止损,仅适用于分批止盈的止损订单
    0:不开启,默认值
    1:开启 | | attachAlgoOrds | Array of object | 附带止盈止损信息 | | linkedOrd | Object | 止盈订单信息,仅适用于止损单,且该止损订单来自包含限价止盈单的双向止盈止损订单 | | > ordId | String | 订单 ID | | cTime | String | 订单创建时间,Unix时间戳的毫秒数格式,如 1597026383085 | | uTime | String | 订单更新时间,Unix时间戳的毫秒数格式,如 1597026383085 | | isTradeBorrowMode | String | 是否自动借币
    true:自动借币
    false:不自动借币 |

    WS / 策略委托订单频道

    获取策略委托订单,首次订阅不推送,只有当下单、撤单等事件触发时,推送数据

    服务地址

    /ws/v5/business (需要登录)

    请求示例:单个

    {
        "op": "subscribe",
        "args": [{
            "channel": "orders-algo",
            "instType": "SPOT",
            "instId": "BTC-JPY"
        }]
    }
    

    请求示例

    {
        "op": "subscribe",
        "args": [{
            "channel": "orders-algo",
            "instType": "SPOT",
            "instId": "BTC-JPY"
        }]
    }
    

    请求参数

    参数 类型 是否必须 描述
    op String 操作
    subscribe
    unsubscribe
    args Array 请求订阅的频道列表
    > channel String 频道名
    orders-algo
    > instType String 产品类型
    SPOT:币币
    ANY:全部
    > instId String 产品ID

    成功返回示例:单个

    {
        "event": "subscribe",
        "arg": {
            "channel": "orders-algo",
            "instType": "SPOT",
            "instId": "BTC-JPY"
        },
        "connId": "a4d3ae55"
    }
    

    成功返回示例

    {
        "event": "subscribe",
        "arg": {
            "channel": "orders-algo",
            "instType": "SPOT",
            "instId": "BTC-JPY"
        },
        "connId": "a4d3ae55"
    }
    

    失败返回示例

    {
        "event": "error",
        "code": "60012",
        "msg": "Invalid request: {\"op\": \"subscribe\", \"argss\":[{ \"channel\" : \"orders-algo\", \"instType\" : \"FUTURES\"}]}",
        "connId": "a4d3ae55"
    }
    

    返回参数

    参数 类型 是否必须 描述
    event String 事件
    subscribe
    unsubscribe
    error
    arg Object 订阅的频道
    > channel String 频道名
    > instType String 产品类型
    SPOT:币币
    ANY:全部
    > instId String 产品ID
    code String 错误码
    msg String 错误消息
    connId String WebSocket连接ID

    推送示例:单个

    {
        "arg": {
            "channel": "orders-algo",
            "uid": "77982378738415879",
            "instType": "SPOT",
            "instId": "BTC-JPY"
        },
        "data": [{
            "actualPx": "0",
            "actualSide": "",
            "actualSz": "0",
            "algoClOrdId": "",
            "algoId": "581878926302093312",
            "attachAlgoOrds": [],
            "amendResult": "",
            "cTime": "1685002746818",
            "uTime": "1708679675245",
            "clOrdId": "",
            "failCode": "",
            "instId": "BTC-JPY",
            "instType": "SPOT",
            "last": "26174.8",
            "notionalJPY": "11.0",
            "ordId": "",
            "ordIdList": [],
            "ordType": "conditional",
            "reqId": "",
            "side": "buy",
            "slOrdPx": "",
            "slTriggerPx": "",
            "slTriggerPxType": "",
            "state": "live",
            "sz": "11",
            "tag": "",
            "tdMode": "cash",
            "tgtCcy": "quote_ccy",
            "tpOrdPx": "-1",
            "tpTriggerPx": "1",
            "tpTriggerPxType": "last",
            "triggerTime": "",
            "amendPxOnTriggerType": "0",
            "linkedOrd":{
                "ordId":"98192973880283"
            }
        }]
    }
    

    推送数据参数

    参数名 类型 描述
    arg Object 订阅成功的频道
    > channel String 频道名
    > uid String 用户标识
    > instType String 产品类型
    > instId String 产品ID
    data Array 订阅的数据
    > instType String 产品类型
    > instId String 产品ID
    > ordId String 最新一笔订单ID,与策略委托订单关联的订单ID,即将废弃。
    > ordIdList Array 订单ID列表,当止盈止损存在市价拆单时,会有多个。
    > algoId String 策略委托单ID
    > clOrdId String 客户自定义订单ID
    > sz String 委托数量,币币 以币为单位;
    > ordType String 订单类型
    conditional:单向止盈止损
    oco:双向止盈止损
    > side String 订单方向,buy sell
    > tdMode String 交易模式
    非保证金模式 cash:现金
    > tgtCcy String 币币市价单委托数量sz的单位
    base_ccy:交易货币
    quote_ccy:计价货币
    仅适用于币币市价订单
    默认买单为quote_ccy,卖单为base_ccy
    > state String 订单状态
    live:待生效
    effective:已生效
    canceled:已撤销
    order_failed:委托失败
    partially_failed:部分委托失败
    partially_effective: 部分生效
    > tpTriggerPx String 止盈触发价
    > tpTriggerPxType String 止盈触发价类型
    last:最新价格
    > tpOrdPx String 止盈委托价,委托价格为-1时,执行市价止盈
    > slTriggerPx String 止损触发价
    > slTriggerPxType String 止损触发价类型
    last:最新价格
    > slOrdPx String 止损委托价委托价格为-1时,执行市价止损
    > last String 下单时的最新成交价
    > actualSz String 实际委托量
    > actualPx String 实际委价
    > tag String 订单标签
    > notionalJPY String 委托单预估日元价值
    > actualSide String 实际触发方向
    sl:止损
    tp:止盈
    仅适用于单向止盈止损委托双向止盈止损委托
    > triggerTime String 策略委托触发时间,Unix时间戳的毫秒数格式,如 1597026383085
    > failCode String 代表策略触发失败的原因,已撤销和已生效时为"",委托失败时有值,如 51008;
    > algoClOrdId String 客户自定义策略订单ID
    > reqId String 修改订单时使用的request ID,如果没有修改,该字段为""
    > amendResult String 修改订单的结果
    -1:失败
    0:成功
    > amendPxOnTriggerType String 是否启用开仓价止损,仅适用于分批止盈的止损订单
    0:不开启,默认值
    1:开启
    > attachAlgoOrds Array of object 附带止盈止损信息
    适用于现货
    >> attachAlgoClOrdId String 下单附带止盈止损时,客户自定义的策略订单ID,字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。
    订单完全成交,下止盈止损委托单时,该值会传给algoClOrdId。
    >> tpTriggerPx String 止盈触发价,如果填写此参数,必须填写止盈委托价
    >> tpTriggerPxType String 止盈触发价类型
    last:最新价格
    >> tpOrdPx String 止盈委托价,如果填写此参数,必须填写止盈触发价
    委托价格为-1时,执行市价止盈
    >> slTriggerPx String 止损触发价,如果填写此参数,必须填写止损委托价
    >> slTriggerPxType String 止损触发价类型
    last:最新价格
    >> slOrdPx String 止损委托价,如果填写此参数,必须填写止损触发价
    委托价格为-1时,执行市价止损
    > linkedOrd Object 止盈订单信息,仅适用于止损单,且该止损订单来自包含限价止盈单的双向止盈止损订单
    >> ordId String 订单 ID
    > cTime String 订单创建时间,Unix时间戳的毫秒数格式,如 1597026383085
    > uTime String 订单更新时间,Unix时间戳的毫秒数格式,如 1597026383085

    行情数据

    行情数据功能模块下的API接口不需要身份验证。

    GET / 获取所有产品行情信息

    获取产品行情信息

    限速:20次/2s

    限速规则:IP

    HTTP请求

    GET /api/v5/market/tickers

    请求示例

    GET /api/v5/market/tickers?instType=SPOT
    
    
    import okx.MarketData as MarketData
    
    
    marketDataAPI =  MarketData.MarketAPI()
    
    # 获取所有产品行情信息
    result = marketDataAPI.get_tickers(
        instType="SPOT"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instType String 产品类型
    SPOT:币币

    返回结果

    {
        "code":"0",
        "msg":"",
        "data":[
         {
           "instType":"SPOT",
           "instId":"PEPE-JPY",
           "last":"0.003",
           "lastSz":"0",
           "askPx":"",
           "askSz":"0",
           "bidPx":"0.003",
           "bidSz":"70998",
           "open24h":"0.003",
           "high24h":"0.003",
           "low24h":"0.003",
           "volCcy24h":"0",
           "vol24h":"0",
           "ts":"1747102886012",
           "sodUtc0":"0.003"
         },
         {
             "instType":"SPOT",
             "instId":"XRP-JPY",
             "last":"481",
             "lastSz":"1",
             "askPx":"",
             "askSz":"0",
             "bidPx":"481",
             "bidSz":"2",
             "open24h":"481",
             "high24h":"481",
             "low24h":"481",
             "volCcy24h":"0",
             "vol24h":"0",
             "ts":"1747102920011",
             "sodUtc0":"481",
             "sodUtc8":"481"
        }
      ]
    }
    

    返回参数

    参数名 类型 描述
    instType String 产品类型
    instId String 产品ID
    last String 最新成交价
    lastSz String 最新成交的数量,0 代表没有成交量
    askPx String 卖一价
    askSz String 卖一价的挂单数数量
    bidPx String 买一价
    bidSz String 买一价的挂单数量
    open24h String 24小时开盘价
    high24h String 24小时最高价
    low24h String 24小时最低价
    volCcy24h String 24小时成交量,以为单位。
    如果是币币,数值为计价货币的数量。
    vol24h String 24小时成交量,以为单位。
    如果是币币,数值为交易货币的数量。
    sodUtc0 String UTC 0 时开盘价
    sodUtc8 String UTC+8 时开盘价
    ts String ticker数据产生时间,Unix时间戳的毫秒数格式,如 1597026383085

    GET / 获取单个产品行情信息

    获取产品行情信息

    限速:20次/2s

    限速规则:IP

    HTTP请求

    GET /api/v5/market/ticker

    请求示例

    GET /api/v5/market/ticker?instId=BTC-JPY
    
    
    import okx.MarketData as MarketData
    
    
    marketDataAPI =  MarketData.MarketAPI()
    
    # 获取单个产品行情信息
    result = marketDataAPI.get_ticker(
        instId="BTC-JPY"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instId String 产品ID,如 BTC-JPY

    返回结果

    {
        "code": "0",
        "msg": "",
        "data": [
            {
               "instType":"SPOT",
               "instId":"BTC-JPY",
               "last":"480",
               "lastSz":"0.01",
               "askPx":"",
               "askSz":"0",
               "bidPx":"480",
               "bidSz":"773.9599",
               "open24h":"480",
               "high24h":"480",
               "low24h":"480",
               "volCcy24h":"0",
               "vol24h":"0",
               "ts":"1747112880014",
               "sodUtc0":"480",
               "sodUtc8":"480"
            }
        ]
    }
    

    返回参数

    参数名 类型 描述
    instType String 产品类型
    instId String 产品ID
    last String 最新成交价
    lastSz String 最新成交的数量,0 代表没有成交量
    askPx String 卖一价
    askSz String 卖一价对应的数量
    bidPx String 买一价
    bidSz String 买一价对应的数量
    open24h String 24小时开盘价
    high24h String 24小时最高价
    low24h String 24小时最低价
    volCcy24h String 24小时成交量,以为单位
    如果是币币,数值为计价货币的数量。
    vol24h String 24小时成交量,以为单位
    如果是币币,数值为交易货币的数量。
    sodUtc0 String UTC+0 时开盘价
    sodUtc8 String UTC+8 时开盘价
    ts String ticker数据产生时间,Unix时间戳的毫秒数格式,如 1597026383085

    GET / 获取产品深度

    获取产品深度列表

    限速:40次/2s

    限速规则:IP

    HTTP请求

    GET /api/v5/market/books

    请求示例

    GET /api/v5/market/books?instId=BTC-JPY
    
    import okx.MarketData as MarketData
    
    
    marketDataAPI =  MarketData.MarketAPI()
    
    # 获取产品深度
    result = marketDataAPI.get_orderbook(
        instId="BTC-JPY"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instId String 产品ID,如 BTC-JPY
    sz String 深度档位数量,最大值可传400,即买卖深度共800条
    不填写此参数,默认返回1档深度数据

    返回结果

    {
        "code": "0",
        "msg": "",
        "data": [
            {
                "asks": [
                    [
                        "41006.8",
                        "0.60038921",
                        "0",
                        "1"
                    ]
                ],
                "bids": [
                    [
                        "41006.3",
                        "0.30178218",
                        "0",
                        "2"
                    ]
                ],
                "ts": "1629966436396"
            }
        ]
    }
    

    返回参数

    参数名 类型 描述
    asks Array 卖方深度
    bids Array 买方深度
    ts String 深度产生的时间

    GET / 获取产品完整深度

    获取产品深度列表。数据每秒更新一次。

    限速:10次/2s

    限速规则:IP

    HTTP请求

    GET /api/v5/market/books-full

    请求示例

    GET /api/v5/market/books-full?instId=BTC-JPY&sz=20
    

    请求参数

    参数名 类型 是否必须 描述
    instId String 产品ID,如 BTC-JPY
    sz String 深度档位数量,最大值可传5000,即买卖深度共10000条
    不填写此参数,默认返回1档深度数据

    返回结果

    {
        "code": "0",
        "msg": "",
        "data": [
            {
                "asks": [
                    [
                        "41006.8",
                        "0.60038921",
                        "1"
                    ]
                ],
                "bids": [
                    [
                        "41006.3",
                        "0.30178218",
                        "2"
                    ]
                ],
                "ts": "1629966436396"
            }
        ]
    }
    

    返回参数

    参数名 类型 描述
    asks Array 卖方深度
    bids Array 买方深度
    ts String 深度产生的时间

    GET / 获取交易产品K线数据

    获取K线数据。K线数据按请求的粒度分组返回,K线数据每个粒度最多可获取最近1,440条。

    限速:40次/2s

    限速规则:IP

    HTTP请求

    GET /api/v5/market/candles

    请求示例

    GET /api/v5/market/candles?instId=BTC-JPY
    
    import okx.MarketData as MarketData
    
    
    marketDataAPI =  MarketData.MarketAPI()
    
    # 获取交易产品K线数据
    result = marketDataAPI.get_candlesticks(
        instId="BTC-JPY"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instId String 产品ID,如 BTC-JPY
    bar String 时间粒度,默认值1m
    如 [1m/3m/5m/15m/30m/1H/2H/4H]
    日本时间开盘价k线:[6H/12H/1D/2D/3D/1W/1M/3M]
    UTC时间开盘价k线:[/6Hutc/12Hutc/1Dutc/2Dutc/3Dutc/1Wutc/1Mutc/3Mutc]
    after String 请求此时间戳之前(更旧的数据)的分页内容,传的值为对应接口的ts
    before String 请求此时间戳之后(更新的数据)的分页内容,传的值为对应接口的ts, 单独使用时,会返回最新的数据。
    limit String 分页返回的结果集数量,最大为300,不填默认返回100条

    返回结果

    {
        "code":"0",
        "msg":"",
        "data":[
         [
            "1597026383085",
            "3.721",
            "3.743",
            "3.677",
            "3.708",
            "8422410",
            "22698348.04828491",
            "12698348.04828491",
            "0"
        ],
        [
            "1597026383085",
            "3.731",
            "3.799",
            "3.494",
            "3.72",
            "24912403",
            "67632347.24399722",
            "37632347.24399722",
            "1"
        ]
        ]
    }
    

    返回参数

    参数名 类型 描述
    ts String 开始时间,Unix时间戳的毫秒数格式,如 1597026383085
    o String 开盘价格
    h String 最高价格
    l String 最低价格
    c String 收盘价格
    vol String 交易量,以为单位
    如果是币币,数值为交易货币的数量。
    volCcy String 交易量,以为单位
    如果是币币,数值为计价货币的数量。
    volCcyQuote String 交易量,以计价货币为单位
    BTC-JPY,单位是JPY
    confirm String K线状态
    0:K线未完结
    1:K线已完结

    GET / 获取交易产品历史K线数据

    获取最近几年的历史k线数据(1s k线支持查询最近3个月的数据)

    限速:20次/2s

    限速规则:IP

    HTTP请求

    GET /api/v5/market/history-candles

    请求示例

    GET /api/v5/market/history-candles?instId=BTC-JPY
    
    import okx.MarketData as MarketData
    
    
    marketDataAPI =  MarketData.MarketAPI()
    
    # 获取交易产品历史K线数据
    result = marketDataAPI.get_history_candlesticks(
        instId="BTC-JPY"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instId String 产品ID,如 BTC-JPY
    after String 请求此时间戳之前(更旧的数据)的分页内容,传的值为对应接口的ts
    before String 请求此时间戳之后(更新的数据)的分页内容,传的值为对应接口的ts, 单独使用时,会返回最新的数据。
    bar String 时间粒度,默认值1m
    如 [1s/1m/3m/5m/15m/30m/1H/2H/4H]
    日本时间开盘价k线:[6H/12H/1D/2D/3D/1W/1M/3M]
    UTC时间开盘价k线:[6Hutc/12Hutc/1Dutc/2Dutc/3Dutc/1Wutc/1Mutc/3Mutc]
    limit String 分页返回的结果集数量,最大为100,不填默认返回100条

    返回结果

    {
        "code":"0",
        "msg":"",
        "data":[
         [
            "1597026383085",
            "3.721",
            "3.743",
            "3.677",
            "3.708",
            "8422410",
            "22698348.04828491",
            "12698348.04828491",
            "1"
        ],
        [
            "1597026383085",
            "3.731",
            "3.799",
            "3.494",
            "3.72",
            "24912403",
            "67632347.24399722",
            "37632347.24399722",
            "1"
        ]
        ]
    }
    

    返回参数

    参数名 类型 描述
    ts String 开始时间,Unix时间戳的毫秒数格式,如 1597026383085
    o String 开盘价格
    h String 最高价格
    l String 最低价格
    c String 收盘价格
    vol String 交易量,以为单位
    如果是币币,数值为交易货币的数量。
    volCcy String 交易量,以为单位
    如果是币币,数值为计价货币的数量。
    volCcyQuote String 交易量,以计价货币为单位
    BTC-JPY,单位是JPY
    confirm String K线状态
    0:K线未完结
    1:K线已完结

    GET / 获取交易产品公共成交数据

    查询市场上的成交信息数据

    限速:100次/2s

    限速规则:IP

    HTTP请求

    GET /api/v5/market/trades

    请求示例

    GET /api/v5/market/trades?instId=BTC-JPY
    
    import okx.MarketData as MarketData
    
    
    marketDataAPI =  MarketData.MarketAPI()
    
    # 获取交易产品公共成交数据
    result = marketDataAPI.get_trades(
        instId="BTC-JPY"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instId String 产品ID,如 BTC-JPY
    limit String 分页返回的结果集数量,最大为500,不填默认返回100条

    返回结果

    {
        "code": "0",
        "msg": "",
        "data": [
            {
                "instId": "BTC-JPY",
                "side": "sell",
                "sz": "0.00001",
                "px": "29963.2",
                "tradeId": "242720720",
                "ts": "1654161646974"
            },
            {
                "instId": "BTC-JPY",
                "side": "sell",
                "sz": "0.00001",
                "px": "29964.1",
                "tradeId": "242720719",
                "ts": "1654161641568"
            }
        ]
    }
    

    返回参数

    参数名 类型 描述
    instId String 产品ID
    tradeId String 成交ID
    px String 成交价格
    sz String 成交数量
    对于币币交易,成交数量的单位为交易货币
    side String 成交方向
    buy:买
    sell:卖
    ts String 成交时间,Unix时间戳的毫秒数格式, 如1597026383085

    GET / 获取平台24小时总成交量

    24小时成交量滚动计算

    限速:2次/2s

    限速规则:IP

    HTTP请求

    GET /api/v5/market/platform-24-volume

    请求示例

    GET /api/v5/market/platform-24-volume
    
    
    import okx.MarketData as MarketData
    
    marketDataAPI =  MarketData.MarketAPI()
    
    # 获取平台24小时总成交量
    result = marketDataAPI.get_volume()
    print(result)
    

    返回结果

    {
        "code":"0",
        "msg":"",
        "data":[
         {
             "volJpy": "34462818865189",
             "ts": "1657856040389"
         }
      ]
    }
    

    返回参数

    参数名 类型 描述
    volJpy String 订单簿交易近24小时总成交量,以日元为单位
    ts String 接口返回数据时间

    GET / 集合竞价信息

    获取集合竞价相关信息

    限速:20次/2s

    限速规则:IP

    HTTP请求

    GET /api/v5/market/call-auction-details

    请求示例

    GET /api/v5/market/call-auction-details?instId=BTC-JPY
    
    

    请求参数

    参数名 类型 是否必须 描述
    instId String 产品ID,如 BTC-JPY

    返回结果

    {
        "code": "0",
        "msg": "",
        "data": [
            {
                "instId": "BTC-JPY",
                "unmatchedSz": "9988764",
                "eqPx": "0.6",
                "matchedSz": "44978",
                "state": "continuous_trading",
                "auctionEndTime": "1726542000000",
                "ts": "1726542000007"
            }
        ]
    }
    

    返回参数

    参数名 类型 描述
    instId String 产品ID
    eqPx String 均衡价格
    matchedSz String 买卖双边的匹配数量,单位为交易货币
    unmatchedSz String 未匹配数量
    auctionEndTime String 集合竞价结束时间,Unix时间戳的毫秒数格式,如 1597026383085
    state String 交易状态
    call_auction:集合竞价
    continuous_trading:连续交易
    ts String 数据产生时间,Unix时间戳的毫秒数格式,如 1597026383085

    WS / 行情频道

    获取产品的最新成交价、买一价、卖一价和24小时交易量等信息。
    最快100ms推送一次,没有触发事件时不推送,触发推送的事件有:成交、买一卖一发生变动。

    URL Path

    /ws/v5/public

    请求示例

    {
        "op": "subscribe",
        "args": [{
            "channel": "tickers",
            "instId": "BTC-JPY"
        }]
    }
    

    请求参数

    参数 类型 是否必须 描述
    op String 操作
    subscribe
    unsubscribe
    args Array 请求订阅的频道列表
    > channel String 频道名
    tickers
    > instId String 产品ID

    成功返回示例

    {
        "event": "subscribe",
        "arg": {
            "channel": "tickers",
            "instId": "BTC-JPY"
        },
        "connId": "a4d3ae55"
    }
    

    失败返回示例

    {
        "event": "error",
        "code": "60012",
        "msg": "Invalid request: {\"op\": \"subscribe\", \"argss\":[{ \"channel\" : \"tickers\", \"instId\" : \"LTC-JPY-200327\"}]}",
        "connId": "a4d3ae55"
    }
    

    返回参数

    参数 类型 是否必须 描述
    event String 事件
    subscribe
    unsubscribe
    error
    arg Object 订阅的频道
    > channel String 频道名
    > instId String 产品ID
    code String 错误码
    msg String 错误消息
    connId String WebSocket连接ID

    推送示例

    {
        "arg": {
            "channel": "tickers",
            "instId": "BTC-JPY"
        },
        "data": [{
            "instType": "SPOT",
            "instId": "BTC-JPY",
            "last": "9999.99",
            "lastSz": "0.1",
            "askPx": "9999.99",
            "askSz": "11",
            "bidPx": "8888.88",
            "bidSz": "5",
            "open24h": "9000",
            "high24h": "10000",
            "low24h": "8888.88",
            "volCcy24h": "2222",
            "vol24h": "2222",
            "sodUtc0": "2222",
            "sodUtc8": "2222",
            "ts": "1597026383085"
        }]
    }
    

    推送数据参数

    参数名 类型 描述
    arg Object 订阅成功的频道
    > channel String 频道名
    > instId String 产品ID
    data Array 订阅的数据
    > instType String 产品类型
    > instId String 产品ID
    > last String 最新成交价
    > lastSz String 最新成交的数量,0 代表没有成交量
    > askPx String 卖一价
    > askSz String 卖一价对应的量
    > bidPx String 买一价
    > bidSz String 买一价对应的数量
    > open24h String 24小时开盘价
    > high24h String 24小时最高价
    > low24h String 24小时最低价
    > volCcy24h String 24小时成交量,以计价货币为单位
    > vol24h String 24小时成交量,以交易货币为单位
    > sodUtc0 String UTC+0 时开盘价
    > sodUtc8 String UTC+8 时开盘价
    > ts String 数据产生时间,Unix时间戳的毫秒数格式,如 1597026383085

    WS / K线频道

    获取K线数据,推送频率最快是间隔1秒推送一次数据。

    URL Path

    /ws/v5/business

    请求示例

    {
        "op": "subscribe",
        "args": [{
            "channel": "candle1D",
            "instId": "BTC-JPY"
        }]
    }
    

    请求参数

    参数 类型 是否必须 描述
    op String 操作
    subscribe
    unsubscribe
    args Array 请求订阅的频道列表
    > channel String 频道名
    candle3M
    candle1M
    candle1W
    candle1D
    candle2D
    candle3D
    candle5D
    candle12H
    candle6H
    candle4H
    candle2H
    candle1H
    candle30m
    candle15m
    candle5m
    candle3m
    candle1m
    candle1s
    candle3Mutc
    candle1Mutc
    candle1Wutc
    candle1Dutc
    candle2Dutc
    candle3Dutc
    candle5Dutc
    candle12Hutc
    candle6Hutc
    > instId String 产品ID

    成功返回示例

    {
        "event": "subscribe",
        "arg": {
            "channel": "candle1D",
            "instId": "BTC-JPY"
        },
      "connId": "a4d3ae55"
    }
    

    失败返回示例

    {
        "event": "error",
        "code": "60012",
        "msg": "Invalid request: {\"op\": \"subscribe\", \"argss\":[{ \"channel\" : \"candle1D\", \"instId\" : \"BTC-USD-191227\"}]}",
      "connId": "a4d3ae55"
    }
    

    返回参数

    参数 类型 是否必须 描述
    event String 事件
    subscribe
    unsubscribe
    error
    arg Object 订阅的频道
    > channel String 频道名
    > instId String 产品ID
    code String 错误码
    msg String 错误消息
    connId String WebSocket连接ID

    推送示例

    {
      "arg": {
        "channel": "candle1D",
        "instId": "BTC-JPY"
      },
      "data": [
        [
          "1629993600000",
          "42500",
          "48199.9",
          "41006.1",
          "41006.1",
          "3587.41204591",
          "166741046.22583129",
          "166741046.22583129",
          "0"
        ]
      ]
    }
    

    推送数据参数

    参数名 类型 描述
    arg Object 订阅成功的频道
    > channel String 频道名
    > instId String 产品ID
    data Array 订阅的数据
    > ts String 开始时间,Unix时间戳的毫秒数格式,如 1597026383085
    > o String 开盘价格
    > h String 最高价格
    > l String 最低价格
    > c String 收盘价格
    > vol String 交易量,以交易货币为单位
    > volCcy String 交易量,以计价货币为单位
    > volCcyQuote String 交易量,以计价货币为单位
    BTC-JPY单位均是JPY
    > confirm String K线状态
    0:K线未完结
    1:K线已完结

    WS / 交易频道

    获取最近的成交数据,有成交数据就推送,每次推送可能聚合多条成交数据。
    根据每个taker订单的不同成交价格推送消息,并使用count字段表示聚合的订单匹配数量。

    URL Path

    /ws/v5/public

    请求示例

    {
        "op": "subscribe",
        "args": [{
            "channel": "trades",
            "instId": "BTC-JPY"
        }]
    }
    

    请求参数

    参数 类型 是否必须 描述
    op String 操作
    subscribe
    unsubscribe
    args Array 请求订阅的频道列表
    > channel String 频道名
    trades
    > instId String 产品ID

    成功返回示例

    {
        "event": "subscribe",
        "arg": {
            "channel": "trades",
            "instId": "BTC-JPY"
        },
      "connId": "a4d3ae55"
    }
    

    失败返回示例

    {
        "event": "error",
        "code": "60012",
        "msg": "Invalid request: {\"op\": \"subscribe\", \"argss\":[{ \"channel\" : \"trades\"\"instId\" : \"BTC-JPY\"}]}",
      "connId": "a4d3ae55"
    }
    

    返回参数

    参数 类型 是否必须 描述
    event String 事件
    subscribe
    unsubscribe
    error
    arg Object 订阅的频道
    > channel String 频道名
    > instId String 产品ID
    code String 错误码
    msg String 错误消息
    connId String WebSocket连接ID

    推送示例

    {
      "arg": {
        "channel": "trades",
        "instId": "BTC-JPY"
      },
      "data": [
        {
          "instId": "BTC-JPY",
          "tradeId": "130639474",
          "px": "42219.9",
          "sz": "0.12060306",
          "side": "buy",
          "ts": "1630048897897",
          "count": "3"
        }
      ]
    }
    

    推送数据参数

    参数名 类型 描述
    arg Object 订阅成功的频道
    > channel String 频道名
    > instId String 产品ID
    data Array 订阅的数据
    > instId String 产品ID,如 BTC-JPY
    > tradeId String 聚合的多笔交易中最新一笔交易的成交ID
    > px String 成交价格
    > sz String 成交数量
    > side String 成交方向
    buy
    sell
    > ts String 成交时间,Unix时间戳的毫秒数格式,如 1597026383085
    > count String 聚合的订单匹配数量

    WS / 全部交易频道

    获取最近的成交数据,有成交数据就推送,每次推送仅包含一条成交数据。

    URL Path

    /ws/v5/business

    请求示例

    {
        "op": "subscribe",
        "args": [{
            "channel": "trades-all",
            "instId": "BTC-JPY"
        }]
    }
    

    请求参数

    参数 类型 是否必须 描述
    op String 操作
    subscribe
    unsubscribe
    args Array 请求订阅的频道列表
    > channel String 频道名
    trades-all
    > instId String 产品ID

    成功返回示例

    {
        "event": "subscribe",
        "arg": {
            "channel": "trades-all",
            "instId": "BTC-JPY"
        },
      "connId": "a4d3ae55"
    }
    

    失败返回示例

    {
        "event": "error",
        "code": "60012",
        "msg": "Invalid request: {\"op\": \"subscribe\", \"argss\":[{ \"channel\" : \"trades-all\"\"instId\" : \"BTC-JPY\"}]}",
      "connId": "a4d3ae55"
    }
    

    返回参数

    参数 类型 是否必须 描述
    event String 事件
    subscribe
    unsubscribe
    error
    arg Object 订阅的频道
    > channel String 频道名
    > instId String 产品ID
    code String 错误码
    msg String 错误消息
    connId String WebSocket连接ID

    推送示例

    {
      "arg": {
        "channel": "trades-all",
        "instId": "BTC-JPY"
      },
      "data": [
        {
          "instId": "BTC-JPY",
          "tradeId": "130639474",
          "px": "42219.9",
          "sz": "0.12060306",
          "side": "buy",
          "ts": "1630048897897"
        }
      ]
    }
    

    推送数据参数

    参数名 类型 描述
    arg Object 订阅成功的频道
    > channel String 频道名
    > instId String 产品ID
    data Array 订阅的数据
    > instId String 产品ID,如 BTC-JPY
    > tradeId String 成交ID
    > px String 成交价格
    > sz String 成交数量
    > side String 成交方向
    buy
    sell
    > ts String 成交时间,Unix时间戳的毫秒数格式,如 1597026383085

    WS / 深度频道

    获取深度数据,books是400档频道,books5是5档频道, bbo-tbt是先1档后实时推送的频道,books-l2-tbt是先400档后实时推送的频道,books50-l2-tbt是先50档后实时推的频道;

    身份认证参考登录功能

    服务地址

    /ws/v5/public

    请求示例

    {
        "op": "subscribe",
        "args": [{
            "channel": "books",
            "instId": "BTC-JPY"
        }]
    }
    

    请求参数

    参数 类型 是否必须 描述
    op String 操作
    subscribe
    unsubscribe
    args Array 请求订阅的频道列表
    > channel String 频道名
    books
    books5
    bbo-tbt
    books-l2-tbt
    books50-l2-tbt
    > instId String 产品ID

    返回示例

    {
        "event": "subscribe",
        "arg": {
            "channel": "books",
            "instId": "BTC-JPY"
        },
        "connId": "a4d3ae55"
    }
    

    失败示例

    {
        "event": "error",
        "code": "60012",
        "msg": "Invalid request: {\"op\": \"subscribe\", \"argss\":[{ \"channel\" : \"books\"\"instId\" : \"BTC-JPY\"}]}",
        "connId": "a4d3ae55"
    }
    

    返回参数

    参数 类型 是否必须 描述
    event String 事件
    subscribe
    unsubscribe
    error
    arg Object 订阅的频道
    > channel String 频道名
    > instId String 产品ID
    msg String 错误消息
    code String 错误码
    connId String WebSocket连接ID

    推送示例 :全量

    {
        "arg": {
            "channel": "books",
            "instId": "BTC-JPY"
        },
        "action": "snapshot",
        "data": [{
            "asks": [
                ["8476.98", "415", "0", "13"],
                ["8477", "7", "0", "2"],
                ["8477.34", "85", "0", "1"],
                ["8477.56", "1", "0", "1"],
                ["8505.84", "8", "0", "1"],
                ["8506.37", "85", "0", "1"],
                ["8506.49", "2", "0", "1"],
                ["8506.96", "100", "0", "2"]
            ],
            "bids": [
                ["8476.97", "256", "0", "12"],
                ["8475.55", "101", "0", "1"],
                ["8475.54", "100", "0", "1"],
                ["8475.3", "1", "0", "1"],
                ["8447.32", "6", "0", "1"],
                ["8447.02", "246", "0", "1"],
                ["8446.83", "24", "0", "1"],
                ["8446", "95", "0", "3"]
            ],
            "ts": "1597026383085",
            "checksum": -855196043,
            "prevSeqId": -1,
            "seqId": 123456
        }]
    }
    

    推送示例:增量

    {
        "arg": {
            "channel": "books",
            "instId": "BTC-JPY"
        },
        "action": "update",
        "data": [{
            "asks": [
                ["8476.98", "415", "0", "13"],
                ["8477", "7", "0", "2"],
                ["8477.34", "85", "0", "1"],
                ["8477.56", "1", "0", "1"],
                ["8505.84", "8", "0", "1"],
                ["8506.37", "85", "0", "1"],
                ["8506.49", "2", "0", "1"],
                ["8506.96", "100", "0", "2"]
            ],
            "bids": [
                ["8476.97", "256", "0", "12"],
                ["8475.55", "101", "0", "1"],
                ["8475.54", "100", "0", "1"],
                ["8475.3", "1", "0", "1"],
                ["8447.32", "6", "0", "1"],
                ["8447.02", "246", "0", "1"],
                ["8446.83", "24", "0", "1"],
                ["8446", "95", "0", "3"]
            ],
            "ts": "1597026383085",
            "checksum": -855196043,
            "prevSeqId": 123456,
            "seqId": 123457
        }]
    }
    

    推送数据参数

    参数名 类型 描述
    arg Object 订阅成功的频道
    > channel String 频道名
    > instId String 产品ID
    action String 推送数据动作,增量推送数据还是全量推送数据
    snapshot:全量
    update:增量
    data Array 订阅的数据
    > asks Array 卖方深度
    > bids Array 买方深度
    > ts String 数据更新时间戳,Unix时间戳的毫秒数格式,如 1597026383085
    > checksum Integer 检验和 (下方注解)
    > prevSeqId Integer 上一个推送的序列号。仅适用 booksbooks-l2-tbtbooks50-l2-tbt
    > seqId Integer 推送的序列号 (下方注解)

    序列号

    seqId是交易所行情的一个序号。如果用户通过多个websocket连接同一频道,收到的序列号会是相同的。每个instId对应一套。用户可以使用在增量推送频道的prevSeqIdseqId来构建消息序列。这将允许用户检测数据包丢失和消息的排序。正常场景下seqId的值大于prevSeqId。新消息中的prevSeqId与上一条消息的seqId匹配。最小序列号值为0,除了快照消息的prevSeqId为-1。

    异常情况:
    1. 如果一段时间内没有深度更新,OKJ将发一条消息'asks': [], 'bids': []以通知用户连接是正常的。推送的seqId跟上一条信息的一样,prevSeqId等于seqId。 2. 序列号可能由于维护而重置,在这种情况下,用户将收到一条seqId小于prevSeqId的增量消息。随后的消息将遵循常规的排序规则。

    示例
    1. 快照推送:prevSeqId = -1seqId = 10
    2. 增量推送1(正常更新):prevSeqId = 10seqId = 15
    3. 增量推送2(无更新):prevSeqId = 15seqId = 15
    4. 增量推送3(序列重置):prevSeqId = 15seqId = 3
    5. 增量推送4(正常更新):prevSeqId = 3seqId = 5

    Checksum机制

    此机制可以帮助用户校验深度数据的准确性。

    深度合并

    用户订阅增量推送(如:books400档)深度频道成功后,首先获取初始全量深度数据,当获取到增量推送数据后,更新本地全量深度数据。

    1. 如果有相同价格,则比较数量;数量为0删除此深度,数量有变化则替换此数据。
    2. 如果没有相同价格,则按照价格优劣排序(bid为价格降序,ask为价格升序),将深度信息插入到全量数据中
    计算校验和

    先用深度合并后前25档bids和asks组成一个字符串(其中ask和bid中的价格和数量以冒号连接),再计算其crc32值(32位有符号整型)。

    计算校验和

    1.bid和ask超过25档
    合并后全量深度数据(在此仅展示2档数据,实际应截取25档数据):
    
    {
        "bids": [
            ["3366.1", "7", "0", "3"],
            ["3366", "6", "3", "4"]
        ],
        "asks": [
            ["3366.8", "9", "10", "3"],
            ["3368", "8", "3", "4"]
        ]
    }
    
    校验字符串:
    "3366.1:7:3366.8:9:3366:6:3368:8"
    
    2.bid或ask不足25档  
    合并后全量深度数据:
    
    {
        "bids": [
            ["3366.1", "7", "0", "3"]
        ],
        "asks": [
            ["3366.8", "9", "10", "3"],
            ["3368", "8", "3", "4"],
            ["3372", "8", "3", "4"]
        ]
    }
    
    校验字符串:
    "3366.1:7:3366.8:9:3368:8:3372:8"
    
    1. 当bid和ask深度数据超过25档时,截取各自25档数据,要校验的字符串按照bid、ask深度数据交替方式连接。
      如:bid[价格:数量]:ask[价格:数量]:bid[价格:数量]:ask[价格:数量]...
    2. bid或ask深度数据不足25档时,直接忽略缺失的深度。
      如:bid[价格:数量]:ask[价格:数量]:asks[价格:数量]:asks[价格:数量]...

    bbo-tbt 频道推送示例

    {
      "arg": {
        "channel": "bbo-tbt",
        "instId": "BCH-JPY"
      },
      "data": [
        {
          "asks": [
            [
              "111.06","55154","0","2"
            ]
          ],
          "bids": [
            [
              "111.05","57745","0","2"
            ]
          ],
          "ts": "1670324386802",
          "seqId": 363996337
        }
      ]
    }
    

    books5 频道推送示例

    {
      "arg": {
        "channel": "books5",
        "instId": "BCH-JPY"
      },
      "data": [
        {
          "asks": [
            ["111.06","55154","0","2"],
            ["111.07","53276","0","2"],
            ["111.08","72435","0","2"],
            ["111.09","70312","0","2"],
            ["111.1","67272","0","2"]],
          "bids": [
            ["111.05","57745","0","2"],
            ["111.04","57109","0","2"],
            ["111.03","69563","0","2"],
            ["111.02","71248","0","2"],
            ["111.01","65090","0","2"]],
          "instId": "BCH-JPY",
          "ts": "1670324386802",
          "seqId": 363996337
        }
      ]
    }
    

    WS / 集合竞价信息频道

    获取集合竞价相关信息

    URL Path

    /ws/v5/public

    请求示例

    {
        "op": "subscribe",
        "args": [{
            "channel": "call-auction-details",
            "instId": "BTC-JPY"
        }]
    }
    
    

    请求参数

    参数 类型 是否必须 描述
    op String 操作,subscribe unsubscribe
    args Array 请求订阅的频道列表
    > channel String 频道名
    call-auction-details
    > instId String 产品ID

    成功返回示例

    {
      "event": "subscribe",
      "arg": {
          "channel": "call-auction-details",
          "instId": "BTC-JPY"
        },
      "connId": "a4d3ae55"
    }
    
    

    失败返回示例

    {
      "event": "error",
      "code": "60012",
      "msg": "Invalid request: {\"op\": \"subscribe\", \"argss\":[{ \"channel\" : \"call-auction-details\"\"instId\" : \"BTC-JPY\"}]}",
      "connId": "a4d3ae55"
    }
    
    

    返回参数

    参数 类型 是否必须 描述
    event String 事件,subscribe unsubscribe error
    arg Object 订阅的频道
    > channel String 频道名
    > instId String 产品ID
    code String 错误码
    msg String 错误消息
    connId String WebSocket连接ID

    推送示例

    {
      "arg": {
        "channel": "call-auction-details",
        "instId": "BTC-JPY"
      },
      "data": [
            {
                "instId": "BTC-JPY",
                "unmatchedSz": "9988764",
                "eqPx": "0.6",
                "matchedSz": "44978",
                "state": "continuous_trading",
                "auctionEndTime": "1726542000000",
                "ts": "1726542000007"
            }
      ]
    }
    
    

    推送数据参数

    参数名 类型 描述
    arg Object 订阅成功的频道
    > channel String 频道名
    > instId String 产品ID
    data Array 订阅的数据
    > instId String 产品ID
    > eqPx String 均衡价格
    > matchedSz String 买卖双边的匹配数量,单位为交易货币
    > unmatchedSz String 未匹配数量
    > auctionEndTime String 集合竞价结束时间,Unix时间戳的毫秒数格式,如 1597026383085
    > state String 交易状态
    call_auction:集合竞价
    continuous_trading:连续交易
    > ts String 数据产生时间,Unix时间戳的毫秒数格式,如 1597026383085

    资金账户

    资金功能模块下的API接口需要身份验证。

    REST API

    资金账户信息

    获取资金账户所有资产列表,查询各币种的余额、冻结和可用等信息。

    限速:6次/s

    限速规则:UserID

    HTTP请求

    GET /api/v5/asset/wallet

    请求示例

    GET /api/v5/asset/wallet
    
    
    import okx.Funding as Funding
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    flag = "0"  # 实盘: 0, 模拟盘: 1
    
    fundingAPI = Funding.FundingAPI(apikey, secretkey, passphrase, False, flag)
    
    # 获取资金账户余额
    result = fundingAPI.get_balance()
    print(result)
    

    返回结果

    [
        {
            "available":"37.11827078",
            "balance":"37.11827078",
            "currency":"ETH",
            "hold":"0"
        },
        {
            "available":"0",
            "balance":"0",
            "currency":"BTC",
            "hold":"0"
        }
    ]
    

    返回参数

    参数名 类型 描述
    currency String 币种,如 BTC
    balance String 余额
    hold String 冻结(不可用)
    available String 可用余额

    单一币种账户信息

    获取资金账户单个币种的余额、冻结和可用等信息。

    限速:6次/s

    限速规则:UserID

    HTTP请求

    GET /api/v5/asset/wallet/<currency>

    请求示例

    GET /api/v5/asset/wallet/XMR
    
    
    import okx.Funding as Funding
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    flag = "0"  # 实盘: 0, 模拟盘: 1
    
    fundingAPI = Funding.FundingAPI(apikey, secretkey, passphrase, False, flag)
    
    # 获取资金账户余额
    result = fundingAPI.get_balance_by_currency(
        currency="XMR"
    )
    print(result)
    

    请求参数

    参数 类型 是否必须 描述
    currency String 币种

    返回结果

    [{
        "balance":"300.00000000",
        "available":"300.00000000",
        "hold":"0.00000000"
    }]
    

    返回参数

    参数名 类型 描述
    balance String 余额
    hold String 冻结(不可用)
    available String 可用余额

    获取币种列表

    获取平台所有币种列表。并非所有币种都可被用于交易。在ISO 4217标准中未被定义的币种代码可能使用的是自定义代码。

    限速:6次/s

    限速规则:UserID

    HTTP 请求

    GET /api/v5/asset/currencies

    请求示例

    GET /api/v5/asset/currencies
    
    
    import okx.Funding as Funding
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    flag = "0"  # 实盘: 0, 模拟盘: 1
    
    fundingAPI = Funding.FundingAPI(apikey, secretkey, passphrase, False, flag)
    
    # 获取币种列表
    result = fundingAPI.get_currencies()
    print(result)
    

    返回结果

    [
        {
            "can_deposit":"1",
            "can_withdraw":"1",
            "currency":"PLT",
            "chain":"Palette(pPLT)",
            "min_withdrawal":"0.1",
            "name":""
        },
        {
            "can_deposit":"1",
            "can_withdraw":"1",
            "currency":"PLT",
            "chain":"Ethereum(ePLT)",
            "min_withdrawal":"0.1",
            "name":""
        }
    ]
    

    返回参数

    参数名 类型 描述
    currency String 币种名称,如 BTC
    chain String 提币币种链信息
    name String 币种中文名称,不显示则无对应名称
    can_deposit String 是否可充值,0表示不可充值,1表示可以充值
    can_withdraw Boolean 是否可提币,0表示不可提币,1表示可以提币
    min_withdrawal Boolean 币种最小提币量

    获取账户资产估值

    按照btc或法币计价单位,获取账户总资产的估值。

    限速:1次/30s

    限速规则:UserID

    HTTP请求

    GET /api/v5/asset/asset-valuation

    请求示例

    GET /api/v5/asset/asset-valuation
    
    import okx.Funding as Funding
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    flag = "0"  # 实盘: 0, 模拟盘: 1
    
    fundingAPI = Funding.FundingAPI(apikey, secretkey, passphrase, False, flag)
    
    # 获取账户资产估值
    result = fundingAPI.get_asset_valuation()
    print(result)
    

    请求参数

    参数 类型 是否必须 描述
    account_type String 获取某一个业务线资产估值,默认为0,查询总资产。
    0.预估总资产
    18.交易账户
    6.资金账户

    返回结果

    {
        "account_type": "0",
        "balance": 0.00878181,
        "valuation_currency": "JPY",
        "timestamp": "2019-12-09T10:28:23.002Z"
    }
    

    返回参数

    参数名 类型 描述
    valuation_currency String 按照JPY为单位的估值
    balance String 预估资产
    timestamp String 数据返回时间
    account_type String 账户类型

    资金划转

    OKCoinJapan站内在资金账户、交易账户之间进行资金划转。

    限速:1次/2s

    限速规则:UserID + Currency

    HTTP 请求

    POST /api/v5/asset/transfer

    请求示例

    # 从资金账户划转1.5btc到交易账户
    POST /api/v5/asset/transfer
    body 
    {
        "currency":"btc",
        "amt":"1.5",
        "from":"6",
        "to":"18"
    }
    
    
    import okx.Funding as Funding
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    flag = "0"  # 实盘: 0, 模拟盘: 1
    
    fundingAPI = Funding.FundingAPI(apikey, secretkey, passphrase, False, flag)
    
    # 资金划转
    result = fundingAPI.transfer(
        currency="BTC",
        amount="1.5",
        from_="6",
        to="18"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    currency String 币种,如jpy
    amount String 划转数量
    from String 转出账户
    6:资金账户
    18:交易账户
    to String 转入账户
    6:资金账户
    18:交易账户

    返回结果

    {
        "transfer_id": "754147",
        "currency": "LTC",
        "from": "6",
        "amount": "0.1",
        "to": "1",
        "result": true
    }
    

    返回参数

    参数名 类型 描述
    transfer_id String 划转ID
    currency String 划转币种
    from String 转出账户
    amount String 划转量
    to String 转入账户
    result String 划转结果。若是划转失败,将给出错误码提示

    账单流水查询

    查询资金账户账单流水,可查询最近一个月的数据

    限速:20次/2s

    限速规则:UserID

    HTTP 请求

    GET /api/v5/asset/ledger

    请求示例

    GET /api/v5/asset/ledger?type=2&currency=btc&after=9260348&limit=10
    
    
    import okx.Funding as Funding
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    flag = "0"  # 实盘: 0, 模拟盘: 1
    
    fundingAPI = Funding.FundingAPI(apikey, secretkey, passphrase, False, flag)
    
    # 获取资金流水
    result = fundingAPI.get_ledger_record()
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    currency String 币种,如BTC ,不填时返回所有的账单流水
    after String 请求此id之前(更旧的数据)的分页内容,传的值为对应接口的ledger_id
    before String 请求此id之后(更新的数据)的分页内容,传的值为对应接口的ledger_id
    limit String 分页返回的结果集数量,最大为100,不填默认返回100条
    type String 1: 充值
    2: 提现
    13: 撤销提现
    130: 转入资金
    131: 资金账户转出

    返回结果

    [
        {
            "amount":"-0.00100941",
            "balance":"0",
            "currency":"BTC",
            "fee":"0",
            "ledger_id":"9260348",
            "timestamp":"2018-10-19T01:12:21.000Z",
            "type":"To trading account"
        },
        {
            "amount":"0.00051843",
            "balance":"0.00100941",
            "currency":"BTC",
            "fee":"0",
            "ledger_id":"8987285",
            "timestamp":"2018-10-12T11:01:14.000Z",
            "type":"Get from activity"
        }
    ]
    

    返回参数

    参数名 类型 描述
    ledger_id String 账单ID
    currency String 币种
    balance String 余额
    amount String 变动数量
    type String 账单类型
    fee String 手续费
    timestamp String 账单创建时间

    获取用户银行卡列表

    获取用户绑定的所有银行卡列表

    限速:6次/s

    限速规则:UserID

    HTTP请求

    GET /api/v5/asset/bank-card-list

    请求示例

    GET /api/v5/asset/bank-card-list
    
    
    import okx.Funding as Funding
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    flag = "0"  # 实盘: 0, 模拟盘: 1
    
    fundingAPI = Funding.FundingAPI(apikey, secretkey, passphrase, False, flag)
    
    # 获取用户银行卡列表
    result = fundingAPI.get_bank_card()
    print(result)
    

    返回结果

    [
        {
             "bank_card_id": "1",
             "card_number": "123456",
             "bank_name": "PayPay銀行",
             "branch_name": "はやぶさ支店",
             "available": true
        },
        {
             "bank_card_id": "2",
             "card_number": "123457",
             "bank_name": "PayPay銀行",
             "branch_name": "はやぶさ支店",
             "available": true
        }
    ]
    

    返回参数

    参数名 类型 描述
    bank_card_id String 银行卡id
    card_number String 银行卡号
    bank_name String 银行名称
    branch_name String 支店名称
    available Boolean 是否可用,false不可用,true可用

    提现

    日元提现API接口,默认将资金提现至最近一笔提现订单的银行卡,若此卡不可用,则提现到最新添加或修改的银行卡。

    限速:1次/120s

    限速规则:UserID

    HTTP请求

    POST /api/v5/asset/jpywithdrawal

    请求示例

    POST /api/v5/asset/jpywithdrawal
    body
    {
        "amount":"10000",
        "trade_pwd":"123456",
        "bank_card_id":"1"
    }
    
    
    import okx.Funding as Funding
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    flag = "0"  # 实盘: 0, 模拟盘: 1
    
    fundingAPI = Funding.FundingAPI(apikey, secretkey, passphrase, False, flag)
    
    # 提现
    result = fundingAPI.fiat_withdraw(
        amount="10000",
        trade_pwd="123456",
        bank_card_id="1"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    amount String 提现金额
    trade_pwd String 交易密码
    bank_card_id String 提现银行卡id

    返回结果

    {
        "amount":"10000",
        "withdraw_id":2412031209191611,
        "result":true
    }
    

    返回参数

    参数名 类型 描述
    amount String 提现金额
    withdraw_id String 提现申请ID
    result String 提现申请结果。若是提现申请失败,将给出错误码提示

    查询提现记录

    查询日元的提现记录。

    限速:6次/1s

    限速规则:UserID

    HTTP请求

    GET /api/v5/asset/jpyWithdrawal/history

    请求示例

    GET /api/v5/asset/jpyWithdrawal/history
    
    
    import okx.Funding as Funding
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    flag = "0"  # 实盘: 0, 模拟盘: 1
    
    fundingAPI = Funding.FundingAPI(apikey, secretkey, passphrase, False, flag)
    
    # 提现记录查询
    result = fundingAPI.fiat_withdraw_history()
    print(result)
    

    返回结果

    [
        {
            "amount":"10000",
            "withdraw_id":2412031209191611,
            "fee":"400",
            "status":"1",
            "timestamp":"2018-09-30T02:49:29.001Z"
        },
        {
            "amount":"19800",
            "withdraw_id":2412031158328186,
            "fee":"400",
            "status":"4",
            "timestamp":"2018-09-28T01:09:19.022Z"
        }
    ]
    

    返回参数

    参数名 类型 描述
    amount String 提现金额
    withdraw_id String 提现申请ID
    fee String 提现手续费
    status String 提现状态
    1:待处理
    2:提现中
    4:提现成功
    5:撤销中
    6:已撤销
    7:不可提现
    8:已返还
    9:提现失败
    timestamp String 时间戳

    解释说明

    最多返回最近100条记录。

    查询充值记录

    查询日元的充值记录。

    限速:6次/s

    限速规则:UserID

    HTTP请求

    GET /api/v5/asset/jpyDeposit/history

    请求示例

    GET /api/v5/asset/jpyDeposit/history
    
    
    import okx.Funding as Funding
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    flag = "0"  # 实盘: 0, 模拟盘: 1
    
    fundingAPI = Funding.FundingAPI(apikey, secretkey, passphrase, False, flag)
    
    # 查询日元的充值记录
    result = fundingAPI.fiat_deposit_history()
    print(result)
    

    返回结果

    [
        {
            "amount":"10000",
            "status":"1",
            "timestamp":"2019-11-30T02:39:29.012Z"
        },
        {
            "amount":"7800",
            "status":"4",
            "timestamp":"2019-10-21T02:04:49.122Z"
        }
    ]
    

    返回参数

    参数名 类型 描述
    amount String 充值金额
    status String 充值状态
    1:受理中
    2:确认中
    4:充值成功
    8:已实施退款处理
    timestamp String 时间戳

    解释说明

    最多返回最近100条记录。

    提币

    支持资金账户资产提币。普通子账户不支持提币。

    限速:1次/10s

    限速规则:UserID

    HTTP请求

    POST /api/v5/asset/withdrawal

    请求示例

    POST /api/v5/asset/withdrawal
    body
    {
        "amount":"1",
        "fee":"0.0005",
        "trade_pwd":"123456",
        "currency":"BTC",
        "to_address":"17DKe3kkkkiiiiTvAKKi2vMPbm1Bz3CMKw",
        "usage_agreement":"1",
        "reason":"2"
    }
    
    
    import okx.Funding as Funding
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    flag = "0"  # 实盘: 0, 模拟盘: 1
    
    fundingAPI = Funding.FundingAPI(apikey, secretkey, passphrase, False, flag)
    
    # 提币
    result = fundingAPI.coin_withdraw(
        currency="PEPE",
        amount="100",
        destination="-1",
        to_address="0x730dfca513a58be208fbe27c2dc00fa423626ebf",
        trade_pwd="123456",
        fee="0.5",
        reason="1",
        usage_agreement="1"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    currency String 币种
    amount String 数量
    destination String 提币到: 5:OKCoinJapan -1:数字货币地址
    to_address String 已经在地址簿中的通过认证的数字货币地址或邮箱。某些数字货币地址格式为: '地址:标签',例:'ARDOR-7JF3-8F2E-QUWZ-CAN7F:123456'
    trade_pwd String 交易密码
    fee String 可选 网络手续费≥0。提币到数字货币地址所需网络手续费可通过提币手续费接口查询。最小设定单位0.0001。使用内部转账时,请设定0。
    chain String 可选 币种链信息。有的币种下有多个链,必须要做区分,如PLT有Palette(pPLT)和Ethereum(ePLT)。如果一个币存在多链,则此参数必须设定。
    usage_agreement String 可选 指定1表示您已确认该提币地址不是来自交易禁止对象国,并且不受国家重要人物或其亲属(PEPs)管辖。 关于交易禁止对象国 关于外国人PEPs
    reason String 目的/理由
    1: 发送到本人的外部钱包
    2: 投资・资产运用
    3: 生活费
    4: 学费
    5: 旅费
    6: 工资
    7: 业务委托费
    8: 慰问金・礼金・礼品
    9: 捐款
    10: 服务手续费
    11: (国内)商品购入
    12: 进口付款和中介贸易付款的结算
    99: 其它

    Notes

    当目的/理由选择 【进口付款和中介贸易付款的结算】或【其他】时,由于需要确认更多详细的细节,可能需要更长的时间来完成提币。

    返回结果

    {
        "amount":"0.1",
        "withdraw_id":67485,
        "currency":"BTC",
        "chain":"BTC",
        "result":true
    }
    

    返回参数

    参数名 类型 描述
    currency String 提币币种
    chain String 提币币种链信息
    amount String 提币数量
    withdraw_id String 提币申请ID
    result String 提币申请结果。若是提币申请失败,将给出错误码提示

    查询所有币种的提币记录

    查询最近所有币种的提币记录,为最近100条记录。

    限速:6 次/s

    限速规则:UserID

    HTTP 请求

    GET /api/v5/asset/withdrawal/history

    请求示例

    GET /api/v5/asset/withdrawal/history
    
    import okx.Funding as Funding
    
    # API Initialization
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    flag = "0"  # Live trading: 0, Demo trading: 1
    
    fundingAPI = Funding.FundingAPI(apikey, secretkey, passphrase, False, flag)
    
    # 获取提币记录
    result = fundingAPI.get_coins_withdraw_record()
    print(result)
    

    请求参数

    返回结果

    [
        {
            "withdraw_id":"1",
            "amount":"0.094",
            "fee":"0.01000000eth",
            "txid":"0x62477bac6509a04512819bb1455e923a60dea5966c7caeaa0b24eb8fb0432b85",
            "currency":"ETH",
            "chain":"ETH",
            "from":"13426335357",
            "to":"0xA41446125D0B5b6785f6898c9D67874D763A1519",
            "timestamp":"2018-04-22T23:09:45.000Z",
            "status":"2"
        },
        {
            "withdraw_id":"2",
            "amount":"0.01",
            "fee":"0.00000000btc",
            "txid":"",
            "currency":"BTC",
            "chain":"BTC",
            "from":"13426335357",
            "to":"13426335357",
            "timestamp":"2018-05-17T02:43:08.000Z",
            "status":"4"
        }
    ]
    

    返回参数

    参数名 类型 描述
    withdraw_id String 提币申请ID
    currency String 币种
    amount String 数量
    timestamp String 提币申请时间
    status String
    1:等待提币
    2:提币中
    3:审核中
    4:提币成功
    5:撤销中
    6:已撤销
    7:提币失败
    8:已退款
    from String 提币地址(如果提币地址是OKCoinJapan平台地址,则此处将显示用户电话号码或邮箱地址)
    to String 收币地址
    tag String 部分币种提币需要标签,若不需要则不返回此字段
    txId String 提币哈希记录(内部转账将不返回此字段)
    fee String 提币手续费
    chain String 提币币种链信息

    查询单个币种的提币记录

    查询单个币种提币记录

    限速:6 次/s

    限速规则:UserID

    HTTP 请求

    GET /api/v5/asset/withdrawal/history/<currency>

    请求示例

    GET /api/v5/asset/withdrawal/history/btc
    
    import okx.Funding as Funding
    
    # API Initialization
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    flag = "0"  # Live trading: 0, Demo trading: 1
    
    fundingAPI = Funding.FundingAPI(apikey, secretkey, passphrase, False, flag)
    
    # 获取单个币种提币记录
    result = fundingAPI.get_coin_withdraw_record(
        currency="BTC"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    currency String 币种

    返回结果

    [
        {
            "withdraw_id":"1",
            "amount":"0.01105486",
            "fee":"0.00000000btc",
            "currency":"BTC",
            "chain":"BTC",
            "txid": "66602e279569ba319a929f5bda731d228962bc67cd89dfa0d432d82722681d66",
            "from":"13426335357",
            "to":"13426335357",
            "timestamp":"2018-09-30T02:49:29.000Z",
            "status": "2"
        },
        {
            "withdraw_id":"2",
            "amount":"0.01144408",
            "fee":"0.00000000btc",
            "currency":"BTC",
            "chain":"BTC",
            "txid": "66602e279569ba319a929f5bda731d228962456475467d89dfa0d432d82722681d66",
            "from":"13426335357",
            "to":"13426335357",
            "timestamp":"2018-09-18T00:44:56.000Z",
            "status": "2"
        }
    ]
    

    返回参数

    参数名 类型 描述
    withdraw_id String 提币申请ID
    currency String 币种
    amount String 数量
    timestamp String 提币申请时间
    status String
    1:等待提币
    2:提币中
    3:审核中
    4:提币成功
    5:撤销中
    6:已撤销
    7:提币失败
    8:已退款
    from String 提币地址(如果提币地址是OKCoinJapan平台地址,则此处将显示用户电话号码或邮箱地址)
    to String 收币地址
    tag String 部分币种提币需要标签,若不需要则不返回此字段
    txId String 提币哈希记录(内部转账将不返回此字段)
    fee String 提币手续费和对应币种,如0.00000009btc
    chain String 提币币种链信息

    获取充值地址信息

    获取各个币种的充值地址,包括曾使用过的老地址。

    限速:20次/2s

    限速规则:UserID

    HTTP请求

    GET /api/v5/asset/deposit/address

    请求示例

    GET /api/v5/asset/deposit/address?currency=BTC
    
    
    import okx.Funding as Funding
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    flag = "0"  # 实盘: 0, 模拟盘: 1
    
    fundingAPI = Funding.FundingAPI(apikey, secretkey, passphrase, False, flag)
    
    # 获取充值地址信息
    result = fundingAPI.get_deposit_address(
        currency="BTC"
    )
    print(result)
    

    请求参数

    参数 类型 是否必须 描述
    currency String 币种,如BTC

    返回结果

    [
        {
            "address": "2Mti44L7thuxyzYiGzZyCcm9R7d7jgGwzZK",
            "chain": "BTC",
        }
    ]
    

    返回参数

    参数名 类型 描述
    address String 充值地址
    tag String 部分币种充值需要标签,若不需要则不返回此字段
    chain String 币种链信息

    解释说明

    某些币充值到账,需要同时填写OKCoinJapan返回的充值地址和一个tag/payment_id/memo。如果未遵守正确的充值步骤,币会丢失!

    获取所有币种充值记录

    获取所有币种的充值记录,最多返回最近100条记录。

    限速:6次/s

    限速规则:UserID

    HTTP 请求

    GET /api/v5/asset/deposit/history

    请求示例

    GET /api/v5/asset/deposit/history
    
    
    import okx.Funding as Funding
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    flag = "0"  # 实盘: 0, 模拟盘: 1
    
    fundingAPI = Funding.FundingAPI(apikey, secretkey, passphrase, False, flag)
    
    # 获取充值记录
    result = fundingAPI.get_deposit_history()
    print(result)
    

    返回结果

    [
        {
            "amount":"0.01044408",
            "txid":"1915737_3_0_0_WALLET",
            "currency":"BTC",
            "chain":"BTC",
            "deposit_id":"1",
            "to":"",
            "timestamp":"2018-09-30T02:45:50.000Z",
            "status":"1"
        },
        {
            "amount":"491.6784211",
            "txid":"1744594_3_184_0_WALLET",
            "currency":"BTC",
            "chain":"BTC",
            "deposit_id":"2",
            "to":"",
            "timestamp":"2018-08-21T08:03:10.000Z",
            "status":"2"
        },
        {
            "amount":"223.18782496",
            "txid":"6d892c669225b1092c780bf0da0c6f912fc7dc8f6b8cc53b003288624c",
            "currency":"ETH",
            "chain":"ETH",
            "deposit_id":"3",
            "to":"39kK4XvgEuM7rX9frgyHoZkWqx4iKu1spD",
            "timestamp":"2018-08-17T09:18:40.000Z",
            "status":"4"
        }
    ]
    

    返回参数

    参数名 类型 描述
    currency String 币种名称,如 BTC
    amount String 充值数量
    deposit_id String 充值 ID
    to String 到账地址
    tag String 部分币种充值需要标签,若不需要则不返回此字段
    txid String 区块转账哈希记录
    timestamp String 充值到账时间
    status String 充值状态
    1:等待确认
    2:充值中
    3:审核中
    4:充值成功
    7:充值失败
    chain String 充值币种链信息

    获取单个币种充值记录

    获取单个币种的充值记录,最多返回最近100条记录。

    限速:6次/s

    限速规则:UserID

    HTTP 请求

    GET /api/v5/asset/deposit/history/<currency>

    请求示例

    GET /api/v5/asset/deposit/history/btc
    
    
    import okx.Funding as Funding
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    flag = "0"  # 实盘: 0, 模拟盘: 1
    
    fundingAPI = Funding.FundingAPI(apikey, secretkey, passphrase, False, flag)
    
    # 获取充值记录
    result = fundingAPI.get_deposit_history_by_currency(
        currency="BTC"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    currency String 币种

    返回结果

    [
        {
            "amount":"0.0835",
            "currency":"BTC",
            "chain":"BTC",
            "deposit_id":"1",
            "txid":"6d892c669225b1092c780bf0da0c6f912fc3e8f997dc8f6b8cc53b003288624c",
            "to":"39kK4XvgEuM7rX9frgyHoZkWqx4iKu1spD",
            "timestamp":"2018-06-09T07:57:09.000Z",
            "status":"2"
        },
        {
            "amount":"0.01",
            "currency":"BTC",
            "chain":"BTC",
            "deposit_id":"2",
            "txid":"590426_1_0_WALLET",
            "to":"",
            "timestamp":"2018-05-30T01:33:40.000Z",
            "status":"2"
        }
    ]
    

    返回参数

    参数名 类型 描述
    currency String 币种名称,如 BTC
    amount String 充值数量
    deposit_id String 充值 ID
    to String 到账地址
    tag String 部分币种充值需要标签,若不需要则不返回此字段
    txid String 区块转账哈希记录
    timestamp String 充值到账时间
    status String 充值状态
    1:等待确认
    2:充值中
    3:审核中
    4:充值成功
    7:充值失败
    chain String 充值币种链信息

    提币手续费

    查询提现到数字货币地址时,建议网络手续费信息。手续费越高,网络确认越快。

    限速:6次/s

    限速规则:UserID

    HTTP 请求

    GET /api/v5/asset/withdrawal/fee

    请求示例

    GET /api/v5/asset/withdrawal/fee?currency=btc
    
    
    import okx.Funding as Funding
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    flag = "0"  # 实盘: 0, 模拟盘: 1
    
    fundingAPI = Funding.FundingAPI(apikey, secretkey, passphrase, False, flag)
    
    # 获取提币手续费
    result = fundingAPI.get_coin_fee()
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    currency String 币种,不填则返回所有

    返回结果

    [
        {
            "currency":"BTC",
            "chain":"BTC",
            "max_fee":"0.02",
            "min_fee":"0.0005"
        },
        {
            "currency":"LTC",
            "chain":"LTC",
            "max_fee":"0.2",
            "min_fee":"0.001"
        },
        {
            "currency":"ETH",
            "chain":"ETH",
            "max_fee":"0.2",
            "min_fee":"0.01"
        }
    ]
    

    返回参数

    参数名 类型 描述
    currency String 币种
    chain String 币种链信息
    min_fee String 最小提币手续费数量
    max_fee String 最大提币手续费数量

    公共数据

    公共数据功能模块下的API接口不需要身份验证。

    REST API

    获取交易产品基础信息

    获取所有可交易产品的信息列表。

    限速:20次/2s

    限速规则:IP +instType

    HTTP请求

    GET /api/v5/public/instruments

    请求示例

    GET /api/v5/public/instruments?instType=SPOT
    
    import okx.PublicData as PublicData
    
    flag = "0"  # 实盘:0 , 模拟盘:1
    
    publicDataAPI = PublicData.PublicAPI(flag=flag)
    
    # 获取交易产品基础信息
    result = publicDataAPI.get_instruments(
        instType="SPOT"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instType String 产品类型
    SPOT:币币
    instId String 产品ID

    返回结果

    {
        "code":"0",
        "msg":"",
        "data":[
          {
                "alias": "",
                "auctionEndTime": "",
                "baseCcy": "BTC",
                "category": "1",
                "expTime": "",
                "instId": "BTC-JPY",
                "instType": "SPOT",
                "listTime": "1606468572000",
                "lotSz": "0.00000001",
                "maxIcebergSz": "9999999999.0000000000000000",
                "maxLmtAmt": "1000000",
                "maxLmtSz": "9999999999",
                "maxMktAmt": "1000000",
                "maxMktSz": "",
                "maxStopSz": "",
                "maxTriggerSz": "9999999999.0000000000000000",
                "maxTwapSz": "9999999999.0000000000000000",
                "minSz": "0.00001",
                "quoteCcy": "JPY",
                "state": "live",
                "ruleType": "normal",
                "tickSz": "0.1"
            }
        ]
    }
    

    返回参数

    参数名 类型 描述
    instType String 产品类型
    instId String 产品id,如 BTC-JPY
    category String 币种类别(已废弃)
    baseCcy String 交易货币币种,如 BTC-JPY 中的 BTC
    quoteCcy String 计价货币币种,如 BTC-JPY 中的 JPY
    listTime String 上线时间
    Unix时间戳的毫秒数格式,如 1597026383085
    auctionEndTime String 集合竞价结束时间,Unix时间戳的毫秒数格式,如 1597026383085
    仅适用于通过集合竞价方式上线的币币,其余情况返回""
    expTime String 产品下线时间,亦可以为产品下线时间,有变动就会推送。
    tickSz String 下单价格精度,如 0.0001
    lotSz String 下单数量精度,现货的数量单位是交易货币
    minSz String 最小下单数量,现货的数量单位是交易货币
    state String 产品状态
    live:交易中
    suspend:暂停中
    preopen:预上线,部分交易产品上线前
    test:测试中(测试产品,不可交易)
    ruleType String 交易规则类型
    normal:普通交易
    pre_market:盘前交易
    maxLmtSz String 限价单的单笔最大委托数量,现货的数量单位是交易货币
    maxMktSz String 市价单的单笔最大委托数量
    maxLmtAmt String 限价单的单笔最大价值
    maxMktAmt String 市价单的单笔最大价值
    maxTwapSz String 时间加权单的单笔最大委托数量,现货的数量单位是交易货币。单笔最小委托数量为 minSz*2
    maxIcebergSz String 冰山委托的单笔最大委托数量,现货的数量单位是交易货币
    maxTriggerSz String 计划委托委托的单笔最大委托数量,现货的数量单位是交易货币
    maxStopSz String 止盈止损市价委托的单笔最大委托数量

    获取系统时间

    获取系统时间

    限速:10次/2s

    限速规则:IP

    HTTP请求

    GET /api/v5/public/time

    请求示例

    GET /api/v5/public/time
    
    import okx.PublicData as PublicData
    
    flag = "0"  # 实盘:0 , 模拟盘:1
    
    publicDataAPI = PublicData.PublicAPI(flag=flag)
    
    # 获取系统时间
    result = publicDataAPI.get_system_time()
    print(result)
    

    返回结果

    {
        "code":"0",
        "msg":"",
        "data":[
        {
            "ts":"1597026383085"
        }
      ]
    }
    

    返回参数

    参数名 类型 描述
    ts String 系统时间,Unix时间戳的毫秒数格式,如 1597026383085

    WebSocket

    产品频道

    当有产品状态变化时(如新合约/币对上线、人工暂停/恢复交易等),推送产品的增量数据。

    URL Path

    /ws/v5/public

    请求示例

    { 
      "op": "subscribe",  
      "args":   [    
        {     
          "channel": "instruments",
          "instType": "SPOT"
        }
      ] 
    }
    

    请求参数

    参数 类型 是否必须 描述
    op String 操作
    subscribe
    unsubscribe
    args Array 请求订阅的频道列表
    > channel String 频道名
    instruments
    > instType String 产品类型
    SPOT:币币

    成功返回示例

    {
        "event": "subscribe",
        "arg": {
            "channel": "instruments",
            "instType": "SPOT"
        },
        "connId": "a4d3ae55"
    }
    

    失败返回示例

    {
        "event": "error",
        "code": "60012",
        "msg": "Invalid request: {\"op\": \"subscribe\", \"argss\":[{ \"channel\" : \"instruments\", \"instType\" : \"FUTURES\"}]}",
        "connId": "a4d3ae55"
    }
    

    返回参数

    参数 类型 是否必须 描述
    event String 事件
    subscribe
    unsubscribe
    error
    arg Object 订阅的频道
    > channel String 频道名
    > instType String 产品类型
    SPOT:币币
    code String 错误码
    msg String 错误消息
    connId String WebSocket连接ID

    推送示例

    {
      "arg": {
        "channel": "instruments",
        "instType": "SPOT"
      },
      "data": [
        {
            "auctionEndTime": "",
            "baseCcy": "BTC",
            "expTime": "",
            "instId": "BTC-JPY",
            "instType": "SPOT",
            "listTime": "1606468572000",
            "lotSz": "0.00000001",
            "maxLmtSz": "9999999999",
            "maxMktSz": "",
            "maxStopSz": "",
            "minSz": "0.00001",
            "quoteCcy": "JPY",
            "state": "live",
            "ruleType": "normal",
            "tickSz": "0.1"
        }
      ]
    }
    

    推送数据参数

    参数名 类型 描述
    arg Object 订阅的频道
    > channel String 频道名
    > instType String 产品类型
    data Array 订阅的数据
    > instType String 产品类型
    > instId String 产品ID,如 BTC-JPY
    > baseCcy String 交易货币币种,如 BTC-JPYBTC,仅适用于币币
    > quoteCcy String 计价货币币种,如 BTC-JPYJPY,仅适用于币币
    > listTime String 上线时间
    > auctionEndTime String 集合竞价结束时间,Unix时间戳的毫秒数格式,如 1597026383085
    仅适用于通过集合竞价方式上线的币币,其余情况返回""
    > expTime String 产品下线时间
    适用于币币;如果币币产品人工下线,为产品下线时间,有变动就会推送。
    > tickSz String 下单价格精度,如 0.0001
    > lotSz String 下单数量精度
    现货的数量单位是交易货币
    > minSz String 最小下单数
    现货的数量单位是交易货币
    > state String 产品状态
    live:交易中
    suspend:暂停中
    expired:已过期
    preopen:预上线,部分交易产品上线前
    test:测试中(测试产品,不可交易)
    > ruleType String 交易规则类型
    normal:普通交易
    pre_market:盘前交易
    > maxLmtSz String 限价单的单笔最大委托数量
    现货的数量单位是交易货币
    > maxMktSz String 市价单的单笔最大委托数量
    现货的数量单位是JPY
    > maxStopSz String 止盈止损市价委托的单笔最大委托数量
    现货的数量单位是JPY

    限价频道

    获取交易产品的最高买价和最低卖价。限价有变化时,每秒推送一次数据,限价没变化时,不推送数据

    URL Path

    /ws/v5/public

    请求示例

    {
        "op": "subscribe",
        "args": [{
            "channel": "price-limit",
            "instId": "BTC-JPY"
        }]
    }
    

    请求参数

    参数 类型 是否必须 描述
    op String 操作
    subscribe
    unsubscribe
    args Array 请求订阅的频道列表
    > channel String 频道名
    price-limit
    > instId String 产品ID

    成功返回示例

    {
        "event": "subscribe",
        "arg": {
            "channel": "price-limit",
            "instId": "BTC-JPY"
        },
        "connId": "a4d3ae55"
    }
    

    失败返回示例

    {
        "event": "error",
        "code": "60012",
        "msg": "Invalid request: {\"op\": \"subscribe\", \"argss\":[{ \"channel\" : \"price-limit\"\"instId\" : \"BTC-JPY\"}]}",
        "connId": "a4d3ae55"
    }
    

    返回参数

    参数 类型 是否必须 描述
    event String 事件
    subscribe
    unsubscribe
    error
    arg Object 订阅的频道
    > channel String 频道名
    > instId String 产品ID
    code String 错误码
    msg String 错误消息
    connId String WebSocket连接ID

    推送示例

    {
        "arg": {
            "channel": "price-limit",
            "instId": "BTC-JPY"
        },
        "data": [{
            "instId": "BTC-JPY",
            "buyLmt": "200",
            "sellLmt": "300",
            "ts": "1597026383085",
            "enabled": true
        }]
    }
    

    推送数据参数

    参数名 类型 描述
    arg Object 订阅成功的频道
    > channel String 频道名
    > instId String 产品ID
    data Array 订阅的数据
    > instType String 产品类型
    > instId String 产品ID,如 BTC-JPY
    > buyLmt String 最高买价
    当enabled为false时,返回""
    > sellLmt String 最低卖价
    当enabled为false时,返回""
    > ts String 限价数据更新时间 ,Unix时间戳的毫秒数格式,如 1597026383085
    > enabled Boolean 限价是否生效
    true:限价生效
    false:限价不生效

    错误码

    REST API

    REST API 错误码从 50000 到 59999

    公共

    错误码从 50000 到 53999

    通用类

    错误码 HTTP 状态码 错误提示
    0 200
    1 200 操作全部失败
    2 200 批量操作部分成功
    50000 400 POST请求的body不能为空
    50001 503 服务暂时不可用,请稍后重试
    50002 400 JSON 语法错误
    50004 400 接口请求超时(不代表请求成功或者失败,请检查请求结果)
    50005 410 接口已下线或无法使用
    50006 400 无效的 Content-Type,请使用“application/JSON”格式
    50007 200 用户被冻结
    50008 200 用户不存在
    50009 200 用户处于爆仓冻结
    50010 200 用户ID为空
    50011 200 用户请求频率过快,超过该接口允许的限额。请参考 API 文档并限制请求
    50011 429 请求频率太高
    50012 200 账户状态无效,请检查帐户的状态
    50013 429 当前系统繁忙,请稍后重试
    50014 400 必填参数{param0}不能为空
    50015 400 参数{param0}和{param1}不能同时为空
    50016 400 参数{param0}和{param1}不匹配
    50017 200 当前仓位处于自动减仓 (ADL) 冻结中,无法进行相关操作,请稍后重试
    50018 200 {param0} 处于自动减仓 (ADL) 冻结中,无法进行相关操作,请稍后重试
    50019 200 当前账户处于自动减仓 (ADL) 冻结中,无法进行相关操作,请稍后重试
    50020 200 当前仓位处于强平冻结中,无法进行相关操作,请稍后重试
    50021 200 {param0} 处于强平冻结中,无法进行相关操作,请稍后重试
    50022 200 当前账户处于强平冻结中,无法进行相关操作,请稍后重试
    50023 200 资金费冻结,无法进行相关操作,请稍后重试
    50024 200 参数{param0}和{param1}不能同时存在
    50025 200 参数{param0}传值个数超过最大限制{param1}
    50026 500 系统错误,请稍后重试
    50027 200 当前账户已被限制交易,请联系客服处理
    50028 200 账户异常无法下单
    50029 200 你的账户已经触发风控体系,禁止交易该标的,请检查您在欧易注册的电子邮件以便我们的客服联系
    50030 200 您没有使用此 API 接口的权限
    50032 200 您的账户已设置禁止该币种交易,请确认后重试
    50033 200 您的账户已设置禁止该业务线交易,请确认后重试
    50035 403 该接口要求APIKey必须绑定IP
    50036 200 expTime 不能早于当前系统时间,请调整 expTime 后重试
    50037 200 订单已过期
    50038 200 模拟交易不支持该功能
    50039 200 时间戳分页时,不支持使用before参数
    50040 200 操作频繁,请稍后重试
    50041 200 用户 ID 未被列入白名单列表,请联系客服
    50044 200 必须指定一种broker类型
    50047 200 {param0} 已经交割,对应的K线请使用{param1}查询
    50048 200 切换对冲单元可能导致仓位风险水平升高,引起强制平仓。请调整仓位,使保证金处于安全状态。
    50049 200 无仓位档位信息,该币种不支持杠杆交易
    50050 200 您已开通期权交易服务,请勿重复开通
    50051 200 由于您所在国家或地区的合规限制,您无法使用该功能
    50052 200 根据当地的法律法规,您无法交易您选择的币种
    50053 200 该功能只支持模拟盘
    50055 200 资产重置失败,超过每日设置5次资产上限
    50056 200 当前账户有交易挂单或持仓,请完成全部撤单/平仓后进行重置
    50057 200 资产重置失败,请稍后重试
    50058 200 该币种不支持资产重置
    50059 200 继续下一步之前,请按照当地监管机构的要求完成额外步骤。您可以前往欧易网页端或 App 端了解详情。
    50060 200 根据当地法律法规,您需要完成身份认证方可继续使用我们的服务。
    50061 200 订单请求频率过快,超过账户允许的最高限额
    50062 200 该功能暂不可用
    50063 200 激活失败,您的体验金可能已过期或已激活
    50064 200 借币系统暂不可用,请稍后再试

    API 类

    错误码 HTTP 状态码 错误提示
    50100 400 Api 已被冻结,请联系客服处理
    50101 401 APIKey 与当前环境不匹配
    50102 401 请求时间戳过期
    50103 401 请求头"OK-ACCESS-KEY"不能为空
    50104 401 请求头"OK-ACCESS-PASSPHRASE"不能为空
    50105 401 请求头"OK-ACCESS-PASSPHRASE"错误
    50106 401 请求头"OK-ACCESS-SIGN"不能为空
    50107 401 请求头"OK-ACCESS-TIMESTAMP"不能为空
    50108 401 券商ID不存在
    50109 401 券商域名不存在
    50110 401 您的IP{param0}不在APIKey绑定IP名单中 (您可以将您的IP加入到APIKey绑定白名单中)
    50111 401 无效的OK-ACCESS-KEY
    50112 401 无效的OK-ACCESS-TIMESTAMP
    50113 401 无效的签名
    50114 401 无效的授权
    50115 405 无效的请求类型
    50116 200 Fast API 只能创建一个 API key
    50118 200 如需将 API key 绑定 App,经纪商需要提供 IP 才能加入白名单
    50119 200 API key 不存在
    50120 200 API key 权限不足
    50121 200 您无权通过该 IP 地址 ({param0}) 访问
    50122 200 下单金额必须超过最低金额限制

    交易类

    错误码 HTTP 状态码 错误提示
    51000 400 {param0}参数错误
    51001 200 交易产品ID不存在
    51002 200 交易产品ID不匹配指数
    51003 200 ordId或clOrdId至少填一个
    51004 200 下单失败,您在{instId} 逐仓的开平仓模式下,当前下单张数、同方向持有仓位以及同方向挂单张数之和,不能超过当前杠杆倍数允许的持仓上限{tierLimitQuantity}(张),请调低杠杆或者使用新的子账户重新下单(当前杠杆:{leverage}×,当前下单张数:{size}张,同方向持有仓位:{posNumber}张,同方向挂单张数:{pendingNumber}张)。
    51004 200 下单失败,您在{instId}全仓的开平仓模式下,当前下单张数、多空持有仓位以及多空挂单张数之和,不能超过当前杠杆倍数允许的持仓上限{tierLimitQuantity}(张),请调低杠杆或者使用新的子账户重新下单(当前杠杆:{leverage}×,当前下单张数:{size}张,多空持有仓位{posLongShortNumber}张,多空挂单张数:{pendingLongShortNumber}张)。
    51004 200 下单失败,您在{businessType}和交易品种{instFamily}的全仓开平仓模式下,当前下单张数、当前合约多空持有仓位、当前合约多空挂单张数以及其他合约占用额度之和,不能超过当前杠杆倍数允许的持仓上限{tierLimitQuantity}(张),请调低杠杆或者使用新的子账户重新下单(当前杠杆:{leverage}×,当前下单张数:{size}张,当前合约多空持有仓位:{posLongShortNumber}张,当前合约多空挂单张数:{pendingLongShortNumber}张,其他合约占用额度:{otherQuote}张)。
    51004 200 下单失败,您在{instId}的买卖模式下,当前买入张数、持有仓位、以及买入挂单张数之和,不能超过当前杠杆倍数允许的持仓上限{tierLimitQuantity}(张),请调低杠杆或者使用新的子账户重新下单(当前杠杆:{leverage}×,当前买入张数:{size}张,持有仓位:{posNumber}张,买入挂单张数:{pendingNumber}张)。
    51004 200 下单失败,您在{instId}的买卖模式下,当前卖出张数、持有仓位以及卖出挂单张数之和,不能超过当前杠杆倍数允许的持仓上限{tierLimitQuantity}(张),请调低杠杆或者使用新的子账户重新下单(当前杠杆:{leverage}×,当前卖出张数:{size}张,持有仓位:{posNumber}张,卖出挂单张数:{pendingNumber}张)。
    51004 200 下单失败,您在{businessType}和交易品种{instFamily}的全仓买卖模式下,当前买入张数、当前合约持有仓位、当前合约买入挂单张数以及其他合约占用额度之和,不能超过当前杠杆倍数允许的持仓上限{tierLimitQuantity}(张),请调低杠杆或者使用新的子账户重新下单(当前杠杆:{leverage}×,当前买入张数:{size}张,当前合约持有仓位:{posNumber}张,当前合约买入挂单张数:{pendingNumber}张,其他合约占用额度:{otherQuota}张)。
    51004 200 下单失败,您在{businessType}和交易品种{instFamily}的全仓买卖模式下,当前卖出张数、当前合约持有仓位、当前合约卖出挂单张数以及其他合约占用额度之和,不能超过当前杠杆倍数允许的持仓上限{tierLimitQuantity}(张),请调低杠杆或者使用新的子账户重新下单(当前杠杆:{leverage}×,当前卖出张数:{size}张,当前合约持有仓位:{posNumber}张,当前合约卖出挂单张数:{pendingNumber}张,其他合约占用额度:{otherQuota}张)。
    51004 200 修改订单失败,您在{instId} 逐仓的开平仓模式下,当前改单新增张数、同方向持有仓位以及同方向挂单张数之和,不能超过当前杠杆倍数允许的持仓上限{tierLimitQuantity}(张),请调低杠杆或者使用新的子账户重新下单(当前杠杆:{leverage}×,当前改单新增张数:{size}张,同方向持有仓位:{posNumber}张,同方向挂单张数:{pendingNumber}张)。
    51004 200 修改订单失败,您在{instId}全仓的开平仓模式下,当前改单新增张数、多空持有仓位以及多空挂单张数之和,不能超过当前杠杆倍数允许的持仓上限{tierLimitQuantity}(张),请调低杠杆或者使用新的子账户重新下单(当前杠杆:{leverage}×,当前改单新增张数:{size}张,多空持有仓位{posLongShortNumber}张,多空挂单张数:{pendingLongShortNumber}张)。
    51004 200 修改订单失败,您在{businessType}和交易品种{instFamily}的全仓开平仓模式下,当前改单新增张数、当前合约多空持有仓位、当前合约多空挂单张数以及其他合约占用额度之和,不能超过当前杠杆倍数允许的持仓上限{tierLimitQuantity}(张),请调低杠杆或者使用新的子账户重新下单(当前杠杆:{leverage}×,当前改单新增张数:{size}张,当前合约多空持有仓位:{posLongShortNumber}张,当前合约多空挂单张数:{pendingLongShortNumber}张,其他合约占用额度:{otherQuote}张)。
    51004 200 修改订单失败,您在{instId}的买卖模式下,修改当前买单新增张数、持有仓位、以及买入挂单张数之和,不能超过当前杠杆倍数允许的持仓上限{tierLimitQuantity}(张),请调低杠杆或者使用新的子账户重新下单(当前杠杆:{leverage}×,修改当前买单新增张数:{size}张,持有仓位:{posNumber}张,买入挂单张数:{pendingNumber}张)。
    51004 200 修改订单失败,您在{instId}的买卖模式下,修改当前卖单新增张数、持有仓位以及卖出挂单张数之和,不能超过当前杠杆倍数允许的持仓上限{tierLimitQuantity}(张),请调低杠杆或者使用新的子账户重新下单(当前杠杆:{leverage}×,修改当前卖单新增张数:{size}张,持有仓位:{posNumber}张,卖出挂单张数:{pendingNumber}张)。
    51004 200 修改订单失败,您在{businessType}和交易品种{instFamily}的全仓买卖模式下,修改当前买单新增张数、当前合约持有仓位、当前合约买入挂单张数以及其他合约占用额度之和,不能超过当前杠杆倍数允许的持仓上限{tierLimitQuantity}(张),请调低杠杆或者使用新的子账户重新下单(当前杠杆:{leverage}×,修改当前买单新增张数:{size}张,当前合约持有仓位:{posNumber}张,当前合约买入挂单张数:{pendingNumber}张,其他合约占用额度:{otherQuota}张)。
    51004 200 修改订单失败,您在{businessType}和交易品种{instFamily}的全仓买卖模式下,修改当前卖单新增张数、当前合约持有仓位、当前合约卖出挂单张数以及其他合约占用额度之和,不能超过当前杠杆倍数允许的持仓上限{tierLimitQuantity}(张),请调低杠杆或者使用新的子账户重新下单(当前杠杆:{leverage}×,修改当前卖单新增张数:{size}张,当前合约持有仓位:{posNumber}张,当前合约卖出挂单张数:{pendingNumber}张,其他合约占用额度:{otherQuota}张)。
    51005 200 委托数量大于单笔上限
    51006 200 委托价格不在限价范围内(最高买入价:{param0},最低卖出价:{param1})
    51007 200 委托失败,委托数量不可小于 1 张
    51008 200 委托失败,账户 {param0} 可用余额不足
    51008 200 委托失败,账户 {param0} 可用保证金不足
    51008 200 委托失败,账户 {param0} 可用余额不足,且未开启自动借币
    51008 200 委托失败,账户 {param0} 可用保证金不足,且未开启自动借币(PM模式也可以尝试IOC订单降低风险)
    51008 200 委托失败,因为 {param0} 剩余的档位限额不足,导致可借不足(限价挂单以及当前下单需借:{param1}, 剩余额度{param2},限额 {param3},已用额度{param4})
    51008 200 委托失败,因为 {param0} 剩余的限额(母账户限额+当前账户锁定的尊享借币额度)不足,导致可借不足(限价挂单以及当前下单需借 {param1},剩余额度 {param2},限额 {param3},已用额度 {param4})
    51008 200 委托失败,因为 {param0} 剩余的币对限额不足,导致可借不足
    51008 200 委托失败,因为 {param0} 剩余的借贷池限额不足,导致可借不足
    51008 200 委托失败,账户资产不足,美金层面有效保证金小于 IMR(PM模式也可以尝试IOC订单降低风险)
    51008 200 委托失败,delta 校验未通过,因为若成功下单,adjEq 的变化值将小于 IMR 的变化值。建议增加 adjEq 或减少 IMR 占用(PM模式也可以尝试IOC订单降低风险)
    51009 200 下单功能被冻结,请联系客服进行处理
    51010 200 当前账户模式不支持此操作
    51011 200 ordId重复
    51012 200 币种不存在
    51014 200 指数不存在
    51015 200 instId和instType不匹配
    51016 200 clOrdId重复
    51017 200 杠杆委托交易借币超出限额
    51018 200 期权交易账户不能有净开空持仓
    51019 200 期权全仓不能有净开多持仓
    51020 200 委托数量必须超过单笔下限
    51021 200 币对或合约待上线
    51022 200 合约暂停中
    51023 200 仓位不存在
    51024 200 交易账户冻结
    51024 200 根据服务条款,我们很遗憾地通知您,我们无法为您提供服务。如果您有任何问题,请联系我们的客服。
    51024 200 根据您的要求,该账号已被冻结,如有问题请及时联系客服处理。
    51024 200 您的账户近期做了相关安全设置变更,为保证您的资金安全,暂无法进行此操作,如有问题请您及时联系客服处理。
    51024 200 您的账户已完成全部资产支取,为保证您的信息安全,该账户已永久冻结,若有问题,请您及时联系客服处理。
    51024 200 您的认证信息疑似存在安全风险,为保证您的资金安全,暂无法进行此操作,请您及时联系客服处理。
    51024 200 您的认证信息不符合年龄规定,为保证您的资金安全,暂无法进行此操作,请您及时联系客服处理。
    51024 200 根据合规要求,您的认证国家或地区已禁止交易,您可以平掉所有仓位。如有问题请及时联系客服处理。
    51024 200 您的认证信息疑似存在多次认证,为保证您的资金安全,暂无法进行此操作,请您及时联系客服处理。
    51024 200 您的账户已被司法冻结,暂无法进行此操作,如有问题请您及时联系客服处理。
    51024 200 无法进行此操作。请首先解决您现有的 C2C申诉。
    51024 200 您的账户疑似存在合规风险,为保证您的资金安全,暂无法进行此操作,请您及时联系客服处理。
    51024 200 根据您的交易需求,暂无法进行此操作,如有问题请及时联系客服处理。
    51024 200 由于您的账户触发平台风控,暂无法进行此操作,有疑问请您联系客服。
    51024 200 此账户暂无法使用,有任何疑问您可以联系客服。
    51024 200 此账户提币功能暂无法使用,有任何疑问您可以联系客服。
    51024 200 此账户资金账户划转功能暂无法使用,有任何疑问您可以联系客服。
    51024 200 因您进行法币交易时违反了《平台法币交易规则》,故不再为您提供法币交易功能的相关服务,您账户的充币提币以及其他交易功能不受影响。
    51024 200 请注意查收邮件内容,回复认证团队发送邮件,有任何问题,请联系认证团队。
    51024 200 根据您的要求,该账号已被关闭,如有问题请及时联系客服处理。
    51024 200 您的账户疑似存在安全风险,为保证您的资金安全,暂无法进行此操作,请您及时联系客服处理。
    51024 200 您的账户疑似存在安全风险,暂无法兑换,请您及时联系客服处理
    51024 200 您的账号已冻结,部分功能将被禁用,如您希望解除账号限制,请前往帮助中心联系平台客服。
    51024 200 根据合规要求,您的认证国家或地区已禁止交易,您可以撤销已有的订单。如有问题请及时联系客服处理。
    51024 200 您的认证国家为交易禁止国,根据合规要求,暂无法进行此操作,如有问题请您及时联系客服处理。
    51024 200 根据当地法律法规,您所在的国家或地区无法使用该产品。如果您的常居住地不是本国家或地区,并持有有效身份证件,您可继续使用欧易的交易所产品。
    51024 200 请注意您在建立托管交易子账户后的前30分钟内可能无法划转或进行交易,请耐心等待并稍后再试。
    51024 200 此功能暂不可用,完成高级身份认证后即可正常使用
    51024 200 由于您未能及时更新认证信息,您账户的充币与交易功能已受限。请尽快更新认证,以解除账户限制。
    51024 200 超出限制的子账户不能开仓,只能减仓或平仓,请尝试使用其他账户进行交易。
    51025 200 委托笔数超限
    51026 200 交易产品类型不匹配指数(instType和uly不匹配)
    51027 200 合约已到期
    51028 200 合约交割中
    51029 200 合约结算中
    51030 200 资金费结算中
    51031 200 委托价格不在平仓限价范围内
    51032 200 市价全平中
    51033 200 币对单笔交易已达限额
    51034 200 成交速率超出您所设置的上限,请将做市商保护状态重置为 inactive 以继续交易。
    51035 200 用户没有做市订单的下单权限
    51036 200 仅 PM 账户的期权业务线支持 MMP 类型订单
    51411 200 用户没有执行mass cancel的权限
    51042 200 PM 账户模式下,期权仅支持持仓模式为全仓的 MMP 类型订单
    51043 200 该逐仓仓位不存在
    59509 200 用户没有重置做市商保护状态的权限
    51037 200 当前账户风险状态,仅支持降低账户风险方向的IOC订单
    51038 200 当前风险模块下已经存在降低账户风险方向的IOC类型订单
    51039 200 PM账户下交割和永续的全仓不能调整杠杆倍数
    51040 200 期权逐仓的买方不能调整保证金
    51041 200 PM账户仅支持买卖模式
    51044 200 当前订单类型{param0}, {param1}不支持设置止盈和止损
    51046 200 止盈触发价格应该大于委托价格
    51047 200 止损触发价格应该小于委托价格
    51048 200 止盈触发价格应该小于委托价格
    51049 200 止损触发价格应该大于委托价格
    51050 200 止盈触发价格应该大于卖一价
    51051 200 止损触发价格应该小于卖一价
    51052 200 止盈触发价格应该小于买一价
    51053 200 止损触发价格应该大于买一价
    51054 500 请求超时,请稍候重试
    51055 200 组合保证金模式暂不支持合约网格
    51056 200 当前策略不支持该操作
    51057 200 当前账户模式暂不支持此交易策略,请前往“交易设置 > 账户模式”进行切换
    51058 200 该策略无仓位
    51059 200 策略当前状态不支持此操作
    51065 200 algoClOrdId 重复
    51068 200 {param0} 已经在 algoClOrdId 和 attachAlgoClOrdId 中存在。
    51069 200 不存在该{param0}相关的期权合约
    51070 200 您当前尚未达到升级至该账户模式的要求,请先在官方网站或APP完成账户模式的升级。
    51071 200 当前维护的标签维度倒计时全部撤单达到数量上限
    51072 200 您当前身份为现货带单员,设置的带单币对买入时,tdMode 需要使用 spot_isolated
    51073 200 您当前身份为现货带单员,卖出带单资产需要使用'/copytrading/close-subposition'接口
    51074 200 仅现货带单员设置的带单币对支持使用 tdMode:spot_isolated
    51076 200 分批止盈的每笔止盈止损订单仅支持单向止盈止损,slTriggerPx&slOrdPx 与 tpTriggerPx&tpOrdPx 只能填写一组
    51077 200 币币/杠杆不支持开启'开仓价止损'
    51078 200 您当前身份为带单交易员,不支持分批止盈
    51079 200 同一笔订单上附带分批止盈的止盈委托单不能超过 {param0} 笔
    51080 200 同一笔订单上附带分批止盈的止盈触发价类型 (tpTriggerPxType) 必须保持一致
    51081 200 同一笔订单上附带分批止盈的止盈触发价 (tpTriggerPx) 不能相等
    51082 200 同一笔订单上附带分批止盈,其中触发止盈的止盈委托价 (tpOrdPx) 只能是市价
    51083 200 同一笔订单上附带分批止盈的止盈数量之和需要等于订单的委托数量
    51084 200 同一笔订单上附带分批止盈的止损委托单不能超过 {param0} 笔
    51085 200 附带止盈止损开启'开仓价止损'时 (amendPxOnTriggerType 设置为 1),该笔订单上的止盈委托单必须大于等于 2 笔
    51086 200 同一笔订单上附带止盈止损委托单不能超过 {param0} 笔
    51538 200 若下单时使用了 attachAlgoOrds 参数,也需要使用 attachAlgoOrds 参数改单;若下单时没有使用 attachAlgoOrds 参数,则不支持使用 attachAlgoOrds 参数改单。
    51539 200 修改同一笔订单上分批止盈中的止盈止损订单时,attachAlgoId 或者 attachAlgoClOrdId 的值不能重复
    51527 200 改单失败,其中至少有一个附带的止盈止损订单不存在
    51087 200 该币种取消上线,当前不支持交易
    51088 200 对于同一个仓位,仅支持一笔全部平仓的止盈止损挂单
    51089 200 在附带分批止盈时,止盈订单的数量不能为空
    51090 200 对于绑定了限价止盈的止损订单,不允许修改其委托数量
    51091 200 同一笔订单上附带分批止盈的止盈类型必须保持一致
    51092 200 同一笔订单上附带分批止盈的止盈委托价不能相等
    51093 200 同一笔订单上附带分批止盈,其中限价止盈的止盈委托价 (tpOrdPx) 不能为 –1 (市价)
    51094 200 币币、杠杆和期权交易不支持限价止盈
    51095 200 该接口下限价止盈订单时,也需要同时下一笔止损订单
    51096 200 限价止盈时 cxlOnClosePos 需要为 true
    51098 200 对于绑定了限价止盈的止损订单,不能添加新的止盈
    51099 200 您当前身份为带单交易员,不支持下单限价止盈
    51178 200 使用 attachAlgoClOrdId 时,tpTriggerPx&tpOrdPx 或者 slTriggerPx&slOrdPx 不能为空。
    51100 200 下单失败,只减仓订单不能附带止盈止损。
    51101 200 操作失败,单笔委托数量不能大于{maxSzPerOrder}(张)。
    51102 200 操作失败,当前合约的累计挂单数量不能大于{maxNumberPerInstrument}(单)。
    51103 200 操作失败,{businessType}的当前交易品种下,所有合约累计挂单数量不能大于{maxNumberPerInstFamily}(单)。
    51104 200 操作失败,{businessType}的当前交易品种下,所有合约累计挂单张数不能大于{maxSzPerInstFamily} (张)。
    51105 200 操作失败,当前合约的持仓张数和同方向挂单张数之和不能大于{maxPositionSzPerInstrument}(张)。
    51106 200 操作失败,{businessType}的当前交易品种下,所有合约累计持仓张数和同方向挂单张数之和不能大于{maxPostionSzPerInstFamily51106}(张)。
    51107 200 操作失败,{businessType}的当前交易品种下,所有合约累计持仓张数和双向挂单张数之和不能大于{maxPostionSzPerInstFamily51107}(张)。
    51108 200 持仓量超过市价全平最大限制
    51109 200 订单深度中无买一卖一价
    51110 200 集合竞价开始后方可下限价单
    51111 200 批量下单时,超过最大单数{param0}
    51112 200 平仓张数大于该仓位的可平张数
    51113 429 市价全平操作过于频繁
    51116 200 委托价格或触发价格超过{param0}
    51117 200 平仓单挂单单数超过限制
    51120 200 下单数量不足{param0}张
    51121 200 下单张数应为一手张数的倍数
    51122 200 委托价格小于最小值{param0}
    51124 200 价格发现期间您只可下限价单
    51125 200 当前杠杆存在非只减仓挂单,请撤销所有非只减仓挂单后进行只减仓挂单
    51126 200 当前杠杆存在只减仓挂单,请撤销所有只减仓挂单后进行非只减仓挂单
    51127 200 仓位可用余额为0
    51128 200 跨币种账户无法进行全仓杠杆交易
    51129 200 持仓及买入订单价值已达到持仓限额,不允许继续买入
    51130 200 逐仓杠杆保证金币种错误
    51131 200 仓位可用余额不足
    51132 200 仓位正资产小于最小交易单位
    51133 200 跨币种全仓币币不支持只减仓功能
    51134 200 平仓失败,您当前没有杠杆仓位,请关闭只减仓后继续
    51135 200 您的平仓价格已触发限价,最高买入价格为{param0}
    51136 200 您的平仓价格已触发限价,最低卖出价格为{param0}
    51137 200 买单最高价为 {param0},请调低价格
    51138 200 卖单最低价为 {param0},请调高价格
    51139 200 现货模式下币币不支持只减仓功能
    51142 200 盘口无有效报价,用JPY模式下单无法成交,请尝试切换到币种模式
    51143 200 兑换数量不足
    51147 200 交易期权需要在交易账户资产总价值大于2万美元的前提下,开通期权交易服务
    51148 200 下单失败,当前订单若下单成功会造成只减仓订单反向开仓,请撤销或修改原有挂单再进行下单
    51149 500 下单超时,请稍候重试
    51150 200 交易数量或价格的精度超过限制
    51152 200 一键借币模式下,不支持自动借币与自动还币和手动类型混合下单。
    51155 200 由于您所在国家或地区的合规限制,您无法交易此币对或合约
    51169 200 下单失败,当前合约无持仓,请先取消只减仓设置,再尝试下单
    51170 200 下单失败,只减仓下单方向不能与持仓方向相同
    51171 200 改单失败,当前订单若改单成功会造成只减仓订单反向开仓,请撤销或修改原有挂单再进行改单
    51174 200 操作失败,当前 {param0} 的累计挂单数量已达上限 {param1} (单)
    51175 200 参数 {param0}、{param1} 和 {param2} 不能同时为空
    51176 200 参数 {param0}、{param1} 和 {param2} 只能填写一个
    51177 200 当前期权订单的价格类型为{param0},不支持修改{param1}
    51179 200 现货模式下,不支持使用{param0}进行期权下单。
    51180 200 {param0}的范围应为({param1}, {param2})
    51181 200 使用{param0}下单,ordType 只能为限价单 (limit)
    51182 200 当前账户期权价格类型 pxUsd 和 pxVol 的挂单数量之和,不能超过 {param0} 个
    51185 200 单笔订单价值不能超过 {maxOrderValue} USD
    51186 200 下单失败。在当前保证金模式下,您针对 {param0} 的杠杠倍数设置为 {param1}x,大于平台允许的最大杠杠倍数 {param2}x,请调低杠杆。
    51187 200 下单失败,您在 {param0} {param1} 和当前保证金模式下,当前下单张数、持仓及挂单张数之和 {param2},已超过平台上限 {param3} 张,请修改当前订单数量,或撤单、平仓。
    51201 200 市价委托单笔价值不能超过 1,000,000 JPY
    51202 200 市价单下单数量超出最大值
    51203 200 普通委托数量超出最大限制{param0}
    51204 200 限价委托单价格不能为空
    51205 200 不支持只减仓操作
    51206 200 请先撤销当前下单产品{param0}的只减仓挂单,避免反向开仓
    51220 200 分润策略仅支持策略停止时卖币或停止时全部平仓
    51221 200 请输入 0-30% 范围内的指定分润比例
    51222 200 该策略不支持分润
    51223 200 当前状态您不可以进行分润带单
    51224 200 该币对不支持分润
    51225 200 分润跟单策略不支持手动立即触发策略
    51226 200 分润跟单策略不支持修改策略参数
    51250 200 策略委托价格不在正确范围内
    51251 200 创建冰山委托时,策略委托类型错误
    51252 200 策略委托数量不在正确范围内
    51253 200 冰山委托单笔均值超限
    51254 200 冰山委托单笔均值错误
    51255 200 冰山委托单笔委托超限
    51256 200 冰山委托深度错误
    51257 200 跟踪委托回调服务错误,回调幅度限制为{min}<x<={max}%
    51258 200 跟踪委托失败,卖单激活价格需大于最新成交价格
    51259 200 跟踪委托失败,买单激活价格需小于最新成交价格
    51260 200 每个用户最多可同时持有{param0}笔未成交的跟踪委托
    51261 200 每个用户最多可同时持有{param0}笔未成交的止盈止损
    51262 200 每个用户最多可同时持有{param0}笔未成交的冰山委托
    51263 200 每个用户最多可同时持有{param0}笔未成交的时间加权单
    51264 200 时间加权单笔均值超限
    51265 200 时间加权单笔上限错误
    51267 200 时间加权扫单比例出错
    51268 200 时间加权扫单范围出错
    51269 200 时间加权委托间隔错误,应为{min}<=x<={max}
    51270 200 时间加权委托深度限制为 0<x<=1%
    51271 200 时间加权委托失败,扫单比例应该为 0<x<=100%
    51272 200 时间加权委托失败,扫单范围应该为 0<x<=1%
    51273 200 时间加权委托总量应为大于 0
    51274 200 时间加权委托总数量需大于单笔上限
    51275 200 止盈止损市价单笔委托数量不能超过最大限制
    51276 200 止盈止损市价单不能指定价格
    51277 200 止盈触发价格不能大于最新成交价
    51278 200 止损触发价格不能小于最新成交价
    51279 200 止盈触发价格不能小于最新成交价
    51280 200 止损触发价格不能大于最新成交价
    51281 200 计划委托不支持使用tgtCcy参数
    51282 200 吃单价优于盘口的比例范围
    51283 200 时间间隔的范围{param0}s~{param1}s
    51284 200 单笔数量的范围{param0}~{param1}
    51285 200 委托总量的范围{param0}~{param1}
    51286 200 下单金额需大于等于{param0}
    51287 200 当前策略不支持此交易品种
    51288 200 策略正在停止中,请勿重复点击
    51289 200 策略配置不存在,请稍后再试
    51290 200 策略引擎正在升级,请稍后重试
    51291 200 策略不存在或已停止
    51292 200 策略类型不存在
    51293 200 策略不存在
    51294 200 该策略暂不能创建,请稍后再试
    51295 200 PM账户不支持ordType为{param0}的策略委托单
    51298 200 交割、永续合约的买卖模式下,不支持计划委托
    51299 200 策略委托失败,用户最多可持有{param0}笔该类型委托
    51300 200 止盈触发价格不能大于标记价格
    51302 200 止损触发价格不能小于标记价格
    51303 200 止盈触发价格不能小于标记价格
    51304 200 止损触发价格不能大于标记价格
    51305 200 止盈触发价格不能大于指数价格
    51306 200 止损触发价格不能小于指数价格
    51307 200 止盈触发价格不能小于指数价格
    51308 200 止损触发价格不能大于指数价格
    51309 200 集合竞价期间不能创建策略
    51310 200 逐仓自主划转保证金模式不支持ordType为iceberg、twap的策略委托单
    51311 200 移动止盈止损委托失败,回调幅度限制为{min}<x<={max}
    51312 200 移动止盈止损委托失败,委托数量范围{min}<x<={max}
    51313 200 逐仓自主划转模式不支持策略部分
    51317 200 币币杠杆不支持计划委托
    51327 200 closeFraction 仅适用于交割合约和永续合约
    51328 200 closeFraction 仅适用于只减仓订单
    51329 200 closeFraction 仅适用于买卖模式
    51330 200 closeFraction 仅适用于止盈止损市价订单
    51331 200 closeFraction仅限于平仓单
    51332 200 组合保证金模式不支持closeFraction
    51333 200 开平模式下的平仓单或买卖模式下的只减仓单无法附带止盈止损
    51340 200 投入保证金需大于{0}{1}
    51341 200 当前策略状态下暂不支持平仓
    51342 200 已有平仓单,请稍后重试
    51343 200 止盈价格需小于区间最低价格
    51344 200 止损价格需大于区间最高价格
    51345 200 策略类型不是网格策略
    51346 200 最高价格不能低于最低价格
    51347 200 暂无可提取利润
    51348 200 止损价格需小于区间最低价格
    51349 200 止盈价格需大于区间最高价格
    51350 200 暂无可推荐参数
    51351 200 单格收益必须大于0
    51352 200 币对数量范围{pairNum1} - {pairNum2}
    51353 200 存在重复币对{existingPair}
    51354 200 币对比例总和需等于100%
    51355 200 定投日期范围{date1} - {date2}
    51356 200 定投时间范围{0}~{1}
    51357 200 时区范围 {timezone1} - {timezone2}
    51358 200 每个币种的投入金额需大于{amount}
    51359 200 暂不支持定投该币种{0}
    51370 200 杠杆倍数范围{0}~{1}
    51380 200 市场行情不符合策略配置
    51381 200 单网格利润率不在区间内
    51382 200 策略不支持停止信号触发
    51383 200 最小价格必须小于最新成交价
    51384 200 信号触发价格必须大于最小价格
    51385 200 止盈价必须大于最小价格
    51386 200 最小价格必须大于1/2最新成交价
    51387 200 止损价格应小于无限网格的区间最低价
    51388 200 策略已在运行中
    51389 200 触发价格需小于{0}
    51390 200 触发价格需小于止盈价格
    51391 200 触发价格需大于止损价格
    51392 200 止盈价格需大于触发价格
    51393 200 止损价格需小于触发价格
    51394 200 触发价格需大于止盈价格
    51395 200 触发价格需小于止损价格
    51396 200 止盈价格需小于触发价格
    51397 200 止损价格需大于触发价格
    51398 200 当前行情满足停止条件,无法创建策略
    51399 200 当前杠杆下最大可投入金额为 {amountLimit} {quoteCurrency},请减少投入金额后再试。
    51400 200 由于订单已完成、已撤销或不存在,撤单失败
    51400 200 撤单失败,订单不存在(仅适用于价差速递)
    51401 200 撤单失败,订单已撤销(仅适用于价差速递)
    51402 200 撤单失败,订单已完成(仅适用于价差速递)
    51403 200 撤单失败,该委托类型无法进行撤单操作
    51404 200 价格发现第二阶段您不可撤单
    51405 200 撤单失败,您当前没有未成交的订单
    51406 400 撤单数量超过最大允许单数{param0}
    51407 200 ordIds 和 clOrdIds 不能同时为空
    51408 200 币对 id 或币对名称与订单信息不匹配
    51409 200 币对 id 或币对名称不能同时为空
    51410 200 撤单失败,订单已处于撤销中
    51411 200 用户没有执行mass cancel的权限
    51412 200 撤单超时,请稍后重试
    51416 200 委托已触发,暂不支持撤单
    51413 200 撤单失败,接口不支持该委托类型的撤单
    51415 200 下单失败,现货交易仅支持设置最新价为触发价格,请更改触发价格并重试
    51500 200 价格、数量、止盈/止损不能同时为空
    51501 400 修改订单超过最大允许单数{param0}
    51502 200 修改订单失败,账户 {param0} 可用余额不足
    51502 200 修改订单失败,账户 {param0} 可用保证金不足
    51502 200 修改订单失败,账户 {param0} 可用余额不足,且未开启自动借币
    51502 200 修改订单失败,账户 {param0} 可用保证金不足,且未开启自动借币(PM模式也可以尝试IOC订单降低风险)
    51502 200 修改订单失败,因为 {param0} 剩余的档位限额不足,导致可借不足(限价挂单以及当前下单需借:{param1}, 剩余额度{param2},限额 {param3},已用额度{param4}。
    51502 200 修改订单失败,因为 {param0} 剩余的档位限额不足,导致可借不足(限价挂单以及当前下单需借:{param1}, 剩余额度{param2},限额 {param3},已用额度{param4}。
    51502 200 修改订单失败,因为 {param0} 剩余的限额(主账户限额+当前账户锁定的尊享借币额度)不足,导致可借不足(限价挂单以及当前下单需借 {param1},剩余额度 {param2},限额 {param3},已用额度 {param4}。
    51502 200 修改订单失败,因为 {param0} 剩余的币对限额不足,导致可借不足
    51502 200 修改订单失败,因为 {param0} 剩余的借贷池限额不足,导致可借不足
    51502 200 修改订单失败,账户资产不足,美元层面有效保证金小于 IMR(PM模式也可以尝试IOC订单降低风险)
    51502 200 修改订单失败,delta 校验未通过,因为若成功下单,adjEq 的变化值将小于 IMR 的变化值。建议增加 adjEq 或减少 IMR 占用(PM模式也可以尝试IOC订单降低风险)
    51503 200 由于订单已完成、已撤销或不存在,改单失败
    51503 200 由于订单不存在,改单失败(仅适用于价差速递)
    51505 200 {instId} 不处于集合竞价阶段
    51506 200 订单类型不支持改单
    51508 200 集合竞价第一阶段和第二阶段不允许改单
    51509 200 修改订单失败,订单已撤销(仅适用于价差速递)
    51510 200 修改订单失败,订单已完成(仅适用于价差速递)
    51511 200 操作失败,订单价格不满足Post Only条件
    51512 200 批量修改订单失败。同一批量改单请求中不允许包含相同订单。
    51513 200 对于正在处理的同一订单,改单请求次数不得超过3次
    51514 200 修改订单失败,价格长度不能超过 32 个字符
    51523 200 不允许在全部仓位止盈止损单上修改订单委托价格,请修改触发价格
    51524 200 不允许在全部仓位止盈止损单上修改委托数量,请修改触发价格
    51525 200 一键借币止盈止损单不支持修改
    51526 200 改单失败,止盈止损单不支持增加或删除止盈/止损
    51527 200 改单失败,止盈止损订单不存在
    51528 200 止盈止损不支持修改触发类型
    51529 200 改单失败,只有交割、永续合约单可以修改止盈止损
    51530 200 改单失败,只减仓订单不能附带止盈止损
    51531 200 改单失败,止盈止损单修改必须保留一个方向
    51536 200 期权的 pxVol 或者 pxUsd 订单不支持修改订单数量
    51537 200 非期权产品不支持使用 pxUsd 或者 pxVol
    51600 200 查询订单的状态不存在
    51601 200 订单状态和订单id不能同时存在
    51602 200 订单状态或订单id必须存在一个
    51603 200 查询订单不存在
    51604 200 若想获取文件链接,请先申请下载文件
    51605 200 只允许下载过去两年内的历史成交明细文件
    51606 200 无法下载当前季度的历史成交明细
    51607 200 您已申请下载文件,当前状态为进行中
    51608 200 当前季度无历史成交明细
    51610 200 只允许下载 2021 年第一季度以来的历史账单流水
    51611 200 无法下载当前季度的账单流水
    51620 200 您不是节点用户,没有相关权限
    51621 200 该用户不是您的直客
    51156 200 您当前身份为带单交易员。在开平仓模式下,对于带单合约标的不支持使用该接口平仓
    51159 200 您当前身份为带单交易员,在买卖模式下,如需使用该接口下单,委托的方向必须与现有持仓和挂单保持一致
    51162 200 您当前有 {instrument} 挂单,请撤单后重试
    51163 200 您当前有 {instrument} 持仓,请平仓后重试
    51165 200 {instrument}只减仓订单数量已达上限 {upLimit},请撤销部分订单后重新下单。
    51166 200 当前产品不支持带单
    51167 200 下单失败,因为您存在大宗交易的委托订单,请撤销后重新下单
    51168 200 下单失败,因为您存在只减仓类型的委托订单,请撤销后重新下单
    51320 200 币种占比范围 {PercentNum1}%-{PercentNum2}%
    51321 200 您正在带单。暂不支持使用套利、冰山或时间加权 (TWAP) 策略带单
    51322 200 您当前身份为带单交易员。您的带单合约持仓已经市价全平,系统已撤销止盈止损委托并进行平仓
    51323 200 您当前身份为带单交易员。您的带单合约仓位已设置止盈止损,请先撤销原有止盈止损订单
    51324 200 您当前身份为带单交易员,并持有 {instrument} 仓位。平仓委托张数需要与可平张数一致
    51325 200 您当前身份为带单交易员。下止盈止损单时,请选择市价作为委托价格
    51326 200 您当前身份为带单交易员,下止盈止损单时,委托价格类型必须为市价
    51326 200 您当前身份为带单交易员,下止盈止损单时,委托价格类型必须为市价
    54000 200 暂不支持币币杠杆业务
    54001 200 只有跨币种全仓账户才能设置自动借币
    54004 200 下单或改单失败,因为批量订单中的一个订单失败了
    54005 200 盘前交割合约请使用逐仓进行交易
    54006 200 盘前交易合约用户持仓上限为{posLimit}张
    54007 200 不支持该产品 {instId}
    54008 200 该操作被“撤销 MMP 订单”接口限制。请通过该接口解除限制。
    54009 200 {param0}的范围应为 [{param1},{param2}]
    54011 200 盘前交易合约交割前 1 小时内仅允许减少仓位数量,请修改或撤销订单

    数据类

    错误码 HTTP 状态码 错误提示
    52000 200 没有最新行情信息

    账户类

    错误码从 59000 到 59999

    错误码 HTTP 状态码 错误提示
    59000 200 设置失败,请在设置前关闭任何挂单或持仓
    59001 200 当前存在借币,暂不可切换
    59002 200 子账户设置失败,请在设置前关闭任何子账户挂单、持仓或策略
    59004 200 只支持同一业务线下交易产品ID
    59005 200 逐仓自主划转保证金模式,初次划入仓位的资产价值需大于 10,000 JPY
    59006 200 此功能即将下线,无法切换到此模式
    59101 200 杠杆倍数无法修改,请撤销所有逐仓挂单后进行杠杆倍数修改
    59102 200 杠杆倍数超过最大杠杆倍数,请降低杠杆倍数
    59103 200 杠杆倍数过低,账户中没有足够的可用保证金可以追加,请提高杠杆倍数
    59104 200 杠杆倍数过高,借币仓位已超过该杠杆倍数的最大仓位,请降低杠杆倍数
    59105 400 杠杆倍数设置不能小于{0},请提高杠杆倍数
    59106 200 您下单后仓位总张数所处档位的最高可用杠杆为{0},请重新调整
    59107 200 杠杆倍数无法修改,请撤销所有全仓挂单后修改杠杆倍数
    59108 200 杠杆倍数过低,账户中保证金不足,请提高杠杆倍数
    59109 200 调整后,账户权益小于所需保证金,请重新调整杠杆倍数
    59110 200 该{0}对应的产品业务线不支持使用tgtCcy参数
    59111 200 PM账户下衍生品全仓不支持杠杆查询
    59112 200 当前存在逐仓/全仓挂单,请撤销所有逐仓挂单后进行杠杆倍数修改
    59113 200 根据当地法律法规,您所在的地区无法使用保证金交易相关服务,如果您不是该地区居民,请进行KYC2身份认证
    59114 200 根据当地法律法规,您所在的地区无法使用保证金交易相关服务
    59125 200 {0} 不支持当前操作
    59200 200 账户余额不足
    59201 200 账户余额是负数
    59202 200 PM 账户下衍生品全仓不支持最大可开仓数量的查询
    59300 200 追加保证金失败,指定仓位不存在
    59301 200 调整保证金超过当前最大可调整数量
    59302 200 当前仓位存在平仓挂单,请撤销平仓挂单后进行保证金修改
    59303 200 可用保证金不足,请尝试增加保证金或减少借币数量
    59304 200 借币币种权益不足,请至少留有一天的利息
    59305 200 您当前没有进行尊享借币,无法设置尊享借币优先
    59306 200 借币数量超过总额度,不可继续借币
    59307 200 当前用户不满足尊享借币条件
    59308 200 市场化借币额度不足,VIP还币失败
    59309 200 还币数量超出已借数量,还币失败
    59310 200 当前账户不支持尊享借币
    59311 200 存在尊享借币,无法设置
    59312 200 {币种}不支持尊享借币
    59313 200 无法还币。在一键借币模式下,您目前没有 ${ccy} 借币(币对:${ccyPair})
    59314 200 当前用户该订单不是借币中,不允许还币
    59315 200 VIP借币功能正在升级中,稍等10分钟之后再次操作
    59316 200 当前用户该币种存在借币申请中的订单,不允许借币
    59317 200 您当前币种 VIP 借币中的订单数量不能大于{maxNumber}(单)
    59319 200 由于您的资金已被占用,您暂时无法偿还借贷,请解除占用状态再进行还币
    59320 200 超出借贷限额
    59321 200 您所在的地区不支持借币
    59322 200 此订单无法执行当前操作
    59323 200 借贷金额小于最低限额
    59324 200 没有可用的借贷订单
    59325 200 借币订单仅支持全部还币
    59326 200 出借数量应在 {minLend} ~ {lendQuota} 范围内
    59327 200 由于您续借的金额不足以偿还您当前的借贷,您无法自动续借,请手动还款以避免高额逾期利息
    59328 200 出借年化应在 {minRate} ~ {maxRate} 范围内
    59329 200 无法降低负债。当前订单可直接还币
    51152 200 一键借币模式下,不支持自动借币与自动还币和手动类型混合下单。
    59401 200 持仓价值达到持仓限制
    59402 200 查询条件中的instId的交易产品当前不是可交易状态,请填写单个instid逐个查询状态详情
    59410 200 只有当借币交易启用且该币种支持借币交易时,您才可以进行借币
    59411 200 无法手动借币,账户可用保证金不足
    59412 200 无法手动借币,您输入的数量已超过借币限额
    59413 200 该币种没有负债,无需还币
    59414 200 无法手动借币,您输入的数量应大于或等于最小借币数量 {param0}
    59500 200 仅主账户有操作权限
    59501 200 每个账户最多可创建 50 个 API key
    59502 200 此备注名已存在。 请输入唯一的 API key 备注名称
    59503 200 每个 API key 最多可以绑定 20 个 IP 地址
    59504 200 子账户不支持提币功能,请在主账户中进行提币
    59505 200 passphrase 格式不正确,支持6-32位字母和数字组合
    (区分大小写,不支持空格符号)
    59506 200 API key 不存在
    59507 200 转出账户和转入账户必须是同一个母账户下的2个不同的子账户
    59508 200 {0}该子账户被冻结
    59509 200 用户没有重置做市商保护状态的权限
    59510 200 子账户不存在
    59512 200 不支持为独立经纪商子账号设置主动转出权限,所有独立经纪商子账户默认有主动转出权限
    59601 200 子账户名称已存在
    59603 200 创建的子账户数量已达到上限
    59604 200 仅母账APIkey有操作此接口的权限
    59606 200 删除失败,请将子账户中的余额划转到母账户
    59608 200 仅Broker账户有操作此接口的权限
    59609 200 经纪商已经存在
    59610 200 经纪商不存在
    59611 200 经纪商状态是未审核
    59612 200 时间参数格式转换失败
    59613 200 当前未与子账户建立托管关系
    59614 200 托管子账户不支持此操作
    59615 200 起始日期和结束日期的时间间隔不能超过180天。
    59616 200 起始日期不能大于结束日期
    59617 200 子账户创建成功,账户等级设置失败
    59618 200 创建子账户失败
    59619 200 该接口不支持独立经纪商子账户,请使用为独立经纪商提供的专有接口。
    59622 200 您正在创建独立经纪商 2 级子账号。该 1 级子账号不存在或有误,请先创建 1 级子账号或使用正确的 1 级子账号。
    59623 200 独立经纪商 1 级子账号下存在 2 级子账号,请删除 2 级子账号后重试。
    59648 200 调整后实际现货对冲占用数量不足,有潜在爆仓风险,请调整现货对冲占用数量
    59649 200 关闭现货对冲占用模式可能会增加强制平仓的风险。请调整仓位,使保证金率处于安全状态。
    59650 200 切换对冲单位可能会增加强制平仓的风险。请调整仓位,使保证金率处于安全状态。
    59651 200 未开启现货对冲占用,无法设置现货对冲数量
    59652 200 不支持为非杠杆币种设置现货对冲占用数量

    策略交易

    错误码从 55100 到 55999

    错误码 HTTP 状态码 错误提示
    55100 200 止盈百分比应在 {parameter1} ~ {parameter2} 的范围内
    55101 200 止损百分比应在 {parameter1} ~ {parameter2} 的范围内
    55102 200 止盈百分比需大于当前策略收益率
    55103 200 止损百分比需小于当前策略收益率
    55104 200 仅合约网格支持按收益率百分比止盈止损
    55105 200 当前状态不支持加仓操作
    55106 200 加仓金额应在 {parameter1} ~ {parameter2} 的范围内
    55111 200 此信号名称正在使用中,请尝试新名称
    55112 200 此信号不存在
    55113 200 创建信号策略的杠杆倍数大于交易产品列的最大杠杆倍数
    55116 200 每个交易对只能进行一笔追逐限价委托

    WebSocket

    WebSocket 错误消息均为英文,中文错误消息仅供参考

    公共

    错误码从 60000 到 64002

    通用类

    错误码 错误消息
    60004 无效的 timestamp
    60005 无效的 apiKey
    60006 请求时间戳过期
    60007 无效的签名
    60008 当前服务不支持订阅{0}频道,请检查WebSocket地址
    60009 登录失败
    60011 用户需要登录
    60012 不合法的请求
    60013 无效的参数 args
    60014 用户请求频率过快,超过该接口允许的限额
    60018 错误的 URL 或者 {0} 不存在,请参考 API 文档使用正确的 URL,频道和参数
    60019 无效的op{0}
    60020 超出最大允许订阅的APIKey数量{0}
    60021 该功能不支持多账户登录使用
    60022 批量登录部分成功
    60023 批量登录请求过于频繁
    60024 passphrase不正确
    60025 超出最大允许订阅的token数量{0}
    60026 不支持APIKey和token同时登录
    60027 参数{0}不可为空
    60028 当前服务不支持此功能,请检查WebSocket地址
    60029 该频道仅支持手续费等级为 VIP5 及以上的用户订阅使用
    60030 books50-l2-tbt 深度频道仅支持手续费等级为 VIP4 及以上的用户订阅使用
    60031 WebSocket地址不支持多账户和重复登录
    60032 API key 不存在
    63999 由于内部错误,登录失败,请稍后重试。
    64000 订阅参数 uly 已失效,请您尽快将 uly 替换为 instFamily,更多详情可参考: https://www.okj.com/cn/help-center/changes-to-v5-api-websocket-subscription-parameter-and-url.
    64001 该频道到已经迁移到了 '/business' URL,请使用新的 URL。更多详情可参考:https://www.okj.com/cn/help-center/changes-to-v5-api-websocket-subscription-parameter-and-url.
    64002 "/business" URL 不支持该频道. 请使用"/private" URL(对于私有频道), 或者"/public" URL(对于公有频道),更多详情可参考:https://www.okj.com/cn/help-center/changes-to-v5-api-websocket-subscription-parameter-and-url.
    64003 用户交易费等级不支持访问该频道

    关闭帧

    状态码 文案
    1009 用户订阅请求过大
    4001 登录失败
    4002 参数不合法
    4003 登录账户多于100个
    4004 空闲超时30秒
    4005 写缓冲区满
    4006 异常场景关闭
    4007 API key已更新或删除,请重新连接
    4008 总订阅频道数量超过最大限制
    4009 该连接订阅频道数超限制