导航
English
HTTP Python

概览

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

API学习资源与技术支持

教程


Python包


客户服务

创建我的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-USDT","lever":"5","mgnMode":"isolated"}

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

WebSocket

概述

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

连接

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

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

请求限制

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

连接限制

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


受此限制的 WebSocket 频道如下:

  1. 订单频道
  2. 账户频道
  3. 持仓频道
  4. 账户余额和持仓频道
  5. 爆仓风险预警推送频道
  6. 账户greeks频道

若用户通过不同的请求参数在同一个 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":"LTC-USD-200327"
        },
        {
            "channel":"candle1m",
            "instId":"LTC-USD-200327"
        }
    ]
}

请求参数

参数 类型 是否必须 描述
op String 操作,subscribe
args Array 请求订阅的频道列表
> channel String 频道名
> instType String 产品类型
SPOT:币币
MARGIN:币币杠杆
SWAP:永续合约
FUTURES:交割合约
OPTION:期权
ANY:全部
> instFamily String 交易品种
适用于交割/永续/期权
> instId String 产品ID

返回示例

{
    "event": "subscribe",
    "arg": {
        "channel": "tickers",
        "instId": "LTC-USD-200327"
    },
  "connId": "a4d3ae55"
}

返回参数

参数 类型 是否必须 描述
event String 事件,subscribe error
arg Object 订阅的频道
> channel String 频道名
> instType String 产品类型
SPOT:币币
MARGIN:币币杠杆
SWAP:永续合约
FUTURES:交割合约
OPTION : 期权
ANY:全部
> instFamily String 交易品种
适用于交割/永续/期权
> instId String 产品ID
code String 错误码
msg String 错误消息
connId String WebSocket连接ID

取消订阅

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

请求格式说明

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

请求示例

{
 "op": "unsubscribe",
 "args":
  [
      {
       "channel"   : "tickers",
       "instId":"LTC-USD-200327"
      },
      {
       "channel"   : "candle1m",
       "instId":"LTC-USD-200327"
      }
   ]
}

请求参数

参数 类型 是否必须 描述
op String 操作,unsubscribe
args Array 取消订阅的频道列表
> channel String 频道名
> instType String 产品类型
SPOT:币币
MARGIN:币币杠杆
SWAP:永续合约
FUTURES:交割合约
OPTION:期权
ANY:全部
> instFamily String 交易品种
适用于交割/永续/期权
> instId String 产品ID

返回示例

{
    "event": "unsubscribe",
    "arg": {
        "channel": "tickers",
        "instId": "LTC-USD-200327"
    },
  "connId": "a4d3ae55"
}

返回参数

参数 类型 是否必须 描述
event String 事件,unsubscribe error
arg Object 取消订阅的频道
> channel String 频道名
> instType String 产品类型
SPOT:币币
MARGIN:币币杠杆
SWAP:永续合约
FUTURES:交割合约
OPTION:期权
ANY:全部
> instFamily String 交易品种
适用于交割/永续/期权
> instId String 产品ID
code String 错误码
msg String 错误消息
connId String WebSocket连接ID

账户模式

为了方便您的交易体验,请在开始交易前设置适当的账户模式。

交易账户交易系统提供四个账户模式,分别为现货模式现货和合约模式跨币种保证金模式以及组合保证金模式

账户模式的首次设置,需要在网页或手机app上进行。

实盘交易

实盘API交易地址如下:

交易时效性

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

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

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

REST API

请求头中设置如下参数

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

目前支持如下接口:

请求示例

curl -X 'POST' \
  'https://www.okx.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-USDT",
  "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-USDT",
        "tdMode": "isolated",
        "ordType": "market",
        "sz": "100"
    }]
}

限速

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

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

子账户限速

子账户维度,每2秒最多允许1000个订单相关请求。仅有新订单及修改订单请求会被计入此限制。此限制涵盖以下所列的所有接口。对于包含多个订单的批量请求,每个订单将被单独计数。如果请求频率超过限制,系统会返回50061错误码。产品ID维度的限速规则保持不变,现有的限速规则与新增的子账户维度限速将并行运行。若用户需要更高的速率限制,可以通过多个子账户进行交易。

基于成交比率的子账户限速

仅适用于用户等级 >= VIP5的用户。
为了激励更高效的交易,交易所将为交易成交比率高的用户提供更高的子账户限速。

交易所将在每天 00:00 UTC,根据过去七天的交易数据计算两个比率。

  1. 子账户成交比率:该比率为(子账户的USDT对应交易量)/(每个交易产品的新增和修改请求数 * 交易产品乘数之和)。请注意,在这种情况下,母账户自身也被视为一个“子账户”。
  2. 母账户合计成交比率:该比率为(母账户层面的USDT对应交易量)/(所有子账户各个交易产品的新增和修改请求数 * 交易产品乘数之和)。

交易产品乘数允许我们微调每个交易产品对成交比率的影响权重。较小的交易产品乘数(<1)适用于小币对及合约,在交易这些币对、合约时,为达到相同交易量往往需要更多的订单。所有的交易产品都有默认乘数,部分交易产品有独立的乘数。详情请见下表。

业务线 覆盖规则 独立乘数 默认乘数
永续 产品ID 1
产品ID:
BTC-USDT-SWAP
BTC-USD-SWAP
ETH-USDT-SWAP
ETH-USD-SWAP
0.2
交割 交易品种 0.3
交易品种:
BTC-USDT
BTC-USD
ETH-USDT
ETH-USD
0.1
币币 产品ID 0.5
产品ID:
BTC-USDT
ETH-USDT
0.1
期权 交易品种 0.1

成交比率计算不包括大宗交易,价差交易,做市商保护(MMP),以及法币类型订单对应的订单数量;并且不包括大宗交易,价差交易对应的交易量。仅考虑 sCode = 0 的成功请求。

每日 08:00 UTC,系统将根据UTC时间 00:00 的数据快照,选取子账户成交比率及母账户合计成交比率中的较大值决定子账户的未来限速。详情请见下表。对于独立经纪商,系统只会取子账户的成交比率。

成交比率[x<=比率<y) 子账户每2秒限速(新订单及修改订单请求)
Tier 1 [0,1) 1,000
Tier 2 [1,2) 1,250
Tier 3 [2,3) 1,500
Tier 4 [3,5) 1,750
Tier 5 [5,10) 2,000
Tier 6 [10,20) 2,500
Tier 7 [20,50) 3,000
Tier 8 >= 50 10,000

若成交比率和预期限速有所改善,则提升将于 08:00 (UTC) 立即生效。但若成交比率下降,需要降低未来限速,系统将给予一天的宽限期,降低后的速率限制将在 T+1 08:00 (UTC) 实施。在 T+1 时,若成交比率提高,则将立即授予更高的限速。若用户的交易手续费等级降级为 VIP4,其限速将降低为最低档位,并有一天的宽限期。


若子账户7日交易量低于1,000,000 USDT,则按照母账户的合计成交比率实施限速。


对于新创建的子账户,创建时将应用最低档位限速,在 T+1 08:00 (UTC)时,将开始应用上述限速规则。


大宗交易、价差交易、做市商保护(MMP)以及币币、币币杠杆订单不受子账户限速限制。


交易所提供 GET / 获取账户限速 接口以便用户查询成交比率以及限速数据,数据将于每天 08:00 (UTC) 更新。该接口将返回子账户成交比率,母账户合计成交比率,子账户当前限速以及 T+1 时的预期子账户限速(适用于限速降级)。


成交比率、限速计算样例如下。用户有三个账户,交易产品 BTC-USDT-SWAP 及 XRP-USDT 的乘数分别为1,0.1。

  1. 账户 A(母账户):
    1. BTC-USDT-SWAP 交易量为100 USDT,订单数量为10;
    2. XRP-USDT 交易量为20 USDT,订单数量为15;
    3. 子账户成交比率 = (100+20) / (10 * 1 + 15 * 0.1) = 10.4
  2. 账户 B (子账户):
    1. BTC-USDT-SWAP 交易量为200 USDT,订单数量为100;
    2. XRP-USDT 交易量为20 USDT,订单数量为30;
    3. 子账户成交比率 = (200+20) / (100 * 1 + 30 * 0.1) = 2.13
  3. 账户 C (子账户):
    1. BTC-USDT-SWAP 交易量为300 USDT,订单数量为100;
    2. XRP-USDT 交易量为20 USDT,订单数量为45;
    3. 子账户成交比率 = (300+20) / (100 * 1 + 45 * 0.1) = 3.06
  4. 母账户合计成交比率 = (100+20+200+20+300+20) / (10 * 1 + 15 * 0.1 + 100 * 1 + 30 * 0.1 + 100 * 1 + 45 * 0.1) = 3.01
  5. 账户限速
    1. 账户 A = max(10.4, 3.01) = 10.4 -> 2500订单请求/2秒
    2. 账户 B = max(2.13, 3.01) = 3.01 -> 1750订单请求/2秒
    3. 账户 C = max(3.06, 3.01) = 3.06 -> 1750订单请求/2秒

最佳实践

如果您需要的请求速率高于我们的限速,您可以设置不同的子账户来批量请求限速。 我们建议使用此方法来限制或间隔请求,以最大化每个帐户的限速并避免断开连接或拒绝请求。

交易账户

账户功能模块下的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"

flag = "1"  # 实盘:0 , 模拟盘:1

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

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

请求参数

参数名 类型 是否必须 描述
instType String 产品类型
SPOT:币币
MARGIN:币币杠杆
SWAP:永续合约
FUTURES:交割合约
OPTION:期权
uly String 可选 标的指数,仅适用于交割/永续/期权,期权必填
instFamily String 交易品种,仅适用于交割/永续/期权
instId String 产品ID

返回结果

{
    "code": "0",
    "data": [
        {
            "baseCcy": "BTC",
            "ctMult": "",
            "ctType": "",
            "ctVal": "",
            "ctValCcy": "",
            "expTime": "",
            "instFamily": "",
            "instId": "BTC-EUR",
            "instType": "SPOT",
            "lever": "",
            "listTime": "1704876947000",
            "lotSz": "0.00000001",
            "maxIcebergSz": "9999999999.0000000000000000",
            "maxLmtAmt": "1000000",
            "maxLmtSz": "9999999999",
            "maxMktAmt": "1000000",
            "maxMktSz": "1000000",
            "maxStopSz": "1000000",
            "maxTriggerSz": "9999999999.0000000000000000",
            "maxTwapSz": "9999999999.0000000000000000",
            "minSz": "0.00001",
            "optType": "",
            "quoteCcy": "EUR",
            "settleCcy": "",
            "state": "live",
            "ruleType": "normal",
            "stk": "",
            "tickSz": "1",
            "uly": ""
        }
    ],
    "msg": ""
}

返回参数

参数名 类型 描述
instType String 产品类型
instId String 产品id, 如 BTC-USDT
uly String 标的指数,如 BTC-USD,仅适用于杠杆/交割/永续/期权
instFamily String 交易品种,如 BTC-USD,仅适用于杠杆/交割/永续/期权
baseCcy String 交易货币币种,如 BTC-USDT 中的 BTC ,仅适用于币币/币币杠杆
quoteCcy String 计价货币币种,如 BTC-USDT 中的USDT ,仅适用于币币/币币杠杆
settleCcy String 盈亏结算和保证金币种,如 BTC 仅适用于交割/永续/期权
ctVal String 合约面值,仅适用于交割/永续/期权
ctMult String 合约乘数,仅适用于交割/永续/期权
ctValCcy String 合约面值计价币种,仅适用于交割/永续/期权
optType String 期权类型,CP 仅适用于期权
stk String 行权价格,仅适用于期权
listTime String 上线时间
Unix时间戳的毫秒数格式,如 1597026383085
expTime String 产品下线时间
适用于币币/杠杆/交割/永续/期权,对于 交割/期权,为交割/行权日期;亦可以为产品下线时间,有变动就会推送。
lever String instId支持的最大杠杆倍数,不适用于币币期权
tickSz String 下单价格精度,如 0.0001
对于期权来说,是梯度中的最小下单价格精度,如果想要获取期权价格梯度,请使用"获取期权价格梯度"接口
lotSz String 下单数量精度
合约的数量单位是,现货的数量单位是交易货币
minSz String 最小下单数量
合约的数量单位是,现货的数量单位是交易货币
ctType String 合约类型
linear:正向合约
inverse:反向合约
仅适用于交割/永续
state String 产品状态
live:交易中
suspend:暂停中
preopen:预上线,如:交割和期权的新合约在 live 之前,会有 preopen 状态
test:测试中(测试产品,不可交易)
ruleType String 交易规则类型
normal:普通交易
pre_market:盘前交易
maxLmtSz String 限价单的单笔最大委托数量
合约的数量单位是,现货的数量单位是交易货币
maxMktSz String 市价单的单笔最大委托数量
合约的数量单位是,现货的数量单位是USDT
maxLmtAmt String 限价单的单笔最大美元价值
maxMktAmt String 市价单的单笔最大美元价值
仅适用于币币/币币杠杆
maxTwapSz String 时间加权单的单笔最大委托数量
合约的数量单位是,现货的数量单位是交易货币
单笔最小委托数量为 minSz*2
maxIcebergSz String 冰山委托的单笔最大委托数量
合约的数量单位是,现货的数量单位是交易货币
maxTriggerSz String 计划委托委托的单笔最大委托数量
合约的数量单位是,现货的数量单位是交易货币
maxStopSz String 止盈止损市价委托的单笔最大委托数量
合约的数量单位是,现货的数量单位是USDT

查看账户余额

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

限速: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"

flag = "1"  # 实盘:0 , 模拟盘:1

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

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

请求参数

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

返回结果

{
    "code": "0",
    "data": [
        {
            "adjEq": "55415.624719833286",
            "borrowFroz": "0",
            "details": [
                {
                    "availBal": "4834.317093622894",
                    "availEq": "4834.3170936228935",
                    "borrowFroz": "0",
                    "cashBal": "4850.435693622894",
                    "ccy": "USDT",
                    "crossLiab": "0",
                    "disEq": "4991.542013297616",
                    "eq": "4992.890093622894",
                    "eqUsd": "4991.542013297616",
                    "fixedBal": "0",
                    "frozenBal": "158.573",
                    "imr": "",
                    "interest": "0",
                    "isoEq": "0",
                    "isoLiab": "0",
                    "isoUpl": "0",
                    "liab": "0",
                    "maxLoan": "0",
                    "mgnRatio": "",
                    "mmr": "",
                    "notionalLever": "",
                    "ordFrozen": "0",
                    "spotInUseAmt": "",
                    "spotIsoBal": "0",
                    "stgyEq": "150",
                    "twap": "0",
                    "uTime": "1705449605015",
                    "upl": "-7.545600000000006",
                    "uplLiab": "0",
                    "spotBal": "",
                    "openAvgPx": "",
                    "accAvgPx": "",
                    "spotUpl": "",
                    "spotUplRatio": "",
                    "totalPnl": "",
                    "totalPnlRatio": ""
                }
            ],
            "imr": "8.57068529",
            "isoEq": "0",
            "mgnRatio": "143682.59776662575",
            "mmr": "0.3428274116",
            "notionalUsd": "85.7068529",
            "ordFroz": "0",
            "totalEq": "55837.43556134779",
            "uTime": "1705474164160",
            "upl": "-7.543562688000006"
        }
    ],
    "msg": ""
}

返回参数

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

各账户等级下有效字段分布

参数 现货模式 现货和合约模式 跨币种保证金模式 组合保证金模式
uTime
totalEq
isoEq
adjEq
ordFroz
imr
mmr
borrowFroz
mgnRatio
notionalUsd
upl
details
> ccy
> eq
> cashBal
> uTime
> isoEq
> availEq
> disEq
> availBal
> frozenBal
> ordFrozen
> liab
> upl
> uplLiab
> crossLiab
> isoLiab
> mgnRatio
> interest
> twap
> maxLoan
> eqUsd
> borrowFroz
> notionalLever
> stgyEq
> isoUpl
> spotInUseAmt
> spotIsoBal
> imr
> mmr
> spotBal
> openAvgPx
> accAvgPx
> spotUpl
> spotUplRatio
> totalPnl
> totalPnlRatio

账单流水查询(近七天)

帐户资产流水是指导致帐户余额增加或减少的行为。本接口可以查询最近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"

flag = "1"  # 实盘:0 , 模拟盘:1

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

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

请求参数

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

返回结果

{
    "code": "0",
    "msg": "",
    "data": [{
        "bal":  "8694.2179403378290202",
        "balChg":  "0.0219338232210000",
        "billId":  "623950854533513219",
        "ccy":  "USDT",
        "clOrdId":  "",
        "execType":  "T",
        "fee":  "-0.000021955779",
        "fillFwdPx":  "",
        "fillIdxPx":  "27104.1",
        "fillMarkPx":  "",
        "fillMarkVol":  "",
        "fillPxUsd":  "",
        "fillPxVol":  "",
        "fillTime":  "1695033476166",
        "from":  "",
        "instId":  "BTC-USDT",
        "instType":  "SPOT",
        "interest":  "0",
        "mgnMode":  "isolated",
        "notes":  "",
        "ordId":  "623950854525124608",
        "pnl":  "0",
        "posBal":  "0",
        "posBalChg":  "0",
        "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 账户层面的余额变动数量
posBalChg String 仓位层面的余额变动数量
bal String 账户层面的余额数量
posBal String 仓位层面的余额数量
sz String 数量
px String 价格,与 subType 相关
  • 为成交价格时有
  • 1:买入 2:卖出
    ccy String 账户余额币种
    pnl String 收益
    fee String 手续费
    正数代表平台返佣 ,负数代表平台扣除
    mgnMode String 保证金模式
    isolated:逐仓
    cross:全仓
    账单不是由仓位变化产生的,该字段返回 ""
    instId String 产品ID,如 BTC-USDT
    ordId String 订单ID
    当type为2:交易 时,返回相应订单id
    无订单时,该字段返回 ""
    execType String 流动性方向
    T:taker
    M:maker
    from String 转出账户
    6:资金账户
    18:交易账户
    仅适用于资金划转,不是资金划转时,返回 ""
    to String 转入账户
    6:资金账户
    18:交易账户
    仅适用于资金划转,不是资金划转时,返回 ""
    notes String 备注
    interest String 利息
    tag String 订单标签
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字,且长度在1-16位之间。
    fillTime String 最新成交时间
    tradeId String 最新成交ID
    clOrdId String 客户自定义订单ID
    fillIdxPx String 交易执行时的指数价格
    对于交叉现货币对,返回 baseCcy-USDT 的指数价格。 例如LTC-ETH,该字段返回LTC-USDT的指数价格。
    fillMarkPx String 成交时的标记价格,仅适用于交割/永续/期权
    fillPxVol String 成交时的隐含波动率,仅适用于期权,其他业务线返回空字符串""
    fillPxUsd String 成交时的期权价格,以USD为单位,仅适用于期权,其他业务线返回空字符串""
    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"
    
    flag = "1"  # 实盘:0 , 模拟盘:1
    
    accountAPI = Account.AccountAPI(apikey, secretkey, passphrase, False, flag)
    
    # 查看账户账单详情 (近三个月内)
    result = accountAPI.get_account_bills_archive()
    print(result)
    

    请求参数

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

    返回结果

    {
        "code": "0",
        "msg": "",
        "data": [{
            "bal": "8694.2179403378290202",
            "balChg": "0.0219338232210000",
            "billId": "623950854533513219",
            "ccy": "USDT",
            "clOrdId": "",
            "execType": "T",
            "fee": "-0.000021955779",
            "fillFwdPx": "",
            "fillIdxPx": "27104.1",
            "fillMarkPx": "",
            "fillMarkVol": "",
            "fillPxUsd": "",
            "fillPxVol": "",
            "fillTime": "1695033476166",
            "from": "",
            "instId": "BTC-USDT",
            "instType": "SPOT",
            "interest": "0",
            "mgnMode": "isolated",
            "notes": "",
            "ordId": "623950854525124608",
            "pnl": "0",
            "posBal": "0",
            "posBalChg": "0",
            "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 账户层面的余额变动数量
    posBalChg String 仓位层面的余额变动数量
    bal String 账户层面的余额数量
    posBal String 仓位层面的余额数量
    sz String 数量
    px String 价格,与 subType 相关
  • 为成交价格时有
  • 1:买入 2:卖出
    ccy String 账户余额币种
    pnl String 收益
    fee String 手续费
    正数代表平台返佣 ,负数代表平台扣除
    mgnMode String 保证金模式
    isolated:逐仓 cross:全仓
    无仓位类型字段,该字段返回 ""
    instId String 产品ID,如 BTC-USDT
    ordId String 订单ID
    当type为2:交易时,返回相应订单id。无订单时,该字段返回 ""
    execType String 流动性方向
    T:taker
    M:maker
    from String 转出账户
    6:资金账户
    18:交易账户
    仅适用于资金划转,不是资金划转时,返回 ""
    to String 转入账户
    6:资金账户
    18:交易账户
    仅适用于资金划转,不是资金划转时,返回 ""
    notes String 备注
    interest String 利息
    tag String 订单标签
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字,且长度在1-16位之间。
    fillTime String 最新成交时间
    tradeId String 最新成交ID
    clOrdId String 客户自定义订单ID
    fillIdxPx String 交易执行时的指数价格
    对于交叉现货币对,返回 baseCcy-USDT 的指数价格。 例如LTC-ETH,该字段返回LTC-USDT的指数价格。
    fillMarkPx String 成交时的标记价格,仅适用于 交割/永续/期权
    fillPxVol String 成交时的隐含波动率,仅适用于期权,其他业务线返回空字符串""
    fillPxUsd String 成交时的期权价格,以USD为单位,仅适用于期权,其他业务线返回空字符串""
    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"
    
    flag = "1"  # 实盘:0 , 模拟盘:1
    
    accountAPI = Account.AccountAPI(apikey, secretkey, passphrase, False, flag)
    
    # 查看账户配置
    result = accountAPI.get_account_config()
    print(result)
    

    请求参数

    返回结果

    {
        "code": "0",
        "data": [
            {
                "acctLv": "2",
                "acctStpMode": "cancel_maker",
                "autoLoan": false,
                "ctIsoMode": "automatic",
                "discountType": "1",
                "enableSpotBorrow": false,
                "greeksType": "PA",
                "ip": "",
                "kycLv": "3",
                "label": "v5 test",
                "level": "Lv1",
                "levelTmp": "",
                "liquidationGear": "-1",
                "mainUid": "44705892343619584",
                "mgnIsoMode": "automatic",
                "opAuth": "1",
                "perm": "read_only,withdraw,trade",
                "posMode": "long_short_mode",
                "roleType": "0",
                "spotBorrowAutoRepay": false,
                "spotOffsetType": "",
                "spotRoleType": "0",
                "spotTraderInsts": [],
                "traderInsts": [],
                "uid": "44705892343619584"
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    uid String 当前请求的账户ID,账户uid和app上的一致
    mainUid String 当前请求的母账户ID
    如果 uid = mainUid,代表当前账号为母账户;如果 uid != mainUid,代表当前账户为子账户。
    acctLv String 账户模式
    1:现货模式
    2:现货和合约模式
    3:跨币种保证金模式
    4:组合保证金模式
    acctStpMode String 账户自成交保护模式
    cancel_maker:撤销挂单
    cancel_taker:撤销吃单
    cancel_both:撤销挂单和吃单
    用户可通过母账户登录网页修改该配置
    posMode String 持仓方式
    long_short_mode:开平仓模式
    net_mode:买卖模式
    仅适用交割/永续
    autoLoan Boolean 是否自动借币
    true:自动借币 false:非自动借币
    greeksType String 当前希腊字母展示方式
    PA:币本位 BS:美元本位
    level String 当前在平台上真实交易量的用户等级,例如 Lv1
    levelTmp String 特约用户的临时体验用户等级,例如 Lv3
    ctIsoMode String 衍生品的逐仓保证金划转模式
    automatic:开仓划转
    autonomy:自主划转
    mgnIsoMode String 币币杠杆的逐仓保证金划转模式
    automatic:开仓划转
    quick_margin:一键借币(对于新的账户,包括新的子账户,有些默认是开仓划转,另外的默认是一键借币)
    spotOffsetType String 现货对冲类型
    1:现货对冲模式U模式
    2:现货对冲模式币模式
    3:非现货对冲模式
    适用于组合保证金模式
    roleType String 用户角色
    0:普通用户
    1:带单者
    2:跟单者
    traderInsts Array 当前账号已经设置的带单合约,仅适用于带单者
    spotRoleType String 现货跟单角色。
    0:普通用户;1:带单者;2:跟单者
    spotTraderInsts String 当前账号已经设置的带单币对,仅适用于带单者
    opAuth String 是否开通期权交易
    0:未开通
    1:已经开通
    kycLv String 母账户KYC等级
    0: 未认证
    1: 已完成 level 1 认证
    2: 已完成 level 2 认证
    3: 已完成 level 3认证
    如果请求来自子账户, kycLv 为其母账户的等级
    如果请求来自母账户, kycLv 为当前请求的母账户等级
    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:提币
    discountType String 当前账户所在的币种折扣率类型
    0: 原先的币种折算率规则,默认值
    1: 新的币种折算率规则
    用来确认当前账户所在的币种折扣率类型。当新的币种折算率规则全面生效后,接口将不再返回该字段,建议提前做好兼容。
    liquidationGear String 强平提醒的保证金率水平
    3 代表,保证金率达到 300% 时,每隔 1 小时 app 和 ”爆仓风险预警推送频道“会推送通知
    0 代表不提醒
    enableSpotBorrow Boolean 现货模式下是否支持借币
    true:支持
    false:不支持
    spotBorrowAutoRepay Boolean 现货模式下是否支持自动还币
    true:支持
    false:不支持

    获取最大可下单数量

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

    限速:20次/2s

    限速规则:UserID

    HTTP请求

    GET /api/v5/account/max-size

    请求示例

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

    请求参数

    参数名 类型 是否必须 描述
    instId String 产品ID,如 BTC-USDT
    支持同一业务线下的多产品ID查询(不超过5个),半角逗号分隔
    tdMode String 交易模式
    cash:非保证金
    px String 委托价格
    当指定多个产品ID查询时,忽略该参数,当未填写处理

    返回结果

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

    返回参数

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

    获取最大可用余额/保证金

    限速:20次/2s

    限速规则:UserID

    HTTP请求

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

    请求示例

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

    请求参数

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

    返回结果

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

    返回参数

    参数名 类型 描述
    instId String 产品ID
    availBuy String 最大买入可用数量
    availSell String 最大卖出可用数量

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

    限速:5次/2s

    限速规则:UserID

    HTTP请求

    GET /api/v5/account/trade-fee

    请求示例

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

    请求参数

    参数名 类型 是否必须 描述
    instType String 产品类型
    SPOT:币币
    instId String 产品ID,如 BTC-USDT
    仅适用于instType为币币

    返回结果

    {
        "code": "0",
        "msg": "",
        "data": [{
                "category": "1", //已废弃
                "delivery": "",
                "exercise": "",
                "instType": "SPOT",
                "level": "lv1",
                "maker": "-0.0008",
                "makerU": "",
                "makerUSDC": "",
                "taker": "-0.001",
                "takerU": "",
                "takerUSDC": "",
                "ts": "1608623351857",
                "fiat": []
            }
        ]
    }
    

    返回参数

    参数名 类型 描述
    level String 手续费等级
    taker String 对于币币,为 USDT 交易区的吃单手续费率
    maker String 对于币币,为 USDT 交易区的挂单手续费率
    takerU String USDT 合约吃单手续费率,仅适用于交割/永续
    makerU String USDT 合约挂单手续费率,仅适用于交割/永续
    delivery String 交割手续费率
    exercise String 行权手续费率
    instType String 产品类型
    takerUSDC String 对于币币,为 USDⓈ&Crypto 交易区的吃单手续费率
    makerUSDC String 对于币币,为 USDⓈ&Crypto 交易区的挂单手续费率
    ts String 数据返回时间,Unix时间戳的毫秒数格式,如 1597026383085
    category String 币种类别(已废弃)
    fiat Array 法币费率
    > ccy String 法币币种
    > taker String 吃单手续费率
    > maker 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": [{
            "adjEq": "55444.12216906034",
            "borrowFroz": "0",
            "details": [{
                "availBal": "4734.371190691436",
                "availEq": "4734.371190691435",
                "borrowFroz": "0",
                "cashBal": "4750.426970691436",
                "ccy": "USDT",
                "coinUsdPrice": "0.99927",
                "crossLiab": "0",
                "disEq": "4889.379316336831",
                "eq": "4892.951170691435",
                "eqUsd": "4889.379316336831",
                "smtSyncEq": "0",
                "fixedBal": "0",
                "frozenBal": "158.57998",
                "imr": "",
                "interest": "0",
                "isoEq": "0",
                "isoLiab": "0",
                "isoUpl": "0",
                "liab": "0",
                "maxLoan": "0",
                "mgnRatio": "",
                "mmr": "",
                "notionalLever": "",
                "ordFrozen": "0",
                "rewardBal": "0",
                "spotInUseAmt": "",
                "clSpotInUseAmt": "",
                "maxSpotInUseAmt": "",          
                "spotIsoBal": "0",
                "stgyEq": "150",
                "twap": "0",
                "uTime": "1705564213903",
                "upl": "-7.475800000000003",
                "uplLiab": "0",
                "spotBal": "",
                "openAvgPx": "",
                "accAvgPx": "",
                "spotUpl": "",
                "spotUplRatio": "",
                "totalPnl": "",
                "totalPnlRatio": ""
            }],
            "imr": "8.5737166146",
            "isoEq": "0",
            "mgnRatio": "143705.65988369548",
            "mmr": "0.342948664584",
            "notionalUsd": "85.737166146",
            "ordFroz": "0",
            "totalEq": "55868.06403501676",
            "uTime": "1705564223311",
            "upl": "-7.470342666000003"
        }]
    }
    

    推送数据参数

    参数名 类型 描述
    arg Object 请求订阅的频道
    > channel String 频道名
    > uid String 用户标识
    data Array 订阅的数据
    > uTime String 获取账户信息的最新时间,Unix时间戳的毫秒数格式,如 1597026383085
    > totalEq String 美金层面权益
    > isoEq String 美金层面逐仓仓位权益
    适用于现货和合约模式/跨币种保证金模式/组合保证金模式
    > adjEq String 美金层面有效保证金
    适用于现货模式/跨币种保证金模式/组合保证金模式
    > ordFroz String 美金层面全仓挂单占用保证金
    仅适用于现货模式/跨币种保证金模式
    > imr String 美金层面占用保证金
    适用于现货模式/跨币种保证金模式/组合保证金模式
    > mmr String 美金层面维持保证金
    适用于现货模式/跨币种保证金模式/组合保证金模式
    > borrowFroz String 账户美金层面潜在借币占用保证金
    仅适用于现货模式/跨币种保证金模式/组合保证金模式。在其他账户模式下为""。
    > mgnRatio String 美金层面保证金率
    适用于现货模式/跨币种保证金模式/组合保证金模式
    > notionalUsd String 以美金价值为单位的持仓数量,即仓位美金价值
    适用于现货模式/跨币种保证金模式/组合保证金模式
    > upl String 账户层面全仓未实现盈亏(美元单位)
    适用于跨币种保证金模式/组合保证金模式
    > details Array 各币种资产详细信息
    >> ccy String 币种
    >> eq String 币种总权益
    >> cashBal String 币种余额
    >> uTime String 币种余额信息的更新时间,Unix时间戳的毫秒数格式,如 1597026383085
    >> isoEq String 币种逐仓仓位权益
    适用于现货和合约模式/跨币种保证金模式/组合保证金模式
    >> availEq String 可用保证金
    适用于现货和合约模式/跨币种保证金模式/组合保证金模式
    >> disEq String 美金层面币种折算权益
    >> fixedBal String 抄底宝、逃顶宝功能的币种冻结金额
    >> availBal String 可用余额
    >> frozenBal String 币种占用金额
    >> ordFrozen 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 当前负债币种触发系统自动换币的风险
    0、1、2、3、4、5其中之一,数字越大代表您的负债币种触发自动换币概率越高
    适用于现货模式/跨币种保证金模式/组合保证金模式
    >> maxLoan String 币种最大可借
    适用于现货模式/跨币种保证金模式/组合保证金模式 的全仓
    >> eqUsd String 币种权益美金价值
    >> notionalLever String 币种杠杆倍数
    适用于现货和合约模式
    >> coinUsdPrice String 币种美元指数
    >> stgyEq String 策略权益
    >> isoUpl String 逐仓未实现盈亏
    适用于现货和合约模式/跨币种保证金模式/组合保证金模式
    >> borrowFroz String 币种美金层面潜在借币占用保证金
    仅适用于现货模式/跨币种保证金模式/组合保证金模式。在其他账户模式下为""。
    >> spotInUseAmt String 现货对冲占用数量
    适用于组合保证金模式
    >> clSpotInUseAmt String 用户自定义现货占用数量
    适用于组合保证金模式
    >> maxSpotInUseAmt String 系统计算得到的最大可能现货占用数量
    适用于组合保证金模式
    >> smtSyncEq String 智能跟单权益
    默认为0,仅适用于跟单人
    >> spotBal String 现货余额 ,单位为 币种,比如 BTC。点击了解更多
    >> openAvgPx Array 现货开仓成本价 单位 USD。 点击了解更多
    >> accAvgPx Array 现货累计成本价 单位 USD。 点击了解更多
    >> spotUpl String 现货未实现收益,单位 USD。 点击了解更多
    >> spotUplRatio String 现货未实现收益率。点击了解更多
    >> totalPnl String 现货累计收益,单位 USD。 点击了解更多
    >> totalPnlRatio String 现货累计收益率。点击了解更多

    撮合交易

    交易

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

    POST / 下单

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

    限速:60次/2s

    限速规则:UserID + Instrument ID

    HTTP请求

    POST /api/v5/trade/order

    请求示例

    # 币币下单
    POST /api/v5/trade/order
    body
    {
        "instId":"BTC-USDT",
        "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"
    
    flag = "1"  # 实盘: 0, 模拟盘: 1
    
    tradeAPI = Trade.TradeAPI(apikey, secretkey, passphrase, False, flag)
    
    # 现货模式限价单
    result = tradeAPI.place_order(
        instId="BTC-USDT",
        tdMode="cash",
        clOrdId="b15",
        side="buy",
        ordType="limit",
        px="2.15",
        sz="2"
    )
    
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instId String 产品ID,如 BTC-USDT
    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时,余额不足时,系统不会改单,下单会失败,仅适用于币币市价单
    stpId String 自成交保护ID。来自同一个母账户配着同一个ID的订单不能自成交
    用户自定义1<=x<=999999999的整数
    (已弃用)
    stpMode String 自成交保护模式
    默认为 cancel maker
    cancel_maker,cancel_taker,cancel_both
    Cancel both不支持FOK
    attachAlgoOrds Array of object 下单附带止盈止损信息
    > attachAlgoClOrdId String 下单附带止盈止损时,客户自定义的策略订单ID
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。
    订单完全成交,下止盈止损委托单时,该值会传给algoClOrdId
    > tpTriggerPx String 可选 止盈触发价,如果填写此参数,必须填写 止盈委托价
    > tpOrdPx String 可选 止盈委托价,如果填写此参数,必须填写 止盈触发价
    委托价格为-1时,执行市价止盈
    > slTriggerPx String 可选 止损触发价,如果填写此参数,必须填写 止损委托价
    > slOrdPx String 可选 止损委托价,如果填写此参数,必须填写 止损触发价
    委托价格为-1时,执行市价止损
    > tpTriggerPxType String 止盈触发价类型
    last:最新价格
    默认为last
    > slTriggerPxType String 止损触发价类型
    last:最新价格格
    默认为last
    > sz String 可选 数量。仅适用于“多笔止盈”的止盈订单,且对于“多笔止盈”的止盈订单必填
    > amendPxOnTriggerType String 是否启用开仓价止损,仅适用于分批止盈的止损订单,第一笔止盈触发时,止损触发价格是否移动到开仓均价止损
    0:不开启,默认值
    1:开启,且止损触发价不能为空

    返回结果

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

    返回参数

    参数名 类型 描述
    code String 结果代码,0表示成功
    msg String 错误信息,代码为0时,该字段为空
    data String 包含结果的对象数组
    > ordId String 订单ID
    > clOrdId String 客户自定义订单ID
    > tag String 订单标签
    > 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-USDT",
            "tdMode":"cash",
            "clOrdId":"b15",
            "side":"buy",
            "ordType":"limit",
            "px":"2.15",
            "sz":"2"
        },
        {
            "instId":"BTC-USDT",
            "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"
    
    flag = "1"  # 实盘: 0, 模拟盘: 1
    
    tradeAPI = Trade.TradeAPI(apikey, secretkey, passphrase, False, flag)
    
    # 批量下单
    place_orders_without_clOrdId = [
        {"instId": "BTC-USDT", "tdMode": "cash", "clOrdId": "b15", "side": "buy", "ordType": "limit", "px": "2.15", "sz": "2"},
        {"instId": "BTC-USDT", "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-USDT
    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时,余额不足时,系统不会改单,下单会失败,仅适用于币币市价单
    stpId String 自成交保护ID。来自同一个母账户配着同一个ID的订单不能自成交
    用户自定义1<=x<=999999999的整数
    (已弃用)
    stpMode String 自成交保护模式
    默认为 cancel maker
    cancel_maker,cancel_taker,cancel_both
    Cancel both不支持FOK
    attachAlgoOrds Array of object 下单附带止盈止损信息
    > attachAlgoClOrdId String 下单附带止盈止损时,客户自定义的策略订单ID
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。
    订单完全成交,下止盈止损委托单时,该值会传给algoClOrdId
    > tpTriggerPx String 可选 止盈触发价,如果填写此参数,必须填写 止盈委托价
    > tpOrdPx String 可选 止盈委托价,如果填写此参数,必须填写 止盈触发价
    委托价格为-1时,执行市价止盈
    > slTriggerPx String 可选 止损触发价,如果填写此参数,必须填写 止损委托价
    > slOrdPx String 可选 止损委托价,如果填写此参数,必须填写 止损触发价
    委托价格为-1时,执行市价止损
    > tpTriggerPxType String 止盈触发价类型
    last:最新价格
    默认为last
    > slTriggerPxType String 止损触发价类型
    last:最新价格
    默认为last
    > sz String 可选 数量。仅适用于“多笔止盈”的止盈订单,且对于“多笔止盈”的止盈订单必填
    > amendPxOnTriggerType String 是否启用开仓价止损,仅适用于分批止盈的止损订单,第一笔止盈触发时,止损触发价格是否移动到开仓均价止损
    0:不开启,默认值
    1:开启,且止损触发价不能为空

    返回结果

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

    返回参数

    参数名 类型 描述
    code String 结果代码,0表示成功
    msg String 错误信息,代码为0时,该字段为空
    data String 包含结果的对象数组
    > ordId String 订单ID
    > clOrdId String 客户自定义订单ID
    > tag String 订单标签
    > 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-USDT"
    }
    
    
    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.cancel_order(instId="BTC-USDT", ordId = "590908157585625111")
    print(result)
    

    请求参数

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

    返回结果

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

    返回参数

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

    POST / 批量撤单

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

    限速:300个/2s

    限速规则:UserID + instrumentID

    HTTP请求

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

    请求示例

    POST /api/v5/trade/cancel-batch-orders
    body
    [
        {
            "instId":"BTC-USDT",
            "ordId":"12312"
        },
        {
            "instId":"BTC-USDT",
            "ordId":"1212"
        }
    ]
    
    

    请求参数

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

    返回结果

    {
        "code":"0",
        "msg":"",
        "data":[
            {
                "clOrdId":"okt6",
                "ordId":"12345689",
                "sCode":"0",
                "sMsg":""
            },
            {
                "clOrdId":"okt7",
                "ordId":"12344",
                "sCode":"0",
                "sMsg":""
            }
        ]
    }
    

    返回参数

    参数名 类型 描述
    ordId String 订单ID
    clOrdId String 客户自定义订单ID
    sCode String 事件执行结果的code,0代表成功
    sMsg String 事件执行失败时的msg

    POST / 修改订单

    修改当前未成交的挂单

    限速:60次/2s

    限速规则:UserID + Instrument ID

    HTTP请求

    POST /api/v5/trade/amend-order

    请求示例

    POST /api/v5/trade/amend-order
    body
    {
        "ordId":"590909145319051111",
        "newSz":"2",
        "instId":"BTC-USDT"
    }
    
    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.amend_order(
        instId="BTC-USDT",
        ordId="590909145319051111",
        newSz="2"
    )
    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 可选 修改的新数量,对于部分成交订单,该数量应包含已成交数量。
    newPx String 可选 修改后的新价格
    attachAlgoOrds Array of object 下单附带止盈止损信息
    > attachAlgoId String 可选 附带止盈止损的订单ID,由系统生成,改单时,可用来标识该笔附带止盈止损订单。下止盈止损委托单时,该值不会传给 algoId
    > attachAlgoClOrdId String 可选 下单附带止盈止损时,客户自定义的策略订单ID
    > newTpTriggerPx String 可选 止盈触发价
    如果止盈触发价或者委托价为0,那代表删除止盈。只适用于交割和永续合约。
    > newTpOrdPx String 可选 止盈委托价
    委托价格为-1时,执行市价止盈。只适用于交割和永续合约。
    > newSlTriggerPx String 可选 止损触发价
    如果止损触发价或者委托价为0,那代表删除止损。只适用于交割和永续合约。
    > newSlOrdPx String 可选 止损委托价
    委托价格为-1时,执行市价止损。 只适用于交割和永续合约。
    > newTpTriggerPxType String 可选 止盈触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    只适用于交割/永续
    如果要新增止盈,该参数必填
    > newSlTriggerPxType String 可选 止损触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    只适用于交割/永续
    如果要新增止损,该参数必填
    > sz String 可选 新的张数。仅适用于“多笔止盈”的止盈订单且必填
    > amendPxOnTriggerType String 是否启用开仓价止损,仅适用于分批止盈的止损订单
    0:不开启,默认值
    1:开启

    返回结果

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

    返回参数

    参数名 类型 描述
    code String 结果代码,0表示成功
    msg String 错误信息,代码为0时,该字段为空
    data String 包含结果的对象数组
    > ordId String 订单ID
    > clOrdId String 用户自定义ID
    > 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-USDT"
        },
        {
            "ordId":"590909308792049555",
            "newSz":"2",
            "instId":"BTC-USDT"
        }
    ]
    
    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)
    
    # 按ordId修改未完成的订单
    amend_orders_with_orderId = [
        {"instId": "BTC-USDT", "ordId": "590909308792049444","newSz":"2"},
        {"instId": "BTC-USDT", "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 可选 修改的新数量,对于部分成交订单,该数量应包含已成交数量。
    newPx String 可选 修改后的新价格
    attachAlgoOrds Array of object 下单附带止盈止损信息
    > attachAlgoId String 可选 附带止盈止损的订单ID,由系统生成,改单时,可用来标识该笔附带止盈止损订单。下止盈止损委托单时,该值不会传给 algoId
    > attachAlgoClOrdId String 可选 下单附带止盈止损时,客户自定义的策略订单ID
    > newTpTriggerPx String 可选 止盈触发价
    如果止盈触发价或者委托价为0,那代表删除止盈。只适用于交割和永续合约。
    > newTpOrdPx String 可选 止盈委托价
    委托价格为-1时,执行市价止盈。只适用于交割和永续合约。
    > newSlTriggerPx String 可选 止损触发价
    如果止损触发价或者委托价为0,那代表删除止损。只适用于交割和永续合约。
    > newSlOrdPx String 可选 止损委托价
    委托价格为-1时,执行市价止损。 只适用于交割和永续合约。
    > newTpTriggerPxType String 可选 止盈触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    只适用于交割/永续
    如果要新增止盈,该参数必填
    > newSlTriggerPxType String 可选 止损触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    只适用于交割/永续
    如果要新增止损,该参数必填
    > sz String 可选 新的张数。仅适用于“多笔止盈”的止盈订单且必填
    > amendPxOnTriggerType String 是否启用开仓价止损,仅适用于分批止盈的止损订单
    0:不开启,默认值
    1:开启“开仓价止损”

    返回结果

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

    返回参数

    参数名 类型 描述
    code String 结果代码,0表示成功
    msg String 错误信息,代码为0时,该字段为空
    data String 包含结果的对象数组
    > ordId String 订单ID
    > clOrdId String 用户自定义ID
    > 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-USDT
    
    
    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)
    
    # 通过 ordId 查询订单
    result = tradeAPI.get_order(
        instId="BTC-USDT",
        ordId="680800019749904384"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instId String 产品ID,如 BTC-USDT
    只适用于交易中的产品
    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-USDT",
                "instType": "SPOT",
                "isTpLimit": "false",
                "lever": "",
                "linkedAlgoOrd": {
                    "algoId": ""
                },
                "ordId": "680800019749904384",
                "ordType": "market",
                "pnl": "0",
                "posSide": "net",
                "px": "",
                "pxType": "",
                "pxUsd": "",
                "pxVol": "",
                "quickMgnType": "",
                "rebate": "0",
                "rebateCcy": "USDT",
                "reduceOnly": "false",
                "side": "buy",
                "slOrdPx": "",
                "slTriggerPx": "",
                "slTriggerPxType": "",
                "source": "",
                "state": "filled",
                "stpId": "",
                "stpMode": "",
                "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 委托价格,对于期权,以币(如BTC, ETH)为单位
    pxUsd String 期权价格,以USD为单位
    仅适用于期权,其他业务线返回空字符串""
    pxVol String 期权订单的隐含波动率
    仅适用于期权,其他业务线返回空字符串""
    pxType String 期权的价格类型
    px:代表按价格下单,单位为币 (请求参数 px 的数值单位是BTC或ETH)
    pxVol:代表按pxVol下单
    pxUsd:代表按照pxUsd下单,单位为USD (请求参数px 的数值单位是USD)
    sz String 委托数量
    pnl String 收益,适用于有成交的平仓订单,其他情况均为0
    ordType String 订单类型
    market:市价单
    limit:限价单
    post_only:只做maker单
    fok:全部成交或立即取消
    ioc:立即成交并取消剩余
    optimal_limit_ioc:市价委托立即成交并取消剩余(仅适用交割、永续)
    mmp:做市商保护(仅适用于组合保证金账户模式下的期权订单)
    mmp_and_post_only:做市商保护且只做maker单(仅适用于组合保证金账户模式下的期权订单)
    op_fok:期权简选(全部成交或立即取消)
    side String 订单方向
    posSide String 持仓方向
    tdMode String 交易模式
    accFillSz String 累计成交数量
    对于币币杠杆,单位为交易货币,如 BTC-USDT, 单位为 BTC;对于市价单,无论tgtCcybase_ccy,还是quote_ccy,单位均为交易货币;
    对于交割、永续以及期权,单位为张。
    fillPx String 最新成交价格,如果成交数量为0,该字段为""
    tradeId String 最新成交ID
    fillSz String 最新成交数量
    对于币币杠杆,单位为交易货币,如 BTC-USDT, 单位为 BTC;对于市价单,无论tgtCcybase_ccy,还是quote_ccy,单位均为交易货币;
    对于交割、永续以及期权,单位为张。
    fillTime String 最新成交时间
    avgPx String 成交均价,如果成交数量为0,该字段也为""
    state String 订单状态
    canceled:撤单成功
    live:等待成交
    partially_filled:部分成交
    filled:完全成交
    mmp_canceled:做市商保护机制导致的自动撤单
    lever String 杠杆倍数,0.01到125之间的数值,仅适用于 币币杠杆/交割/永续
    attachAlgoClOrdId String 下单附带止盈止损时,客户自定义的策略订单ID
    tpTriggerPx String 止盈触发价
    tpTriggerPxType String 止盈触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    tpOrdPx String 止盈委托价
    slTriggerPx String 止损触发价
    slTriggerPxType String 止损触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    slOrdPx String 止损委托价
    attachAlgoOrds Array of object 下单附带止盈止损信息
    > attachAlgoId String 附带止盈止损的订单ID,改单时,可用来标识该笔附带止盈止损订单。下止盈止损委托单时,该值不会传给 algoId
    > attachAlgoClOrdId String 下单附带止盈止损时,客户自定义的策略订单ID
    > tpTriggerPx String 止盈触发价
    > tpTriggerPxType String 止盈触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    > tpOrdPx String 止盈委托价
    > slTriggerPx String 止损触发价
    > slTriggerPx String 止损触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    > slOrdPx String 止损委托价
    > sz 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:普通委托
    twap:TWAP自动换币
    adl:ADL自动减仓
    full_liquidation:强制平仓
    partial_liquidation:强制减仓
    delivery:交割
    ddh:对冲减仓类型订单
    reduceOnly String 是否只减仓,truefalse
    cancelSource String 订单取消来源的原因枚举值代码
    cancelSourceReason String 订单取消来源的对应具体原因
    quickMgnType String 一键借币类型,仅适用于杠杆逐仓的一键借币模式
    manual:手动
    auto_borrow:自动借币
    auto_repay:自动还币
    algoClOrdId String 客户自定义策略订单ID。策略订单触发,且策略单有algoClOrdId时有值,否则为""
    algoId String 策略委托单ID,策略订单触发时有值,否则为""
    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"
    
    flag = "1"  # 实盘: 0, 模拟盘: 1
    
    tradeAPI = Trade.TradeAPI(apikey, secretkey, passphrase, False, flag)
    
    # 查询所有未成交订单
    result = tradeAPI.get_order_list(
        instType="SPOT",
        ordType="post_only,fok,ioc"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instType String 产品类型
    SPOT:币币
    instId String 产品ID,如 BTC-USDT
    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-USDT",
                "instType": "SPOT",
                "isTpLimit": "false",
                "lever": "",
                "linkedAlgoOrd": {
                    "algoId": ""
                },
                "ordId": "1752588852617379840",
                "ordType": "post_only",
                "pnl": "0",
                "posSide": "net",
                "px": "13013.5",
                "pxType": "",
                "pxUsd": "",
                "pxVol": "",
                "quickMgnType": "",
                "rebate": "0",
                "rebateCcy": "USDT",
                "reduceOnly": "false",
                "side": "buy",
                "slOrdPx": "",
                "slTriggerPx": "",
                "slTriggerPxType": "",
                "source": "",
                "state": "live",
                "stpId": "",
                "stpMode": "cancel_maker",
                "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 委托价格,对于期权,以币(如BTC, ETH)为单位
    pxUsd String 期权价格,以USD为单位
    仅适用于期权,其他业务线返回空字符串""
    pxVol String 期权订单的隐含波动率
    仅适用于期权,其他业务线返回空字符串""
    pxType String 期权的价格类型
    px:代表按价格下单,单位为币 (请求参数 px 的数值单位是BTC或ETH)
    pxVol:代表按pxVol下单
    pxUsd:代表按照pxUsd下单,单位为USD (请求参数px 的数值单位是USD)
    sz String 委托数量
    pnl String 收益,适用于有成交的平仓订单,其他情况均为0
    ordType String 订单类型
    market:市价单
    limit:限价单
    post_only:只做maker单
    fok:全部成交或立即取消
    ioc:立即成交并取消剩余
    optimal_limit_ioc:市价委托立即成交并取消剩余(仅适用交割、永续)
    mmp:做市商保护(仅适用于组合保证金账户模式下的期权订单)
    mmp_and_post_only:做市商保护且只做maker单(仅适用于组合保证金账户模式下的期权订单)
    op_fok:期权简选(全部成交或立即取消)
    side String 订单方向
    posSide 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:最新价格
    index:指数价格
    mark:标记价格
    slTriggerPx String 止损触发价
    slTriggerPxType String 止损触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    slOrdPx String 止损委托价
    tpOrdPx String 止盈委托价
    attachAlgoOrds Array of object 下单附带止盈止损信息
    > attachAlgoId String 附带止盈止损的订单ID,改单时,可用来标识该笔附带止盈止损订单。下止盈止损委托单时,该值不会传给 algoId
    > attachAlgoClOrdId String 下单附带止盈止损时,客户自定义的策略订单ID
    > tpTriggerPx String 止盈触发价
    > tpTriggerPxType String 止盈触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    > tpOrdPx String 止盈委托价
    > slTriggerPx String 止损触发价
    > slTriggerPxType String 止损触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    > slOrdPx String 止损委托价
    > sz String 张数。仅适用于“多笔止盈”的止盈订单
    > amendPxOnTriggerType String 是否启用开仓价止损,仅适用于分批止盈的止损订单
    0:不开启,默认值
    1:开启
    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 一键借币类型,仅适用于杠杆逐仓的一键借币模式
    manual:手动
    auto_borrow:自动借币
    auto_repay:自动还币
    algoClOrdId String 客户自定义策略订单ID。策略订单触发,且策略单有algoClOrdId是有值,否则为"",
    algoId String 策略委托单ID,策略订单触发时有值,否则为""
    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"
    
    flag = "1"  # 实盘: 0, 模拟盘: 1
    
    tradeAPI = Trade.TradeAPI(apikey, secretkey, passphrase, False, flag)
    
    # 查询币币历史订单(7天内)
    # 已经撤销的未成交单 只保留2小时
    result = tradeAPI.get_orders_history(
        instType="SPOT",
        ordType="post_only,fok,ioc"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instType String 产品类型
    SPOT:币币
    instId String 产品ID,如 BTC-USDT
    ordType String 订单类型
    market:市价单
    limit:限价单
    post_only:只做maker单
    fok:全部成交或立即取消
    ioc:立即成交并取消剩余
    state String 订单状态
    canceled:撤单成功
    filled:完全成交
    mmp_canceled:做市商保护机制导致的自动撤单
    after String 请求此ID之前(更旧的数据)的分页内容,传的值为对应接口的ordId
    before String 请求此ID之后(更新的数据)的分页内容,传的值为对应接口的ordId
    begin String 筛选的开始时间戳,Unix 时间戳为毫秒数格式,如 1597026383085
    end String 筛选的结束时间戳,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-USDT",
                "instType": "SPOT",
                "isTpLimit": "false",
                "lever": "",
                "linkedAlgoOrd": {
                    "algoId": ""
                },
                "ordId": "680800019749904384",
                "ordType": "market",
                "pnl": "0",
                "posSide": "",
                "px": "",
                "pxType": "",
                "pxUsd": "",
                "pxVol": "",
                "quickMgnType": "",
                "rebate": "0",
                "rebateCcy": "USDT",
                "reduceOnly": "false",
                "side": "buy",
                "slOrdPx": "",
                "slTriggerPx": "",
                "slTriggerPxType": "",
                "source": "",
                "state": "filled",
                "stpId": "",
                "stpMode": "",
                "sz": "100",
                "tag": "",
                "tdMode": "cash",
                "tgtCcy": "quote_ccy",
                "tpOrdPx": "",
                "tpTriggerPx": "",
                "tpTriggerPxType": "",
                "tradeId": "744876980",
                "uTime": "1708587373362"
            }
        ],
        "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 委托价格,对于期权,以币(如BTC, ETH)为单位
    pxUsd String 期权价格,以USD为单位
    仅适用于期权,其他业务线返回空字符串""
    pxVol String 期权订单的隐含波动率
    仅适用于期权,其他业务线返回空字符串""
    pxType String 期权的价格类型
    px:代表按价格下单,单位为币 (请求参数 px 的数值单位是BTC或ETH)
    pxVol:代表按pxVol下单
    pxUsd:代表按照pxUsd下单,单位为USD (请求参数px 的数值单位是USD)
    sz String 委托数量
    ordType String 订单类型
    market:市价单
    limit:限价单
    post_only:只做maker单
    fok:全部成交或立即取消
    ioc:立即成交并取消剩余
    optimal_limit_ioc:市价委托立即成交并取消剩余(仅适用交割、永续)
    mmp:做市商保护(仅适用于组合保证金账户模式下的期权订单)
    mmp_and_post_only:做市商保护且只做maker单(仅适用于组合保证金账户模式下的期权订单)
    op_fok:期权简选(全部成交或立即取消)
    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:完全成交
    mmp_canceled:做市商保护机制导致的自动撤单
    lever String 杠杆倍数,0.01到125之间的数值,仅适用于 币币杠杆/交割/永续
    attachAlgoClOrdId String 下单附带止盈止损时,客户自定义的策略订单ID
    tpTriggerPx String 止盈触发价
    tpTriggerPxType String 止盈触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    tpOrdPx String 止盈委托价
    slTriggerPx String 止损触发价
    slTriggerPxType String 止损触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    slOrdPx String 止损委托价
    attachAlgoOrds Array of object 下单附带止盈止损信息
    > attachAlgoId String 附带止盈止损的订单ID,改单时,可用来标识该笔附带止盈止损订单。下止盈止损委托单时,该值不会传给 algoId
    > attachAlgoClOrdId String 下单附带止盈止损时,客户自定义的策略订单ID
    > tpTriggerPx String 止盈触发价
    > tpTriggerPxType String 止盈触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    > tpOrdPx String 止盈委托价
    > slTriggerPx String 止损触发价
    > slTriggerPxType String 止损触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    > slOrdPx String 止损委托价
    > sz 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
    pnl String 收益,适用于有成交的平仓订单,其他情况均为0
    category String 订单种类
    normal:普通委托
    twap:TWAP自动换币
    adl:ADL自动减仓
    full_liquidation:强制平仓
    partial_liquidation:强制减仓
    delivery:交割
    ddh:对冲减仓类型订单
    reduceOnly String 是否只减仓,truefalse
    cancelSource String 订单取消来源的原因枚举值代码
    cancelSourceReason String 订单取消来源的对应具体原因
    algoClOrdId String 客户自定义策略订单ID。策略订单触发,且策略单有algoClOrdId时有值,否则为"",
    algoId String 策略委托单ID,策略订单触发时有值,否则为""
    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"
    
    flag = "1"  # 实盘: 0, 模拟盘: 1
    
    tradeAPI = Trade.TradeAPI(apikey, secretkey, passphrase, False, flag)
    
    # 查询币币历史订单(3月内)
    result = tradeAPI.get_orders_history_archive(
        instType="SPOT",
        ordType="post_only,fok,ioc"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instType String 产品类型
    SPOT:币币
    MARGIN:币币杠杆
    SWAP:永续合约
    FUTURES:交割合约
    OPTION:期权
    instId String 产品ID,如BTC-USDT
    ordType String 订单类型
    market:市价单
    limit:限价单
    post_only:只做maker单
    fok:全部成交或立即取消
    ioc:立即成交并取消剩余
    state String 订单状态
    canceled:撤单成功
    filled:完全成交
    mmp_canceled:做市商保护机制导致的自动撤单
    after String 请求此ID之前(更旧的数据)的分页内容,传的值为对应接口的ordId
    before String 请求此ID之后(更新的数据)的分页内容,传的值为对应接口的ordId
    begin String 筛选的开始时间戳,Unix 时间戳为毫秒数格式,如 1597026383085
    end String 筛选的结束时间戳,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-USDT",
                "instType": "SPOT",
                "isTpLimit": "false",
                "lever": "",
                "ordId": "680800019749904384",
                "ordType": "market",
                "pnl": "0",
                "posSide": "",
                "px": "",
                "pxType": "",
                "pxUsd": "",
                "pxVol": "",
                "quickMgnType": "",
                "rebate": "0",
                "rebateCcy": "USDT",
                "reduceOnly": "false",
                "side": "buy",
                "slOrdPx": "",
                "slTriggerPx": "",
                "slTriggerPxType": "",
                "source": "",
                "state": "filled",
                "stpId": "",
                "stpMode": "",
                "sz": "100",
                "tag": "",
                "tdMode": "cash",
                "tgtCcy": "quote_ccy",
                "tpOrdPx": "",
                "tpTriggerPx": "",
                "tpTriggerPxType": "",
                "tradeId": "744876980",
                "uTime": "1708587373362"
            }
        ],
        "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 委托价格,对于期权,以币(如BTC, ETH)为单位
    pxUsd String 期权价格,以USD为单位
    仅适用于期权,其他业务线返回空字符串""
    pxVol String 期权订单的隐含波动率
    仅适用于期权,其他业务线返回空字符串""
    pxType String 期权的价格类型
    px:代表按价格下单,单位为币 (请求参数 px 的数值单位是BTC或ETH)
    pxVol:代表按pxVol下单
    pxUsd:代表按照pxUsd下单,单位为USD (请求参数px 的数值单位是USD)
    sz String 委托数量
    ordType String 订单类型
    market:市价单
    limit:限价单
    post_only:只做maker单
    fok:全部成交或立即取消
    ioc:立即成交并取消剩余
    optimal_limit_ioc:市价委托立即成交并取消剩余(仅适用交割、永续)
    mmp:做市商保护(仅适用于组合保证金账户模式下的期权订单)
    mmp_and_post_only:做市商保护且只做maker单(仅适用于组合保证金账户模式下的期权订单)
    op_fok:期权简选(全部成交或立即取消)
    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:完全成交
    mmp_canceled:做市商保护机制导致的自动撤单
    lever String 杠杆倍数,0.01到125之间的数值,仅适用于 币币杠杆/交割/永续
    attachAlgoClOrdId String 下单附带止盈止损时,客户自定义的策略订单ID
    tpTriggerPx String 止盈触发价
    tpTriggerPxType String 止盈触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    tpOrdPx String 止盈委托价
    slTriggerPx String 止损触发价
    slTriggerPxType String 止损触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    slOrdPx String 止损委托价
    stpId String 自成交保护ID
    如果自成交保护不适用则返回""
    (已弃用)
    attachAlgoOrds Array of object 下单附带止盈止损信息
    > attachAlgoId String 附带止盈止损的订单ID,改单时,可用来标识该笔附带止盈止损订单。下止盈止损委托单时,该值不会传给 algoId
    > attachAlgoClOrdId String 下单附带止盈止损时,客户自定义的策略订单ID
    > tpTriggerPx String 止盈触发价
    > tpTriggerPxType String 止盈触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    > tpOrdPx String 止盈委托价
    > slTriggerPx String 止损触发价
    > slTriggerPxType String 止损触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    > slOrdPx String 止损委托价
    > sz String 张数。仅适用于“多笔止盈”的止盈订单
    > amendPxOnTriggerType String 是否启用开仓价止损,仅适用于分批止盈的止损订单
    0:不开启,默认值
    1:开启
    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:普通委托
    twap:TWAP自动换币
    adl:ADL自动减仓
    full_liquidation:强制平仓
    partial_liquidation:强制减仓
    delivery:交割
    ddh:对冲减仓类型订单
    reduceOnly String 是否只减仓,truefalse
    cancelSource String 订单取消来源的原因枚举值代码
    cancelSourceReason String 订单取消来源的对应具体原因
    algoClOrdId String 客户自定义策略订单ID。策略订单触发,且策略单有algoClOrdId是有值,否则为"",
    algoId String 策略委托单ID,策略订单触发时有值,否则为""
    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"
    
    flag = "1"  # 实盘: 0, 模拟盘: 1
    
    tradeAPI = Trade.TradeAPI(apikey, secretkey, passphrase, False, flag)
    
    # 获取成交明细
    result = tradeAPI.get_fills()
    print(result)
    

    请求参数

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

    返回结果

    {
        "code": "0",
        "data": [
            {
                "side": "buy",
                "fillSz": "0.00192834",
                "fillPx": "51858",
                "fillPxVol": "",
                "fillFwdPx": "",
                "fee": "-0.00000192834",
                "fillPnl": "0",
                "ordId": "680800019749904384",
                "feeRate": "-0.001",
                "instType": "SPOT",
                "fillPxUsd": "",
                "instId": "BTC-USDT",
                "clOrdId": "",
                "posSide": "net",
                "billId": "680800019754098688",
                "fillMarkVol": "",
                "tag": "",
                "fillTime": "1708587373361",
                "execType": "T",
                "fillIdxPx": "",
                "tradeId": "744876980",
                "fillMarkPx": "",
                "feeCcy": "BTC",
                "ts": "1708587373362"
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    instType String 产品类型
    instId String 产品 ID
    tradeId String 最新成交 ID
    ordId String 订单 ID
    clOrdId String 用户自定义订单ID
    billId String 账单 ID
    tag String 订单标签
    fillPx String 最新成交价格
    fillSz String 最新成交数量
    fillIdxPx String 交易执行时的指数价格
    对于交叉现货币对,返回 baseCcy-USDT 的指数价格。 例如LTC-ETH,该字段返回 LTC-USDT 的指数价格。
    fillPnl String 最新成交收益,适用于有成交的平仓订单。其他情况均为0。
    fillPxVol String 成交时的隐含波动率,仅适用于期权,其他业务线返回空字符串""
    fillPxUsd String 成交时的期权价格,以USD为单位,仅适用于期权,其他业务线返回空字符串""
    fillMarkVol String 成交时的标记波动率,仅适用于期权,其他业务线返回空字符串""
    fillFwdPx String 成交时的远期价格,仅适用于期权,其他业务线返回空字符串""
    fillMarkPx String 成交时的标记价格,仅适用于 交割/永续/期权
    side String 订单方向 buy:买 sell:卖
    posSide String 持仓方向 long:多 short:空 买卖模式返回 net
    execType String 流动性方向 T:taker M:maker
    不适用于系统订单比如强平和ADL
    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"
    
    flag = "1"  # 实盘: 0, 模拟盘: 1
    
    tradeAPI = Trade.TradeAPI(apikey, secretkey, passphrase, False, flag)
    
    # 查询 币币 成交明细(3月内)
    result = tradeAPI.get_fills_history(
        instType="SPOT"
    )
    print(result)
    

    请求参数

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

    返回结果

    {
        "code": "0",
        "data": [
            {
                "side": "buy",
                "fillSz": "0.00192834",
                "fillPx": "51858",
                "fillPxVol": "",
                "fillFwdPx": "",
                "fee": "-0.00000192834",
                "fillPnl": "0",
                "ordId": "680800019749904384",
                "feeRate": "-0.001",
                "instType": "SPOT",
                "fillPxUsd": "",
                "instId": "BTC-USDT",
                "clOrdId": "",
                "posSide": "net",
                "billId": "680800019754098688",
                "fillMarkVol": "",
                "tag": "",
                "fillTime": "1708587373361",
                "execType": "T",
                "fillIdxPx": "",
                "tradeId": "744876980",
                "fillMarkPx": "",
                "feeCcy": "BTC",
                "ts": "1708587373362"
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    instType String 产品类型
    instId String 产品 ID
    tradeId String 最新成交 ID
    ordId String 订单 ID
    clOrdId String 用户自定义订单ID
    billId String 账单 ID
    tag String 订单标签
    fillPx String 最新成交价格
    fillSz String 最新成交数量
    fillIdxPx String 交易执行时的指数价格
    对于交叉现货币对,返回 baseCcy-USDT 的指数价格。 例如LTC-ETH,该字段返回LTC-USDT的指数价格。
    fillPnl String 最新成交收益,适用于有成交的平仓订单。其他情况均为0。
    fillPxVol String 成交时的隐含波动率,仅适用于期权,其他业务线返回空字符串""
    fillPxUsd String 成交时的期权价格,以USD为单位,仅适用于期权,其他业务线返回空字符串""
    fillMarkVol String 成交时的标记波动率,仅适用于期权,其他业务线返回空字符串""
    fillFwdPx String 成交时的远期价格,仅适用于期权,其他业务线返回空字符串""
    fillMarkPx String 成交时的标记价格,仅适用于 交割/永续/期权
    side String 订单方向
    buy:买
    sell:卖
    posSide String 持仓方向
    long:多
    short:空
    买卖模式返回 net
    execType String 流动性方向
    T:taker
    M:maker
    不适用于系统订单比如强平和ADL
    feeCcy String 交易手续费币种或者返佣金币种
    fee String 手续费金额或者返佣金额
    手续费扣除为‘负数’,如 -0.01
    手续费返佣为‘正数’,如 0.01
    ts String 成交明细产生时间,Unix时间戳的毫秒数格式,如1597026383085
    fillTime String 成交时间,与订单频道的fillTime相同
    feeRate String 手续费费率。 该字段仅对 币币杠杆返回

    POST / 倒计时全部撤单

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

    限速:1次/s

    限速规则:UserID

    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"
    
    flag = "1"  # 实盘: 0, 模拟盘: 1
    
    tradeAPI = Trade.TradeAPI(apikey, secretkey, passphrase, False, flag)
    
    # 设置倒计时全部撤单
    result = tradeAPI.cancel_all_after(
        timeOut="10"
    )
    
    print(result)
    
    

    请求参数

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

    返回结果

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

    返回参数

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

    GET / 获取账户限速

    获取账户限速相关信息

    仅有新订单及修改订单请求会被计入此限制。对于包含多个订单的批量请求,每个订单将被单独计数。

    更多细节,请见 基于成交比率的子账户限速

    限速:1次/s

    限速规则:UserID

    HTTP请求

    GET /api/v5/trade/account-rate-limit

    请求示例

    
    # 获取账户限速相关信息
    GET /api/v5/trade/account-rate-limit
    
    

    请求参数

    None

    返回结果

    {
       "code":"0",
       "data":[
          {
             "accRateLimit":"2000",
             "fillRatio":"0.1234",
             "mainFillRatio":"0.1234",
             "nextAccRateLimit":"2000",
             "ts":"123456789000"
          }
       ],
       "msg":""
    }
    
    

    返回参数

    参数名 类型 描述
    fillRatio String 监测期内子账户的成交比率
    适用于交易费等级 >= VIP 5的用户,其余用户返回""
    对于监测期内没有交易量的账户,返回"0"。对于监测期内有交易量,但没有订单操作数的用户,返回"9999"。
    mainFillRatio String 监测期内母账户合计成交比率
    适用于交易费等级 >= VIP 5的用户,其余用户返回""
    对于监测期内没有交易量的账户,返回"0"
    accRateLimit String 当前子账户交易限速(每两秒)
    nextAccRateLimit String 预计下一周期子账户交易限速(每两秒)
    适用于交易费等级 >= VIP 5的用户,其余用户返回""
    ts String 数据更新时间
    对于交易费等级>= VIP 5的用户,数据将于每日16:00(UTC+8)生成
    对于交易费等级 < VIP 5的用户,返回当前时间戳

    WS / 订单频道

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

    服务地址

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

    请求示例:

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

    请求参数

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

    成功返回示例:

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

    失败返回示例

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

    返回参数

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

    推送示例:单个

    {
        "arg": {
            "channel": "orders",
            "instType": "ANY",
            "uid": "614488474791936"
        },
        "data": [
            {
                "accFillSz": "0.001",
                "amendResult": "",
                "avgPx": "31527.1",
                "cTime": "1654084334977",
                "category": "normal",
                "ccy": "",
                "clOrdId": "",
                "code": "0",
                "execType": "M",
                "fee": "-0.02522168",
                "feeCcy": "USDT",
                "fillFee": "-0.02522168",
                "fillFeeCcy": "USDT",
                "fillNotionalUsd": "31.50818374",
                "fillPx": "31527.1",
                "fillSz": "0.001",
                "fillPnl": "0.01",
                "fillTime": "1654084353263",
                "fillPxVol": "",
                "fillPxUsd": "",
                "fillMarkVol": "",
                "fillFwdPx": "",
                "fillMarkPx": "",
                "instId": "BTC-USDT",
                "instType": "SPOT",
                "lever": "0",
                "msg": "",
                "notionalUsd": "31.50818374",
                "ordId": "452197707845865472",
                "ordType": "limit",
                "pnl": "0",
                "posSide": "",
                "px": "31527.1",
                "pxUsd":"",
                "pxVol":"",
                "pxType":"",
                "rebate": "0",
                "rebateCcy": "BTC",
                "reduceOnly": "false",
                "reqId": "",
                "side": "sell",
                "attachAlgoClOrdId": "",
                "slOrdPx": "",
                "slTriggerPx": "",
                "slTriggerPxType": "last",
                "source": "",
                "state": "filled",
                "stpId": "",
                "stpMode": "",
                "sz": "0.001",
                "tag": "",
                "tdMode": "cash",
                "tgtCcy": "",
                "tpOrdPx": "",
                "tpTriggerPx": "",
                "tpTriggerPxType": "last",
                "tradeId": "242589207",
                "lastPx": "38892.2",
                "quickMgnType": "",
                "algoClOrdId": "",
                "attachAlgoOrds": [],
                "algoId": "",
                "amendSource": "",
                "cancelSource": "",
                "uTime": "1654084353264"
            }
        ]
    }
    

    推送数据参数

    参数名 类型 描述
    arg Object 订阅成功的频道
    > channel String 频道名
    > uid String 用户标识
    > instType String 产品类型
    > instFamily String 交易品种
    > instId String 产品ID
    data Array 订阅的数据
    > instType String 产品类型
    > instId String 产品ID
    > ccy String 保证金币种,仅适用于现货和合约模式下的全仓币币杠杆订单
    > ordId String 订单ID
    > clOrdId String 由用户设置的订单ID来识别您的订单
    > tag String 订单标签
    > px String 委托价格,对于期权,以币(如BTC, ETH)为单位
    > pxUsd String 期权价格,以USD为单位
    仅适用于期权,其他业务线返回空字符串""
    > pxVol String 期权订单的隐含波动率
    仅适用于期权,其他业务线返回空字符串""
    > pxType String 期权的价格类型
    px:代表按价格下单,单位为币 (请求参数 px 的数值单位是BTC或ETH)
    pxVol:代表按pxVol下单
    pxUsd:代表按照pxUsd下单,单位为USD (请求参数px 的数值单位是USD)
    > sz String 原始委托数量,币币/币币杠杆,以币为单位;交割/永续/期权 ,以张为单位
    > notionalUsd String 委托单预估美元价值
    > fillNotionalUsd String 委托单已成交的美元价值
    > ordType String 订单类型
    market:市价单
    limit:限价单
    post_only:只做maker单
    fok:全部成交或立即取消单
    ioc:立即成交并取消剩余单
    optimal_limit_ioc:市价委托立即成交并取消剩余(仅适用交割、永续)
    mmp:做市商保护(仅适用于组合保证金账户模式下的期权订单)
    mmp_and_post_only:做市商保护且只做maker单(仅适用于组合保证金账户模式下的期权订单)
    op_fok:期权简选(全部成交或立即取消)
    > side String 订单方向,buy sell
    > posSide String 持仓方向
    long:开平仓模式开多
    short:开平仓模式开空
    net:买卖模式
    > tdMode String 交易模式
    保证金模式 isolated:逐仓 cross:全仓
    非保证金模式 cash:现金
    > tgtCcy String 市价单委托数量sz的单位
    base_ccy: 交易货币 quote_ccy:计价货币
    > fillPx String 最新成交价格
    > tradeId String 最新成交ID
    > fillSz String 最新成交数量
    对于币币杠杆,单位为交易货币,如 BTC-USDT, 单位为 BTC;对于市价单,无论tgtCcybase_ccy,还是quote_ccy,单位均为交易货币;
    对于交割、永续以及期权,单位为张。
    > fillPnl String 最新成交收益,适用于有成交的平仓订单。其他情况均为0。
    > fillTime String 最新成交时间
    > fillFee String 最新一笔成交的手续费金额或者返佣金额:
    手续费扣除 为 ‘负数’,如 -0.01 ;
    手续费返佣 为 ‘正数’,如 0.01
    > fillFeeCcy String 最新一笔成交的手续费币种或者返佣币种。
    如果fillFee小于0,为手续费币种;如果fillFee大于等于0,为返佣币种
    > fillPxVol String 成交时的隐含波动率仅适用于期权,其他业务线返回空字符串""
    > fillPxUsd String 成交时的期权价格,以USD为单位仅适用于期权,其他业务线返回空字符串""
    > fillMarkVol String 成交时的标记波动率,仅适用于期权,其他业务线返回空字符串""
    > fillFwdPx String 成交时的远期价格,仅适用于期权,其他业务线返回空字符串""
    > fillMarkPx String 成交时的标记价格,仅适用于 交割/永续/期权
    > execType String 最新一笔成交的流动性方向 T:taker M:maker
    > accFillSz String 累计成交数量
    对于币币杠杆,单位为交易货币,如 BTC-USDT, 单位为 BTC;对于市价单,无论tgtCcybase_ccy,还是quote_ccy,单位均为交易货币;
    对于交割、永续以及期权,单位为张。
    > fillNotionalUsd String 委托单已成交的美元价值
    > avgPx String 成交均价,如果成交数量为0,该字段也为0
    > state String 订单状态
    canceled:撤单成功
    live:等待成交
    partially_filled:部分成交
    filled:完全成交
    mmp_canceled:做市商保护机制导致的自动撤单
    > lever String 杠杆倍数,0.01到125之间的数值,仅适用于 币币杠杆/交割/永续
    > attachAlgoClOrdId String 下单附带止盈止损时,客户自定义的策略订单ID
    > tpTriggerPx String 止盈触发价
    > tpTriggerPxType String 止盈触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    > tpOrdPx String 止盈委托价,止盈委托价格为-1时,执行市价止盈
    > slTriggerPx String 止损触发价
    > slTriggerPxType String 止损触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    > slOrdPx String 止损委托价,止损委托价格为-1时,执行市价止损
    > attachAlgoOrds Array of object 下单附带止盈止损信息
    >> attachAlgoId String 附带止盈止损的订单ID,改单时,可用来标识该笔附带止盈止损订单。下止盈止损委托单时,该值不会传给 algoId
    >> attachAlgoClOrdId String 下单附带止盈止损时,客户自定义的策略订单ID
    >> tpTriggerPx String 止盈触发价
    >> tpTriggerPxType String 止盈触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    >> tpOrdPx String 止盈委托价
    >> slTriggerPx String 止损触发价
    >> slTriggerPxType String 止损触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    >> slOrdPx String 止损委托价
    >> sz String 张数。仅适用于“多笔止盈”的止盈订单
    >> amendPxOnTriggerType String 是否启用开仓价止损,仅适用于分批止盈的止损订单
    0:不开启,默认值
    1:开启
    > stpId String 自成交保护ID
    如果自成交保护不适用则返回""
    (已弃用)
    > stpMode String 自成交保护模式
    > feeCcy String 交易手续费币种
    币币/币币杠杆:如果是买的话,收取的就是交易币;如果是卖的话,收取的就是计价币。
    交割/永续/期权 收取的就是保证金
    > fee String 订单交易累计的手续费与返佣
    对于币币和杠杆,为订单交易累计的手续费,平台向用户收取的交易手续费,为负数。如: -0.01
    对于交割、永续和期权,为订单交易累计的手续费和返佣
    > rebateCcy String 返佣金币种 ,如果没有返佣金,该字段为“”
    > rebate String 返佣累计金额,仅适用于币币和杠杆,平台向达到指定lv交易等级的用户支付的挂单奖励(返佣),如果没有返佣金,该字段为“”
    > pnl String 收益,适用于有成交的平仓订单,其他情况均为0
    对于合约全仓爆仓,将包含相应强平惩罚金
    > source String 订单来源
    6:计划委托策略触发后的生成的普通单
    7:止盈止损策略触发后的生成的普通单
    13:策略委托单触发后的生成的普通单
    25:移动止盈止损策略触发后的生成的普通单
    > cancelSource String 订单取消的来源
    有效值及对应的含义是:
    0: 已撤单:系统撤单
    1: 用户主动撤单
    2: 已撤单:预减仓撤单,用户保证金不足导致挂单被撤回
    3: 已撤单:风控撤单,用户保证金不足有爆仓风险,导致挂单被撤回
    4: 已撤单:币种借币量达到平台硬顶,系统已撤回该订单
    6: 已撤单:触发 ADL 撤单,用户保证金率较低且有爆仓风险,导致挂单被撤回
    7: 已撤单:交割合约到期
    9: 已撤单:扣除资金费用后可用余额不足,系统已撤回该订单
    13: 已撤单:FOK 委托订单未完全成交,导致挂单被完全撤回
    14: 已撤单:IOC 委托订单未完全成交,仅部分成交,导致部分挂单被撤回
    15: 已撤单:该订单委托价不在限价范围内
    17: 已撤单:平仓单被撤单,由于仓位已被市价全平
    20: 系统倒计时撤单
    21: 已撤单:相关仓位被完全平仓,系统已撤销该止盈止损订单
    22, 23: 已撤单:只减仓订单仅允许减少仓位数量,系统已撤销该订单
    27: 成交滑点超过5%,触发成交差价保护导致系统撤单
    31: 当前只挂单订单 (Post only) 将会吃掉挂单深度
    32: 自成交保护
    33: 当前 taker 订单匹配的订单数量超过最大限制
    > amendSource String 订单修改的来源
    1: 用户主动改单,改单成功
    2: 用户主动改单,并且当前这笔订单被只减仓修改,改单成功
    3: 用户主动下单,并且当前这笔订单被只减仓修改,改单成功
    4: 用户当前已存在的挂单(非当前操作的订单),被只减仓修改,改单成功
    5:期权 px, pxVol 或 pxUsd 的跟随变动导致的改单,比如 iv=60,USD,px 锚定iv=60 时,USD, px 产生变动时的改单
    > category String 订单种类分类
    normal:普通委托订单种类
    twap:TWAP订单种类
    adl:ADL订单种类
    full_liquidation:爆仓订单种类
    partial_liquidation:减仓订单种类
    delivery:交割
    ddh:对冲减仓类型订单
    > uTime String 订单更新时间,Unix时间戳的毫秒数格式,如 1597026383085
    > cTime String 订单创建时间,Unix时间戳的毫秒数格式,如 1597026383085
    > reqId String 修改订单时使用的request ID,如果没有修改,该字段为""
    > amendResult String 修改订单的结果
    -1:失败
    0:成功
    1:自动撤单(修改请求返回成功但最终改单失败导致自动撤销)
    2: 自动改单成功,仅适用于期权pxUsd和pxVol订单的自动改单
    通过API修改订单时,如果cxlOnFail设置为true且修改返回结果为失败时,则返回 ""
    通过API修改订单时,如果修改返回结果为成功但修改最终失败后,当cxlOnFail设置为false时返回 -1;当cxlOnFail设置为true时则返回1
    通过Web/APP修改订单时,如果修改失败后,则返回-1
    > reduceOnly String 是否只减仓,truefalse
    > quickMgnType String 一键借币类型,仅适用于杠杆逐仓的一键借币模式
    manual:手动,auto_borrow:自动借币,auto_repay:自动还币
    > algoClOrdId String 客户自定义策略订单ID。策略订单触发,且策略单有algoClOrdId时有值,否则为"",
    > algoId String 策略委托单ID,策略订单触发时有值,否则为""
    > lastPx String 最新成交价
    > code String 错误码,默认为0
    > msg String 错误消息,默认为""

    WS / 下单

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

    限速:60次/2s

    限速规则:UserID + Instrument ID

    请求示例

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

    请求参数

    参数名 类型 是否必须 描述
    id String 消息的唯一标识
    用户提供,返回参数中会返回以便于找到相应的请求。
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度必须要在1-32位之间。
    op String 支持的业务操作
    order
    args Array 请求参数
    > instId String 产品ID,如 BTC-USDT
    > 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时,余额不足时,系统不会改单,下单会失败,仅适用于币币市价单
    > stpId String 自成交保护ID。来自同一个母账户配着同一个ID的订单不能自成交
    用户自定义1<=x<=999999999的整数
    (已弃用)
    > stpMode String 自成交保护模式
    默认为 cancel maker
    cancel_maker,cancel_taker,cancel_both
    Cancel both不支持FOK
    expTime String 请求有效截止时间。Unix时间戳的毫秒数格式,如 1597026383085

    成功返回示例

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

    失败返回示例

    {
        "id": "1512",
        "op": "order",
        "data": [{
            "clOrdId": "",
            "ordId": "",
            "tag": "",
            "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 订单标签
    > sCode String 订单状态码,0 代表成功
    > sMsg String 订单状态消息
    inTime String WebSocket 网关接收请求时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123
    outTime String WebSocket 网关发送响应时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123

    WS / 批量下单

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

    限速:300个/2s

    限速规则:UserID + Instrument ID

    请求示例

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

    请求参数

    参数名 类型 是否必须 描述
    id String 消息的唯一标识
    用户提供,返回参数中会返回以便于找到相应的请求。
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度必须要在1-32位之间。
    op String 支持的业务操作
    batch-orders
    args Array 请求参数
    > instId String 产品ID,如 BTC-USDT
    > 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时,余额不足时,系统不会改单,下单会失败,仅适用于币币市价单
    > stpId String 自成交保护ID。来自同一个母账户配着同一个ID的订单不能自成交
    用户自定义1<=x<=999999999的整数
    (已弃用)
    > stpMode String 自成交保护模式
    默认为 cancel maker
    cancel_maker,cancel_taker, cancel_both
    Cancel both不支持FOK
    expTime String 请求有效截止时间。Unix时间戳的毫秒数格式,如 1597026383085

    全部成功返回示例

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

    部分成功返回示例

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

    全部失败返回示例

    {
        "id": "1513",
        "op": "batch-orders",
        "data": [{
            "clOrdId": "oktswap6",
            "ordId": "",
            "tag": "",
            "sCode": "5XXXX",
            "sMsg": "Insufficient margin"
        }, {
            "clOrdId": "oktswap7",
            "ordId": "",
            "tag": "",
            "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 订单标签
    > sCode String 订单状态码,0 代表成功
    > sMsg String 事件执行失败或成功时的msg
    inTime String WebSocket 网关接收请求时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123
    outTime String WebSocket 网关发送响应时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123

    WS / 撤单

    撤销当前未完成订单

    限速:60次/2s

    限速规则:UserID + Instrument ID

    请求示例

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

    请求参数

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

    成功返回示例

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

    失败返回示例

    {
        "id": "1514",
        "op": "cancel-order",
        "data": [{
            "clOrdId": "",
            "ordId": "2510789768709120",
            "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
    > sCode String 订单状态码,0 代表成功
    > sMsg String 订单状态消息
    inTime String WebSocket 网关接收请求时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123
    outTime String WebSocket 网关发送响应时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123

    WS / 批量撤单

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

    限速:300个/2s

    限速规则:UserID + Instrument ID

    请求示例

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

    请求参数

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

    全部成功返回示例

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

    部分成功的返回示例

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

    全部失败的返回示例

    {
        "id": "1515",
        "op": "batch-cancel-orders",
        "data": [{
            "clOrdId": "oktswap6",
            "ordId": "2517748157541376",
            "sCode": "5XXXX",
            "sMsg": "order not exist"
        }, {
            "clOrdId": "oktswap7",
            "ordId": "2517748155771904",
            "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
    > sCode String 订单状态码,0 代表成功
    > sMsg String 订单状态消息
    inTime String WebSocket 网关接收请求时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123
    outTime String WebSocket 网关发送响应时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123

    WS / 改单

    修改当前未成交的订单

    限速:60次/2s

    限速规则:UserID + Instrument ID

    请求示例

    {
        "id": "1512",
        "op": "amend-order",
        "args": [{
            "instId": "BTC-USDT",
            "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 可选 请求修改的新数量
    newSznewPx不可同时为空。对于部分成交订单,该数量应包含已成交数量。
    > newPx String 可选 修改后的新价格
    expTime String 请求有效截止时间。Unix时间戳的毫秒数格式,如 1597026383085

    成功返回示例

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

    失败返回示例

    {
        "id": "1512",
        "op": "amend-order",
        "data": [{
            "clOrdId": "",
            "ordId": "2510789768709120",
            "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
    > reqId String 用户提供的reqId
    如果用户在请求中提供reqId,则返回相应reqId
    > sCode String 订单状态码,0 代表成功
    > sMsg String 订单状态消息
    inTime String WebSocket 网关接收请求时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123
    outTime String WebSocket 网关发送响应时的时间戳,Unix时间戳的微秒数格式,如 1597026383085123

    WS / 批量改单

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

    限速:300个/2s

    限速规则:UserID + Instrument ID

    请求示例

    {
        "id": "1513",
        "op": "batch-amend-orders",
        "args": [{
            "instId": "BTC-USDT",
            "ordId": "12345689",
            "newSz": "2"
        }, {
            "instId": "BTC-USDT",
            "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
    ordIdclOrdId必须传一个,若传两个,以ordId为主
    > clOrdId String 可选 用户提供的订单ID
    > reqId String 用户提供的请求ID
    如果提供,那在返回参数中返回reqId,方便找到相应的修改请求。
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。
    > newSz String 可选 修改后的新数量
    newSznewPx不可同时为空。对于部分成交订单,该数量应包含已成交数量。
    > newPx String 可选 修改后的新价格
    expTime String 请求有效截止时间。Unix时间戳的毫秒数格式,如 1597026383085

    全部成功返回示例

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

    全部失败返回示例

    {
        "id": "1513",
        "op": "batch-amend-orders",
        "data": [{
            "clOrdId": "",
            "ordId": "12345689",
            "reqId": "b12344",
            "sCode": "5XXXX",
            "sMsg": "order not exist"
        }, {
            "clOrdId": "oktswap7",
            "ordId": "",
            "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",
            "reqId": "b12344",
            "sCode": "0",
            "sMsg": ""
        }, {
            "clOrdId": "oktswap7",
            "ordId": "",
            "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
    > 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-USDT",
        "tdMode":"cash",
        "side":"buy",
        "ordType":"conditional",
        "sz":"2",
        "tpTriggerPx":"15",
        "tpOrdPx":"18"
    }
    
    # 计划委托策略下单
    POST /api/v5/trade/order-algo
    body
    {
        "instId": "BTC-USDT",
        "tdMode": "cash",
        "side": "buy",
        "ordType": "trigger",
        "sz": "10",
        "triggerPx": "100",
        "orderPx": "-1"
    }
    
    # 移动止盈止损策略下单
    POST /api/v5/trade/order-algo
    body
    {
        "instId": "BTC-USDT",
        "tdMode": "cash",
        "side": "buy",
        "ordType": "move_order_stop",
        "sz": "10",
        "callbackRatio": "0.05"
    }
    
    
    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.place_algo_order(
        instId="BTC-USDT",
        tdMode="cross",
        side="buy",
        ordType="conditional",
        sz="2",
        tpTriggerPx="15",
        tpOrdPx="18"
    )
    print(result)
    

    请求参数

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

    止盈止损

    了解更多 止盈止损

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

    计划委托

    了解更多 计划委托

    参数名 类型 是否必须 描述
    triggerPx String 计划委托触发价格
    orderPx String 委托价格
    委托价格为-1时,执行市价委托
    triggerPxType String 计划委托触发价格类型
    last:最新价格
    默认为last

    移动止盈止损

    了解更多 移动止盈止损

    参数名 类型 是否必须 描述
    callbackRatio String 可选 回调幅度的比例,如 "0.05"代表"5%"
    callbackRatiocallbackSpread只能传入一个
    callbackSpread String 可选 回调幅度的价距
    activePx String 激活价格
    激活价格是移动止盈止损的激活条件,当市场最新成交价达到或超过激活价格,委托被激活。激活后系统开始计算止盈止损的实际触发价格。如果不填写激活价格,即下单后就被激活。

    返回结果

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

    返回参数

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

    POST / 撤销策略委托订单

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

    限速:20次/2s

    限速规则:UserID + Instrument ID

    HTTP请求

    POST /api/v5/trade/cancel-algos

    请求示例

    POST /api/v5/trade/cancel-algos
    body
    [
        {
            "algoId":"590919993110396111",
            "instId":"BTC-USDT"
        },
        {
            "algoId":"590920138287841222",
            "instId":"BTC-USDT"
        }
    ]
    
    
    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)
    
    # 支持止盈止损,计划委托 类型的策略撤单
    algo_orders = [
        {"instId": "BTC-USDT", "algoId": "590919993110396111"},
        {"instId": "BTC-USDT", "algoId": "590920138287841222"}
    ]
    
    result = tradeAPI.cancel_algo_order(algo_orders)
    print(result)
    

    请求参数

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

    返回结果

    {
        "code":"0",
        "msg":"",
        "data":[
            {
                "algoId":"1234",
                "sCode":"0",
                "sMsg":""
            }
        ]
    }
    

    返回参数

    参数名 类型 描述
    algoId String 订单ID
    sCode String 事件执行结果的code,0代表成功
    sMsg String 事件执行失败时的msg

    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-USDT"
    }
    
    

    请求参数

    参数名 类型 是否必须 描述
    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 可选 止盈委托价
    委托价格为-1时,执行市价止盈
    newSlTriggerPx String 可选 止损触发价
    如果止损触发价或者委托价为0,那代表删除止损
    newSlOrdPx String 可选 止损委托价
    委托价格为-1时,执行市价止损
    newTpTriggerPxType String 可选 止盈触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    newSlTriggerPxType String 可选 止损触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格

    返回结果

    {
        "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-USDT",
                "instType": "SPOT",
                "last": "50962.7",
                "lever": "",
                "linkedOrd": {
                    "ordId": ""
                },
                "moveTriggerPx": "53423.160",
                "ordId": "",
                "ordIdList": [],
                "ordPx": "",
                "ordType": "move_order_stop",
                "posSide": "net",
                "pxLimit": "",
                "pxSpread": "",
                "pxVar": "",
                "quickMgnType": "",
                "reduceOnly": "false",
                "side": "buy",
                "slOrdPx": "",
                "slTriggerPx": "",
                "slTriggerPxType": "",
                "state": "live",
                "sz": "10",
                "szLimit": "",
                "tag": "",
                "tdMode": "cash",
                "tgtCcy": "",
                "timeInterval": "",
                "tpOrdPx": "",
                "tpTriggerPx": "",
                "tpTriggerPxType": "",
                "triggerPx": "",
                "triggerPxType": "",
                "triggerTime": "",
                "isTradeBorrowMode": "true"
            }
        ],
        "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 订单方向
    posSide 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:最新价格
    index:指数价格
    mark:标记价格
    tpOrdPx String 止盈委托价
    slTriggerPx String 止损触发价
    slTriggerPxType String 止损触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    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 附带止盈止损信息
    适用于现货和合约模式/跨币种保证金模式/组合保证金模式
    > attachAlgoClOrdId String 下单附带止盈止损时,客户自定义的策略订单ID,字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。
    订单完全成交,下止盈止损委托单时,该值会传给algoClOrdId。
    > tpTriggerPx String 止盈触发价,如果填写此参数,必须填写止盈委托价
    > tpTriggerPxType String 止盈触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    > tpOrdPx String 止盈委托价,如果填写此参数,必须填写止盈触发价
    委托价格为-1时,执行市价止盈
    > slTriggerPx String 止损触发价,如果填写此参数,必须填写止损委托价
    > slTriggerPxType String 止损触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    > slOrdPx String 止损委托价,如果填写此参数,必须填写止损触发价
    委托价格为-1时,执行市价止损
    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"
    
    flag = "1"  # 实盘: 0, 模拟盘: 1
    
    tradeAPI = Trade.TradeAPI(apikey, secretkey, passphrase, False, flag)
    
    # 查询所有未触发的单向止盈止损策略订单
    result = tradeAPI.order_algos_list(
        ordType="conditional"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    algoId String 策略委托单ID
    instType String 产品类型
    SPOT:币币
    instId String 产品ID,BTC-USDT
    ordType String 订单类型
    conditional:单向止盈止损
    oco:双向止盈止损
    trigger:计划委托
    move_order_stop:移动止盈止损
    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",
                "callbackRatio": "",
                "callbackSpread": "",
                "ccy": "",
                "clOrdId": "",
                "closeFraction": "",
                "failCode": "",
                "instId": "BTC-USDT",
                "instType": "SPOT",
                "last": "51014.6",
                "lever": "",
                "moveTriggerPx": "",
                "ordId": "",
                "ordIdList": [],
                "ordPx": "-1",
                "ordType": "trigger",
                "posSide": "net",
                "pxLimit": "",
                "pxSpread": "",
                "pxVar": "",
                "quickMgnType": "",
                "reduceOnly": "false",
                "side": "buy",
                "slOrdPx": "",
                "slTriggerPx": "",
                "slTriggerPxType": "",
                "state": "live",
                "sz": "10",
                "szLimit": "",
                "tag": "",
                "tdMode": "cash",
                "tgtCcy": "",
                "timeInterval": "",
                "tpOrdPx": "",
                "tpTriggerPx": "",
                "tpTriggerPxType": "",
                "triggerPx": "100",
                "triggerPxType": "last",
                "triggerTime": "0"
            }
        ],
        "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 订单方向
    posSide 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:最新价格
    index:指数价格
    mark:标记价格
    tpOrdPx String 止盈委托价
    slTriggerPx String 止损触发价
    slTriggerPxType String 止损触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    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 单笔数量
    仅适用于冰山委托时间加权委托
    tag String 订单标签
    pxLimit 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 附带止盈止损信息
    适用于现货和合约模式/跨币种保证金模式/组合保证金模式
    > attachAlgoClOrdId String 下单附带止盈止损时,客户自定义的策略订单ID,字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。
    订单完全成交,下止盈止损委托单时,该值会传给algoClOrdId。
    > tpTriggerPx String 止盈触发价,如果填写此参数,必须填写止盈委托价
    > tpTriggerPxType String 止盈触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    默认为last
    > tpOrdPx String 止盈委托价,如果填写此参数,必须填写止盈触发价
    委托价格为-1时,执行市价止盈
    > slTriggerPx String 止损触发价,如果填写此参数,必须填写止损委托价
    > slTriggerPxType String 止损触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    默认为last
    > slOrdPx String 止损委托价,如果填写此参数,必须填写止损触发价
    委托价格为-1时,执行市价止损
    cTime String 订单创建时间,Unix时间戳的毫秒数格式,如 1597026383085

    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:双向止盈止损
    trigger:计划委托
    move_order_stop:移动止盈止损
    state String 可选 订单状态
    effective:已生效
    canceled:已经撤销
    order_failed:委托失败
    statealgoId必填且只能填其一
    algoId String 可选 策略委托单ID
    instType String 产品类型
    SPOT:币币
    instId String 产品ID,BTC-USDT
    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",
                "callbackRatio": "",
                "callbackSpread": "",
                "ccy": "",
                "clOrdId": "",
                "closeFraction": "",
                "failCode": "",
                "instId": "BTC-USDT",
                "instType": "SPOT",
                "last": "51014.6",
                "lever": "",
                "moveTriggerPx": "",
                "ordId": "",
                "ordIdList": [],
                "ordPx": "-1",
                "ordType": "trigger",
                "posSide": "net",
                "pxLimit": "",
                "pxSpread": "",
                "pxVar": "",
                "quickMgnType": "",
                "reduceOnly": "false",
                "side": "buy",
                "slOrdPx": "",
                "slTriggerPx": "",
                "slTriggerPxType": "",
                "state": "canceled",
                "sz": "10",
                "szLimit": "",
                "tag": "",
                "tdMode": "cash",
                "tgtCcy": "",
                "timeInterval": "",
                "tpOrdPx": "",
                "tpTriggerPx": "",
                "tpTriggerPxType": "",
                "triggerPx": "100",
                "triggerPxType": "last",
                "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 订单方向
    posSide 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:最新价格
    index:指数价格
    mark:标记价格
    tpOrdPx String 止盈委托价
    slTriggerPx String 止损触发价
    slTriggerPxType String 止损触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    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 附带止盈止损信息
    适用于现货和合约模式/跨币种保证金模式/组合保证金模式
    > attachAlgoClOrdId String 下单附带止盈止损时,客户自定义的策略订单ID,字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。
    订单完全成交,下止盈止损委托单时,该值会传给algoClOrdId。
    > tpTriggerPx String 止盈触发价,如果填写此参数,必须填写止盈委托价
    > tpTriggerPxType String 止盈触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    默认为last
    > tpOrdPx String 止盈委托价,如果填写此参数,必须填写止盈触发价
    委托价格为-1时,执行市价止盈
    > slTriggerPx String 止损触发价,如果填写此参数,必须填写止损委托价
    > slTriggerPxType String 止损触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    默认为last
    > slOrdPx String 止损委托价,如果填写此参数,必须填写止损触发价
    委托价格为-1时,执行市价止损
    cTime String 订单创建时间,Unix时间戳的毫秒数格式,如 1597026383085

    WS / 策略委托订单频道

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

    服务地址

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

    请求示例:单个

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

    请求示例

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

    请求参数

    参数 类型 是否必须 描述
    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"
        },
        "connId": "a4d3ae55"
    }
    

    成功返回示例

    {
        "event": "subscribe",
        "arg": {
            "channel": "orders-algo",
            "instType": "SPOT"
        },
        "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"
        },
        "data": [{
            "actualPx": "0",
            "actualSide": "",
            "actualSz": "0",
            "algoClOrdId": "",
            "algoId": "581878926302093312",
            "attachAlgoOrds": [],
            "amendResult": "",
            "cTime": "1685002746818",
            "ccy": "",
            "clOrdId": "",
            "closeFraction": "",
            "failCode": "",
            "instId": "BTC-USDC",
            "instType": "SPOT",
            "last": "26174.8",
            "lever": "0",
            "notionalUsd": "11.0",
            "ordId": "",
            "ordIdList": [],
            "ordPx": "",
            "ordType": "conditional",
            "posSide": "",
            "quickMgnType": "",
            "reduceOnly": "false",
            "reqId": "",
            "side": "buy",
            "slOrdPx": "",
            "slTriggerPx": "",
            "slTriggerPxType": "",
            "state": "live",
            "sz": "11",
            "tag": "",
            "tdMode": "cross",
            "tgtCcy": "quote_ccy",
            "tpOrdPx": "-1",
            "tpTriggerPx": "1",
            "tpTriggerPxType": "last",
            "triggerPx": "",
            "triggerTime": "",
            "amendPxOnTriggerType": "0"
        }]
    }
    

    推送数据参数

    参数名 类型 描述
    arg Object 订阅成功的频道
    > channel String 频道名
    > uid String 用户标识
    > instType String 产品类型
    > instFamily String 交易品种
    适用于交割/永续/期权
    > instId String 产品ID
    data Array 订阅的数据
    > instType String 产品类型
    > instId String 产品ID
    > ccy String 保证金币种,仅现货和合约模式账户下的全仓币币杠杆需要选择保证金币种
    > ordId String 最新一笔订单ID,与策略委托订单关联的订单ID
    > ordIdList Array 订单ID列表,当止盈止损存在市价拆单时,会有多个。
    > algoId String 策略委托单ID
    > clOrdId String 客户自定义订单ID
    > sz String 委托数量
    币币/币币杠杆以币为单位
    交割/永续/期权以张为单位
    > ordType String 订单类型
    conditional:单向止盈止损
    oco:双向止盈止损
    trigger:计划委托
    > side String 订单方向
    buy
    sell
    > posSide String 持仓方向
    long:开平仓模式开多
    short:开平仓模式开空
    net:买卖模式
    > tdMode String 交易模式
    保证金模式 cross:全仓 isolated:逐仓
    非保证金模式 cash:现金
    > tgtCcy String 币币市价单委托数量sz的单位
    base_ccy:交易货币
    quote_ccy:计价货币
    仅适用于币币市价订单
    默认买单为quote_ccy,卖单为base_ccy
    > lever String 杠杆倍数,0.01到125之间的数值,仅适用于 币币杠杆/交割/永续
    > state String 订单状态
    live:待生效
    effective:已生效
    canceled:已撤销
    order_failed:委托失败
    partially_failed:部分委托失败
    > tpTriggerPx String 止盈触发价
    > tpTriggerPxType String 止盈触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    > tpOrdPx String 止盈委托价,委托价格为-1时,执行市价止盈
    > slTriggerPx String 止损触发价
    > slTriggerPxType String 止损触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    > slOrdPx String 止损委托价委托价格为-1时,执行市价止损
    > triggerPx String 计划委托单的触发价格
    > triggerPxType String 计划委托单的触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    > ordPx String 计划委托单的委托价格
    > last String 下单时的最新成交价
    > actualSz String 实际委托量
    > actualPx String 实际委价
    > tag String 订单标签
    > notionalUsd String 委托单预估美元价值
    > actualSide String 实际触发方向
    sl:止损
    tp:止盈
    仅适用于单向止盈止损委托双向止盈止损委托
    > triggerTime String 策略委托触发时间,Unix时间戳的毫秒数格式,如 1597026383085
    > reduceOnly String 是否只减仓
    truefalse
    > failCode String 代表策略触发失败的原因,已撤销和已生效时为"",委托失败时有值,如 51008;
    仅适用于单向止盈止损委托、双向止盈止损委托、移动止盈止损委托、计划委托。
    > algoClOrdId String 客户自定义策略订单ID
    > cTime String 订单创建时间,Unix时间戳的毫秒数格式,如 1597026383085
    > 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:最新价格
    index:指数价格
    mark:标记价格
    默认为last
    >> tpOrdPx String 止盈委托价,如果填写此参数,必须填写止盈触发价
    委托价格为-1时,执行市价止盈
    >> slTriggerPx String 止损触发价,如果填写此参数,必须填写止损委托价
    >> slTriggerPxType String 止损触发价类型
    last:最新价格
    index:指数价格
    mark:标记价格
    默认为last
    >> slOrdPx String 止损委托价,如果填写此参数,必须填写止损触发价
    委托价格为-1时,执行市价止损

    WS / 高级策略委托订单频道

    获取高级策略委托订单(冰山、时间加权、移动止盈止损),首次订阅推送,当下单、撤单等事件触发时,推送数据

    服务地址

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

    请求示例:单个

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

    请求示例

    {
        "op": "subscribe",
        "args": [{
            "channel": "algo-advance",
            "instType": "SPOT",
        }]
    }
    

    请求参数

    参数 类型 是否必须 描述
    op String 操作,subscribe unsubscribe
    args Array 请求订阅的频道列表
    > channel String 频道名
    algo-advance
    > instType String 产品类型
    SPOT:币币
    MARGIN:币币杠杆
    SWAP:永续合约
    FUTURES:交割合约
    ANY:全部
    > instId String 产品ID
    > algoId String 策略ID

    成功返回示例:单个

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

    成功返回示例

    {
        "event": "subscribe",
        "arg": {
            "channel": "algo-advance",
            "instType": "SPOT"
        },
        "connId": "a4d3ae55"
    }
    

    失败返回示例

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

    返回参数

    参数 类型 是否必须 描述
    event String 事件
    subscribe
    unsubscribe
    error
    arg Object 订阅的频道
    > channel String 频道名
    > instType String 产品类型
    SPOT:币币
    MARGIN:币币杠杆
    SWAP:永续合约
    FUTURES:交割合约
    ANY:全部
    > instId String 产品ID
    > algoId String 策略ID
    code String 错误码
    msg String 错误消息
    connId String WebSocket连接ID

    推送示例:单个

    {
        "arg":{
            "channel":"algo-advance",
            "uid": "77982378738415879",
            "instType":"SPOT",
            "instId":"BTC-USDT"
        },
        "data":[
            {
                "actualPx":"",
                "actualSide":"",
                "actualSz":"0",
                "algoId":"355056228680335360",
                "cTime":"1630924001545",
                "ccy":"",
                "clOrdId": "",
                "count":"1",
                "instId":"BTC-USDT",
                "instType":"SPOT",
                "lever":"0",
                "notionalUsd":"",
                "ordPx":"",
                "ordType":"iceberg",
                "pTime":"1630924295204",
                "posSide":"net",
                "pxLimit":"10",
                "pxSpread":"1",
                "pxVar":"",
                "side":"buy",
                "slOrdPx":"",
                "slTriggerPx":"",
                "state":"pause",
                "sz":"0.1",
                "szLimit":"0.1",
                "tag": "adadadadad",
                "tdMode":"cash",
                "timeInterval":"",
                "tpOrdPx":"",
                "tpTriggerPx":"",
                "triggerPx":"",
                "triggerTime":"",
                "callbackRatio":"",
                "callbackSpread":"",
                "activePx":"",
                "moveTriggerPx":"",
                "failCode": "",
                "algoClOrdId": "",
                "reduceOnly": "",
                "isTradeBorrowMode": true
            }
        ]
    }
    

    推送数据参数

    参数名 类型 描述
    arg Object 订阅成功的频道
    > channel String 频道名
    > uid String 用户标识
    > instType String 产品类型
    > instId String 产品ID
    > algoId String 策略ID
    data Array 订阅的数据
    > instType String 产品类型
    > instId String 产品ID
    > ccy String 保证金币种,仅现货和合约模式下的全仓币币杠杆需要选择保证金币种
    > ordId String 订单ID,与策略委托订单关联的订单ID
    > algoId String 策略委托单ID
    > clOrdId String 客户自定义订单ID
    > sz String 委托数量,币币/币币杠杆 以币为单位;交割/永续/期权 以张为单位
    > ordType String 订单类型
    iceberg:冰山委托
    twap:时间加权委托
    move_order_stop:移动止盈止损
    > side String 订单方向,buy sell
    > posSide String 持仓方向
    long:开平仓模式开多
    short:开平仓模式开空
    net:买卖模式
    > tdMode String 交易模式
    保证金模式 cross:全仓 isolated:逐仓
    非保证金模式 cash:现金
    > tgtCcy String 币币市价单委托数量sz的单位
    base_ccy: 交易货币 ;quote_ccy:计价货币
    仅适用于币币市价订单
    默认买单为quote_ccy,卖单为base_ccy
    > lever String 杠杆倍数,0.01到125之间的数值,仅适用于 币币杠杆/交割/永续
    > state String 订单状态
    live:待生效
    effective:已生效
    partially_effective:部分生效
    canceled:已撤销
    order_failed:委托失败
    > tpTriggerPx String 止盈触发价
    > tpOrdPx String 止盈委托价,委托价格为-1时,执行市价止盈
    > slTriggerPx String 止损触发价
    > slOrdPx String 止损委托价委托价格为-1时,执行市价止损
    > triggerPx String 计划委托单的触发价格
    > ordPx String 计划委托单的委托价格
    > actualSz String 实际委托量
    > actualPx String 实际委价
    > tag String 订单标签
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字,且长度在1-16位之间。
    > notionalUsd String 委托单预估美元价值
    > actualSide String 实际触发方向,sl:止损 tp:止盈
    > triggerTime String 策略委托触发时间,Unix时间戳的毫秒数格式,如 1597026383085
    > cTime String 订单创建时间,Unix时间戳的毫秒数格式,如 1597026383085
    > pxVar String 价格比例
    仅适用于冰山委托时间加权委托
    > pxSpread String 价距
    仅适用于冰山委托时间加权委托
    > szLimit String 单笔数量
    仅适用于冰山委托时间加权委托
    > pxLimit String 挂单限制价
    仅适用于冰山委托时间加权委托
    > timeInterval String 下单间隔
    仅适用于时间加权委托
    > count String 策略订单计数
    仅适用于冰山委托时间加权委托
    > callbackRatio String 回调幅度的比例
    仅适用于移动止盈止损
    > callbackSpread String 回调幅度的价距
    仅适用于移动止盈止损
    > activePx String 移动止盈止损激活价格
    仅适用于移动止盈止损
    > failCode String 代表策略触发失败的原因,已撤销和已生效时为"",委托失败时有值,如 51008;
    仅适用于单向止盈止损委托、双向止盈止损委托、移动止盈止损委托、计划委托。
    > algoClOrdId String 客户自定义策略订单ID
    > moveTriggerPx String 移动止盈止损触发价格
    仅适用于移动止盈止损
    > reduceOnly String 是否只减仓,truefalse
    > pTime String 订单信息的推送时间,Unix时间戳的毫秒数格式,如 1597026383085
    > isTradeBorrowMode Boolean 是否自动借币
    true:自动借币
    false:不自动借币
    仅适用于计划委托、移动止盈止损和 时间加权策略

    行情数据

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

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

    获取产品行情信息

    限速:20次/2s

    限速规则:IP

    HTTP请求

    GET /api/v5/market/tickers

    请求示例

    GET /api/v5/market/tickers?instType=SPOT
    
    
    import okx.MarketData as MarketData
    
    flag = "0"  # 实盘:0 , 模拟盘:1
    
    marketDataAPI =  MarketData.MarketAPI(flag=flag)
    
    # 获取所有产品行情信息
    result = marketDataAPI.get_tickers(
        instType="SPOT"
    )
    print(result)
    

    请求参数

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

    返回结果

    {
        "code":"0",
        "msg":"",
        "data":[
            {
                "instType": "SPOT",
                "instId": "BTC-USDT",
                "last": "51230",
                "lastSz": "0.18531491",
                "askPx": "51229.4",
                "askSz": "2.1683067",
                "bidPx": "51229.3",
                "bidSz": "0.28249897",
                "open24h": "51635.7",
                "high24h": "52080",
                "low24h": "50936",
                "volCcy24h": "539658490.410419122",
                "vol24h": "10476.2229261",
                "ts": "1708669508505",
                "sodUtc0": "51290.1",
                "sodUtc8": "51602.4"
            }
        ]
    }
    

    返回参数

    参数名 类型 描述
    instType String 产品类型
    instId String 产品ID
    last String 最新成交价
    lastSz String 最新成交的数量
    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-USDT
    
    
    import okx.MarketData as MarketData
    
    flag = "0"  # 实盘:0 , 模拟盘:1
    
    marketDataAPI =  MarketData.MarketAPI(flag=flag)
    
    # 获取单个产品行情信息
    result = marketDataAPI.get_ticker(
        instId="BTC-USDT"
    )
    print(result)
    

    请求参数

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

    返回结果

    {
        "code": "0",
        "msg": "",
        "data": [
            {
                "instType": "SPOT",
                "instId": "BTC-USDT",
                "last": "51240",
                "lastSz": "0.49011124",
                "askPx": "51240",
                "askSz": "0.64278176",
                "bidPx": "51239.9",
                "bidSz": "1.68139044",
                "open24h": "51695.6",
                "high24h": "52080",
                "low24h": "50936",
                "volCcy24h": "539533972.680195094",
                "vol24h": "10474.12353007",
                "ts": "1708669925904",
                "sodUtc0": "51290.1",
                "sodUtc8": "51602.4"
            }
        ]
    }
    

    返回参数

    参数名 类型 描述
    instType String 产品类型
    instId String 产品ID
    last String 最新成交价
    lastSz String 最新成交的数量
    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-USDT
    
    import okx.MarketData as MarketData
    
    flag = "0"  # 实盘:0 , 模拟盘:1
    
    marketDataAPI =  MarketData.MarketAPI(flag=flag)
    
    # 获取产品深度
    result = marketDataAPI.get_orderbook(
        instId="BTC-USDT"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instId String 产品ID,如 BTC-USDT
    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-USDT&sz=20
    

    请求参数

    参数名 类型 是否必须 描述
    instId String 产品ID,如 BTC-USDT
    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-USDT
    
    import okx.MarketData as MarketData
    
    flag = "0"  # 实盘:0 , 模拟盘:1
    
    marketDataAPI =  MarketData.MarketAPI(flag=flag)
    
    # 获取交易产品K线数据
    result = marketDataAPI.get_candlesticks(
        instId="BTC-USDT"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instId String 产品ID,如BTC-USDT
    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-USDT单位是USDT
    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-USDT
    
    import okx.MarketData as MarketData
    
    flag = "0"  # 实盘:0 , 模拟盘:1
    
    marketDataAPI =  MarketData.MarketAPI(flag=flag)
    
    # 获取交易产品历史K线数据
    result = marketDataAPI.get_history_candlesticks(
        instId="BTC-USDT"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instId String 产品ID,如 BTC-USDT
    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-USDT单位是USDT
    confirm String K线状态
    0:K线未完结
    1:K线已完结

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

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

    限速:100次/2s

    限速规则:IP

    HTTP请求

    GET /api/v5/market/trades

    请求示例

    GET /api/v5/market/trades?instId=BTC-USDT
    
    import okx.MarketData as MarketData
    
    flag = "0"  # 实盘:0 , 模拟盘:1
    
    marketDataAPI =  MarketData.MarketAPI(flag=flag)
    
    # 获取交易产品公共成交数据
    result = marketDataAPI.get_trades(
        instId="BTC-USDT"
    )
    print(result)
    

    请求参数

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

    返回结果

    {
        "code": "0",
        "msg": "",
        "data": [
            {
                "instId": "BTC-USDT",
                "side": "sell",
                "sz": "0.00001",
                "px": "29963.2",
                "tradeId": "242720720",
                "ts": "1654161646974"
            },
            {
                "instId": "BTC-USDT",
                "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 / 获取交易产品公共历史成交数据

    查询市场上的成交信息数据,可以分页获取最近3个月的数据。

    限速:20次/2s

    限速规则:IP

    HTTP请求

    GET /api/v5/market/history-trades

    请求示例

    GET /api/v5/market/history-trades?instId=BTC-USDT
    
    import okx.MarketData as MarketData
    
    flag = "0"  # 实盘:0 , 模拟盘:1
    
    marketDataAPI =  MarketData.MarketAPI(flag=flag)
    
    # 获取交易产品公共历史成交数据
    result = marketDataAPI.get_history_trades(
        instId="BTC-USDT"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    instId String 产品ID,如 BTC-USDT
    type String 分页类型
    1:tradeId 分页 2:时间戳分页
    默认为1:tradeId 分页
    after String 请求此 ID 或 ts 之前的分页内容,传的值为对应接口的 tradeId 或 ts
    before String 请求此ID之后(更新的数据)的分页内容,传的值为对应接口的 tradeId。
    不支持时间戳分页。单独使用时,会返回最新的数据。
    limit String 分页返回的结果集数量,最大为100,不填默认返回100条

    返回结果

    {
        "code": "0",
        "msg": "",
        "data": [
            {
                "instId": "BTC-USDT",
                "side": "sell",
                "sz": "0.00001",
                "px": "29963.2",
                "tradeId": "242720720",
                "ts": "1654161646974"
            },
            {
                "instId": "BTC-USDT",
                "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

    WS / 行情频道

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

    服务地址

    /ws/v5/public

    请求示例

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

    请求参数

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

    成功返回示例

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

    失败返回示例

    {
        "event": "error",
        "code": "60012",
        "msg": "Invalid request: {\"op\": \"subscribe\", \"argss\":[{ \"channel\" : \"tickers\", \"instId\" : \"LTC-USD-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-USDT"
        },
        "data": [{
            "instType": "SPOT",
            "instId": "BTC-USDT",
            "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 最新成交的数量
    > 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秒推送一次数据。

    服务地址

    /ws/v5/business

    请求示例

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

    请求参数

    参数 类型 是否必须 描述
    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-USDT"
        },
      "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-USDT"
      },
      "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-USDT单位是USDT
    > confirm String K线状态
    0:K线未完结
    1:K线已完结

    WS / 交易频道

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

    URL Path

    /ws/v5/public

    请求示例

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

    请求参数

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

    成功返回示例

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

    失败返回示例

    {
        "event": "error",
        "code": "60012",
        "msg": "Invalid request: {\"op\": \"subscribe\", \"argss\":[{ \"channel\" : \"trades\"\"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": "trades",
        "instId": "BTC-USDT"
      },
      "data": [
        {
          "instId": "BTC-USDT",
          "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-USDT
    > 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-USDT"
        }]
    }
    

    请求参数

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

    成功返回示例

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

    失败返回示例

    {
        "event": "error",
        "code": "60012",
        "msg": "Invalid request: {\"op\": \"subscribe\", \"argss\":[{ \"channel\" : \"trades-all\"\"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": "trades-all",
        "instId": "BTC-USDT"
      },
      "data": [
        {
          "instId": "BTC-USDT",
          "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-USDT
    > 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-USDT"
        }]
    }
    

    请求参数

    参数 类型 是否必须 描述
    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-USDT"
        },
        "connId": "a4d3ae55"
    }
    

    失败示例

    {
        "event": "error",
        "code": "60012",
        "msg": "Invalid request: {\"op\": \"subscribe\", \"argss\":[{ \"channel\" : \"books\"\"instId\" : \"BTC-USD-191227\"}]}",
        "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-USDT"
        },
        "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-USDT"
        },
        "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. 如果一段时间内没有深度更新,OKX将发一条消息'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-USDT-SWAP"
      },
      "data": [
        {
          "asks": [
            [
              "111.06","55154","0","2"
            ]
          ],
          "bids": [
            [
              "111.05","57745","0","2"
            ]
          ],
          "ts": "1670324386802",
          "seqId": 363996337
        }
      ]
    }
    

    books5 频道推送示例

    {
      "arg": {
        "channel": "books5",
        "instId": "BCH-USDT-SWAP"
      },
      "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-USDT-SWAP",
          "ts": "1670324386802",
          "seqId": 363996337
        }
      ]
    }
    

    公共数据

    公共数据功能模块下的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": "",
                "baseCcy": "BTC",
                "category": "1",
                "ctMult": "",
                "ctType": "",
                "ctVal": "",
                "ctValCcy": "",
                "expTime": "",
                "instFamily": "",
                "instId": "BTC-USDT",
                "instType": "SPOT",
                "lever": "10",
                "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",
                "optType": "",
                "quoteCcy": "USDT",
                "settleCcy": "",
                "state": "live",
                "stk": "",
                "tickSz": "0.1",
                "uly": ""
            }
        ]
    }
    

    返回参数

    参数名 类型 描述
    instType String 产品类型
    instId String 产品id, 如 BTC-USDT
    uly String 标的指数,如 BTC-USD,仅适用于交割/永续/期权
    instFamily String 交易品种,如 BTC-USD,仅适用于交割/永续/期权
    category String 币种类别(已废弃)
    baseCcy String 交易货币币种,如 BTC-USDT 中的 BTC ,仅适用于币币/币币杠杆
    quoteCcy String 计价货币币种,如 BTC-USDT 中的USDT ,仅适用于币币/币币杠杆
    settleCcy String 盈亏结算和保证金币种,如 BTC 仅适用于交割/永续/期权
    ctVal String 合约面值,仅适用于交割/永续/期权
    ctMult String 合约乘数,仅适用于交割/永续/期权
    ctValCcy String 合约面值计价币种,仅适用于交割/永续/期权
    optType String 期权类型,CP 仅适用于期权
    stk String 行权价格,仅适用于期权
    listTime String 上线时间
    Unix时间戳的毫秒数格式,如 1597026383085
    expTime String 产品下线时间
    适用于币币/杠杆/交割/永续/期权,对于 交割/期权,为交割/行权日期;亦可以为产品下线时间,有变动就会推送。
    lever String instId支持的最大杠杆倍数,不适用于币币期权
    tickSz String 下单价格精度,如 0.0001
    对于期权来说,是梯度中的最小下单价格精度,如果想要获取期权价格梯度,请使用"获取期权价格梯度"接口
    lotSz String 下单数量精度
    合约的数量单位是,现货的数量单位是交易货币
    minSz String 最小下单数量
    合约的数量单位是,现货的数量单位是交易货币
    ctType String 合约类型
    linear:正向合约
    inverse:反向合约
    仅适用于交割/永续
    alias String 合约日期别名
    this_week:本周
    next_week:次周
    this_month:本月
    next_month:次月
    quarter:季度
    next_quarter:次季度
    仅适用于交割
    不建议使用,用户应通过 expTime 字段获取合约的交割日期
    state String 产品状态
    live:交易中
    suspend:暂停中
    preopen:预上线,如:交割和期权的新合约在 live 之前,会有 preopen 状态
    test:测试中(测试产品,不可交易)
    maxLmtSz String 限价单的单笔最大委托数量
    合约的数量单位是,现货的数量单位是交易货币
    maxMktSz String 市价单的单笔最大委托数量
    合约的数量单位是,现货的数量单位是USDT
    maxLmtAmt String 限价单的单笔最大美元价值
    maxMktAmt String 市价单的单笔最大美元价值
    仅适用于币币/币币杠杆
    maxTwapSz String 时间加权单的单笔最大委托数量
    合约的数量单位是,现货的数量单位是交易货币
    maxIcebergSz String 冰山委托的单笔最大委托数量
    合约的数量单位是,现货的数量单位是交易货币
    maxTriggerSz String 计划委托委托的单笔最大委托数量
    合约的数量单位是,现货的数量单位是交易货币
    maxStopSz String 止盈止损市价委托的单笔最大委托数量
    合约的数量单位是,现货的数量单位是USDT

    获取系统时间

    获取系统时间

    限速: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

    产品频道

    服务地址

    /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:币币
    MARGIN:币币杠杆
    SWAP:永续合约
    FUTURES:交割合约
    OPTION:期权
    code String 错误码
    msg String 错误消息
    connId String WebSocket连接ID

    推送示例

    {
      "arg": {
        "channel": "instruments",
        "instType": "SPOT"
      },
      "data": [
        {
            "alias": "",
            "baseCcy": "BTC",
            "category": "1",
            "ctMult": "",
            "ctType": "",
            "ctVal": "",
            "ctValCcy": "",
            "expTime": "",
            "instFamily": "",
            "instId": "BTC-USDT",
            "instType": "SPOT",
            "lever": "10",
            "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",
            "optType": "",
            "quoteCcy": "USDT",
            "settleCcy": "",
            "state": "live",
            "stk": "",
            "tickSz": "0.1",
            "uly": ""
        }
      ]
    }
    

    推送数据参数

    参数名 类型 描述
    arg Object 订阅的频道
    > channel String 频道名
    > instType String 产品类型
    data Array 订阅的数据
    > instType String 产品类型
    > instId String 产品ID,如 BTC-USDT
    > category String 币种类别(已废弃)
    > uly String 标的指数,如 BTC-USD,仅适用于交割/永续/期权
    > instFamily String 交易品种,如 BTC-USD,仅适用于交割/永续/期权
    > baseCcy String 交易货币币种,如 BTC-USDTBTC,仅适用于币币/币币杠杆
    > quoteCcy String 计价货币币种,如 BTC-USDTUSDT,仅适用于币币/币币杠杆
    > settleCcy String 盈亏结算和保证金币种,如 BTC,仅适用于 交割/永续/期权
    > ctVal String 合约面值
    > ctMult String 合约乘数
    > ctValCcy String 合约面值计价币种
    > optType String 期权类型
    C:看涨期权
    P:看跌期权
    仅适用于期权
    > stk String 行权价格,仅适用于期权
    > listTime String 上线日期,仅适用于 交割/永续/期权
    > expTime String 产品下线日期
    适用于币币/杠杆/交割/永续/期权,对于 交割/期权,为自然的交割/行权日期;如果币币/杠杆/交割/永续产品人工下线,为产品下线日期,有变动就会推送。
    > lever String 该产品支持的最大杠杆倍数
    不适用于币币/期权。可用来区分币币杠杆币币
    > tickSz String 下单价格精度,如 0.0001
    对于期权来说,是梯度中的最小下单价格精度。
    > lotSz String 下单数量精度
    合约的数量单位是,现货的数量单位是交易货币
    > minSz String 最小下单数
    合约的数量单位是,现货的数量单位是交易货币
    > ctType String 合约类型
    linear:正向合约
    inverse:反向合约
    仅适用于交割/永续
    > alias String 合约日期别名
    this_week:本周
    next_week:次周
    this_month:本月
    next_month:次月
    quarter:季度
    next_quarter:次季度

    仅适用于交割
    不建议使用,用户应通过 expTime 字段获取合约的交割日期
    > state String 产品状态
    live:交易中
    suspend:暂停中
    expired:已过期
    preopen:预上线,如:交割和期权的新合约在上线之前,会有 preopen 状态
    test:测试中(测试产品,不可交易)
    > maxLmtSz String 限价单的单笔最大委托数量
    合约的数量单位是,现货的数量单位是交易货币
    > maxMktSz String 市价单的单笔最大委托数量
    合约的数量单位是,现货的数量单位是USDT
    > maxTwapSz String 时间加权单的单笔最大委托数量
    合约的数量单位是,现货的数量单位是交易货币
    > maxIcebergSz String 冰山委托的单笔最大委托数量
    合约的数量单位是,现货的数量单位是交易货币
    > maxTriggerSz String 计划委托委托的单笔最大委托数量
    合约的数量单位是,现货的数量单位是交易货币
    > maxStopSz String 止盈止损市价委托的单笔最大委托数量
    合约的数量单位是,现货的数量单位是USDT

    资金账户

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

    REST API

    获取币种列表

    获取当前用户KYC实体支持的币种列表。

    限速: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)
    

    请求参数

    参数 类型 是否必须 描述
    ccy String 币种,如 BTC
    支持多币种查询,币种之间半角逗号分隔

    返回结果

    {
      "code": "0",
      "msg": "",
      "data": [
        {
            "canDep": true,
            "canInternal": true,
            "canWd": true,
            "ccy": "BTC",
            "chain": "BTC-Bitcoin",
            "depQuotaFixed": "",
            "depQuoteDailyLayer2":"",
            "logoLink": "https://static.coinall.ltd/cdn/oksupport/asset/currency/icon/btc.png",
            "mainNet": true,
            "maxFee": "0.0004",
            "maxFeeForCtAddr": "0.0004",
            "maxWd": "500",
            "minDep": "0.00005",
            "minDepArrivalConfirm": "1",
            "minFee": "0.0002",
            "minFeeForCtAddr": "0.0002",
            "minWd": "0.001",
            "minWdUnlockConfirm": "3",
            "name": "Bitcoin",
            "needTag": false,
            "usedDepQuotaFixed": "",
            "usedWdQuota": "0",
            "wdQuota": "200",
            "wdTickSz": "8"
        }
      ]
    }
    

    返回参数

    参数名 类型 描述
    ccy String 币种名称,如 BTC
    name String 币种名称,不显示则无对应名称
    logoLink String 币种Logo链接
    chain String 币种链信息
    有的币种下有多个链,必须要做区分,如USDT下有USDT-ERC20USDT-TRC20多个链
    canDep Boolean 当前是否可充值
    false:不可链上充值
    true:可以链上充值
    canWd Boolean 当前是否可提币
    false:不可链上提币
    true:可以链上提币
    canInternal Boolean 当前是否可内部转账
    false:不可内部转账
    true:可以内部转账
    minDep String 币种单笔最小充值量
    minWd String 币种单笔最小链上提币
    maxWd String 币种单笔最大链上提币
    wdTickSz String 提币精度,表示小数点后的位数。提币手续费精度与提币精度保持一致。
    内部转账提币精度为小数点后8位。
    wdQuota String 过去24小时内提币额度(包含链上提币内部转账),单位为USD
    usedWdQuota String 过去24小时内已用提币额度,单位为USD
    minFee String 普通地址最小提币手续费数量
    适用于链上提币
    maxFee String 普通地址最大提币手续费数量
    适用于链上提币
    minFeeForCtAddr String 合约地址最小提币手续费数量
    适用于链上提币
    maxFeeForCtAddr String 合约地址最大提币手续费数量
    适用于链上提币
    mainNet Boolean 当前链是否为主链
    needTag Boolean 当前链提币是否需要标签(tag/memo)信息,如 EOS该字段为true
    minDepArrivalConfirm String 充值到账最小网络确认数。币已到账但不可提。
    minWdUnlockConfirm String 提现解锁最小网络确认数
    depQuotaFixed String 充币固定限额,单位为USD
    没有充币限制则返回""
    usedDepQuotaFixed String 已用充币固定额度,单位为USD
    没有充币限制则返回""
    depQuoteDailyLayer2 String Layer2网络每日充值上限

    获取资金账户余额

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

    限速:6次/s

    限速规则:UserID

    HTTP请求

    GET /api/v5/asset/balances

    请求示例

    GET /api/v5/asset/balances
    
    
    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_balances()
    print(result)
    

    请求参数

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

    返回结果

    {
        "code": "0",
        "msg": "",
        "data": [{
                "availBal": "37.11827078",
                "bal": "37.11827078",
                "ccy": "ETH",
                "frozenBal": "0"
            }
        ]
    }
    

    返回参数

    参数名 类型 描述
    ccy String 币种,如 BTC
    bal String 余额
    frozenBal String 冻结余额
    availBal String 可用余额

    获取不可交易资产

    限速:6 次/s

    限速规则:UserID

    HTTP 请求

    GET /api/v5/asset/non-tradable-assets

    请求示例

    GET /api/v5/asset/non-tradable-assets
    
    
    import okx.Funding as Funding
    
    # API initialization
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    flag = "1"  # Production trading: 0, Demo trading: 1
    
    fundingAPI = Funding.FundingAPI(apikey, secretkey, passphrase, False, flag)
    
    result = fundingAPI.get_non_tradable_assets()
    print(result)
    

    请求参数

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

    返回结果

    {
        "code": "0",
        "data": [
            {
                "bal": "989.84719571",
                "canWd": true,
                "ccy": "CELT",
                "chain": "CELT-OKTC",
                "ctAddr": "f403fb",
                "fee": "2",
                "logoLink": "https://static.coinall.ltd/cdn/assets/imgs/221/460DA8A592400393.png",
                "minWd": "0.1",
                "name": "",
                "needTag": false,
                "wdAll": false,
                "wdTickSz": "8"
            },
            {
                "bal": "0.001",
                "canWd": true,
                "ccy": "MEME",
                "chain": "MEME-ERC20",
                "ctAddr": "09b760",
                "fee": "5",
                "logoLink": "https://static.coinall.ltd/cdn/assets/imgs/207/2E664E470103C613.png",
                "minWd": "0.001",
                "name": "MEME Inu",
                "needTag": false,
                "wdAll": false,
                "wdTickSz": "8"
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    ccy String 币种名称,如 CELT
    name String 币种中文名称,不显示则无对应名称
    logoLink String 币种Logo链接
    bal String 可提余额
    canWd Boolean 是否可提
    false: 不可提 true: 可提
    chain String 支持提币的链
    minWd String 币种单笔最小提币量
    wdAll Boolean 该币种资产是否必须一次性全部提取
    fee String 提币固定手续费,单位是USDT。提币手续费精度为小数点后8位。
    ctAddr String 合约地址后6位
    wdTickSz String 提币精度,表示小数点后的位数
    needTag Boolean 提币的链是否需要标签(tag/memo)信息

    获取账户资产估值

    查看账户资产估值

    限速:1次/s

    限速规则: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)
    

    请求参数

    参数 类型 是否必须 描述
    ccy String 资产估值对应的单位
    BTC 、USDT
    USD 、CNY 、JPY、KRW、RUB、EUR
    VND 、IDR 、INR、PHP、THB、TRY
    AUD 、SGD 、ARS、SAR、AED、IQD
    默认为BTC为单位的估值

    返回结果

    {
        "code": "0",
        "data": [
            {
                "details": {
                    "classic": "124.6",
                    "earn": "1122.73",
                    "funding": "0.09",
                    "trading": "2544.28"
                },
                "totalBal": "3790.09",
                "ts": "1637566660769"
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    totalBal String 账户总资产估值
    ts String 数据更新时间,Unix时间戳的毫秒数格式,如 1597026383085
    details Object 各个账户的资产估值
    > funding String 资金账户
    > trading String 交易账户
    > classic String 经典账户 (已废弃)
    > earn String 金融账户

    资金划转

    调用时,API Key 需要有交易权限。

    支持母账户的资金账户划转到交易账户,母账户到子账户的资金账户和交易账户划转。

    子账户默认可转出至母账户,划转到同一母账户下的其他子账户,需要先调用 设置子账户主动转出权限 接口进行授权。

    限速:2 次/s

    限速规则:UserID + Currency

    HTTP 请求

    POST /api/v5/asset/transfer

    请求示例

    # 母账户USDT从资金账户划转1.5USDT到交易账户
    POST /api/v5/asset/transfer
    body 
    {
        "ccy":"USDT",
        "amt":"1.5",
        "from":"6",
        "to":"18"
    }
    
    # 母账户从资金账户划转1.5USDT到子账户的资金账户
    POST /api/v5/asset/transfer
    body 
    {
        "ccy":"USDT",
        "type":"1",
        "amt":"1.5",
        "from":"6",
        "to":"6",
        "subAcct":"mini"
    }
    
    # 子账户从资金账户划转1.5USDT到另一子账户的资金账户
    POST /api/v5/asset/transfer
    body 
    {
        "ccy":"USDT",
        "type":"4",
        "amt":"1.5",
        "from":"6",
        "to":"6",
        "subAcct":"mini"
    }
    
    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.funds_transfer(
        ccy="USDT",
        amt="1.5",
        from_="6",
        to="18"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    type String 划转类型
    0:账户内划转
    1:母账户转子账户(仅适用于母账户APIKey)
    2:子账户转母账户(仅适用于母账户APIKey)
    3:子账户转母账户(仅适用于子账户APIKey)
    4:子账户转子账户(仅适用于子账户APIKey,且目标账户需要是同一母账户下的其他子账户。子账户主动转出权限默认是关闭的,权限调整参考 设置子账户主动转出权限。)
    默认是0
    如果您希望通过母账户API Key控制子账户之间的划转,参考接口 子账户间资金划转
    ccy String 划转币种,如 USDT
    amt String 划转数量
    from String 转出账户
    6:资金账户
    18:交易账户
    to String 转入账户
    6:资金账户
    18:交易账户
    subAcct String 可选 子账户名称
    type1/2/4时,该字段必填
    loanTrans Boolean 是否支持跨币种保证金模式组合保证金模式下的借币转出
    true:支持借币转出
    false:不支持借币转出
    默认为false
    omitPosRisk String 是否忽略仓位风险
    默认为false
    仅适用于组合保证金模式
    clientId String 客户自定义ID
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。

    返回结果

    {
      "code": "0",
      "msg": "",
      "data": [
        {
          "transId": "754147",
          "ccy": "USDT",
          "clientId": "",
          "from": "6",
          "amt": "0.1",
          "to": "18"
        }
      ]
    }
    

    返回参数

    参数名 类型 描述
    transId String 划转 ID
    ccy String 划转币种
    from String 转出账户
    amt String 划转量
    to String 转入账户
    clientId String 客户自定义ID

    获取资金划转状态

    获取最近2个星期内的资金划转状态数据

    限速:10 次/s

    限速规则:UserID

    HTTP 请求

    GET /api/v5/asset/transfer-state

    请求示例

    GET /api/v5/asset/transfer-state?transId=1&type=1
    
    import okx.Funding as Funding
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    flag = "1"  # 实盘: 0, 模拟盘: 1
    
    fundingAPI = Funding.FundingAPI(apikey, secretkey, passphrase, False, flag)
    
    # 获取资金划转状态
    result = fundingAPI.transfer_state(
        transId="248424899",
        type="0"
    )
    print(result)
    
    

    请求参数

    参数名 类型 是否必须 描述
    transId String 可选 划转ID
    transId和clientId必须传一个,若传两个,以transId为主
    clientId String 可选 客户自定义ID
    type String 划转类型
    0:账户内划转
    1:母账户转子账户(仅适用于母账户APIKey)
    2:子账户转母账户(仅适用于母账户APIKey)
    3:子账户转母账户(仅适用于子账户APIKey)
    4:子账户转子账户(仅适用于子账户APIKey,且目标账户需要是同一母账户下的其他子账户)
    默认是0

    返回结果

    {
        "code": "0",
        "data": [
            {
                "amt": "1.5",
                "ccy": "USDT",
                "clientId": "",
                "from": "18",
                "instId": "", //已废弃
                "state": "success",
                "subAcct": "test",
                "to": "6",
                "toInstId": "", //已废弃
                "transId": "1",
                "type": "1"
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    transId String 划转 ID
    clientId String 客户自定义 ID
    ccy String 划转币种
    amt String 划转量
    type String 划转类型
    0:账户内划转
    1:母账户转子账户(仅适用于母账户APIKey)
    2:子账户转母账户(仅适用于母账户APIKey)
    3:子账户转母账户(仅适用于子账户APIKey)
    4:子账户转子账户(仅适用于子账户APIKey,且目标账户需要是同一母账户下的其他子账户)
    from String 转出账户
    6:资金账户
    18:交易账户
    to String 转入账户
    6:资金账户
    18:交易账户
    subAcct String 子账户名称
    instId String 已废弃
    toInstId String 已废弃
    state String 转账状态
    success:成功
    pending:处理中
    failed:失败

    获取资金流水

    查询最近一个月内资金账户账单流水

    限速:6 次/s

    限速规则:UserID

    HTTP 请求

    GET /api/v5/asset/bills

    请求示例

    GET /api/v5/asset/bills
    
    GET /api/v5/asset/bills?type=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.get_bills()
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    ccy String 币种
    type String 账单类型
    1:充值
    2:提现
    13:撤销提现
    20:转出至子账户(主体是母账户)
    21:从子账户转入(主体是母账户)
    22:转出到母账户(主体是子账户)
    23:母账户转入(主体是子账户)
    28:领取
    47:系统冲正
    48:活动得到
    49:活动送出
    61:[闪兑] 数字货币间兑换
    68:手续费返佣(通过返佣卡)
    72:收币
    73:送币
    74:送币退还
    75:申购余币宝
    76:赎回余币宝
    77:Jumpstart派发
    78:Jumpstart锁定
    80:DEFI/锁仓挖矿 产品申购
    82:DEFI/锁仓挖矿 产品赎回
    83:锁仓挖矿收益
    84:违约金
    116:法币创建订单
    117:法币完成订单
    118:法币取消订单
    124:Jumpstart 解锁
    130:从交易账户转入
    131:转出至交易账户
    132:[P2P] 客服冻结
    133:[P2P] 客服解冻
    134:[P2P] 客服转交
    135:跨链兑换
    136:ETH2.0质押 系统账户增加ETH(用于上链)
    137:ETH2.0申购
    138:ETH2.0兑换
    139:ETH2.0收益
    146:客户回馈
    150:节点返佣
    151:邀请奖励
    152:经纪商返佣
    160:双币赢申购
    161:双币赢回款
    162:双币赢收益
    163:双币赢退款
    172:[节点计划] 助力人返佣
    173:[节点计划] 手续费返现
    174:Jumpstart支付
    175:锁定质押物
    176:借款转入
    177:添加质押物
    178:减少质押物
    179:还款
    180:释放质押物
    181:偿还空投糖果
    185:[经纪商] 闪兑返佣
    187:[经纪商] 闪兑划转
    189:盲盒奖励
    195:不可交易资产提币
    196:不可交易资产提币撤销
    197:不可交易资产充值
    198:不可交易资产减少
    199:不可交易资产增加
    200:买入
    202:价格锁定申购
    203:价格锁定回款
    204:价格锁定收益
    205:价格锁定退款
    207:双币赢精简版申购
    208:双币赢精简版回款
    209:双币赢精简版收益
    210:双币赢精简版退款
    212:[活期借币] 多币种借贷锁定质押物
    214:[活期借币] 多币种质押物返还用户
    216:[活期借币] 多币种借贷划转到用户帐户
    218:[活期借币] 多币种借贷还款
    220:已下架数字货币
    221:提币手续费支出
    222:提币手续费退款
    223:合约带单分润
    225:鲨鱼鳍申购
    226:鲨鱼鳍回款
    227:鲨鱼鳍收益
    228:鲨鱼鳍退款
    229:空投发放
    233:经纪商佣金补偿
    240:雪球申購
    241:雪球回款
    242:雪球收益
    243:雪球交易失败
    249:海鸥申购
    250:海鸥回款
    251:海鸥收益
    252:海鸥退款
    263:策略分润
    265:信号收入
    266:现货带单分润
    270:DCD经纪商划转
    271:DCD经纪商返佣
    272:[闪兑] 买入数字货币/法币
    273:[闪兑] 卖出数字货币/法币
    284:[Custody] 转出交易子账户
    285:[Custody] 转入交易子账户
    286:[Custody] 转出托管资金账户
    287:[Custody] 转入托管资金账户
    288:[Custody] 托管资金入金
    289:[Custody] 托管资金出金
    299:推荐节点返佣
    300:手续费折扣返现
    303:雪球做市商转账
    304:定期简单赚币订单提交
    305:定期简单赚币订单赎回
    306:定期简单赚币本金发放
    307:定期简单赚币收益发放 (提前终止订单补偿)
    308:定期简单赚币收益发放
    309:定期简单赚币补偿收益发放 (订单延期补偿)
    311:系统转入小额资产
    clientId String 转账或提币的客户自定义ID
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。
    after String 查询在此之前的内容,值为时间戳,Unix 时间戳为毫秒数格式,如 1597026383085
    before String 查询在此之后的内容,值为时间戳,Unix 时间戳为毫秒数格式,如 1597026383085
    limit String 分页返回的结果集数量,最大为 100,不填默认返回 100 条

    返回结果

    {
      "code": "0",
      "msg": "",
      "data": [
        {
          "billId": "12344",
          "ccy": "BTC",
          "clientId": "",
          "balChg": "2",
          "bal": "12",
          "type": "1",
          "ts": "1597026383085"
        }
      ]
    }
    

    返回参数

    参数名 类型 描述
    billId String 账单 ID
    ccy String 账户余额币种
    clientId String 转账或提币的客户自定义ID
    balChg String 账户层面的余额变动数量
    bal String 账户层面的余额数量
    type String 账单类型
    ts String 账单创建时间,Unix 时间戳的毫秒数格式,如 1597026383085

    获取充值地址信息

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

    限速:6次/s

    限速规则:UserID

    HTTP请求

    GET /api/v5/asset/deposit-address

    请求示例

    GET /api/v5/asset/deposit-address?ccy=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(
        ccy="USDT"
    )
    print(result)
    

    请求参数

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

    返回结果

    {
        "code": "0",
        "data": [
            {
                "chain": "BTC-Bitcoin",
                "ctAddr": "",
                "ccy": "BTC",
                "to": "6",
                "addr": "39XNxK1Ryqgg3Bsyn6HzoqV4Xji25pNkv6",
                "verifiedName":"John Corner",
                "selected": true
            },
            {
                "chain": "BTC-OKC",
                "ctAddr": "",
                "ccy": "BTC",
                "to": "6",
                "addr": "0x66d0edc2e63b6b992381ee668fbcb01f20ae0428",
                "verifiedName":"John Corner",
                "selected": true
            },
            {
                "chain": "BTC-ERC20",
                "ctAddr": "5807cf",
                "ccy": "BTC",
                "to": "6",
                "addr": "0x66d0edc2e63b6b992381ee668fbcb01f20ae0428",
                "verifiedName":"John Corner",
                "selected": true
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    addr String 充值地址
    tag String 部分币种充值需要标签,若不需要则不返回此字段
    memo String 部分币种充值需要 memo,若不需要则不返回此字段
    pmtId String 部分币种充值需要此字段(payment_id),若不需要则不返回此字段
    addrEx Object 充值地址备注,部分币种充值需要,若不需要则不返回此字段
    如币种TONCOIN的充值地址备注标签名为comment,则该字段返回:{'comment':'123456'}
    ccy String 币种,如BTC
    chain String 币种链信息
    有的币种下有多个链,必须要做区分,如USDT下有USDT-ERC20USDT-TRC20多个链
    to String 转入账户
    6:资金账户 18:交易账户
    verifiedName String (接受方)已验证姓名
    selected Boolean 该地址是否为页面选中的地址
    ctAddr String 合约地址后6位

    获取充值记录

    根据币种,充值状态,时间范围获取充值记录,按照时间倒序排列,默认返回 100 条数据。
    支持Websocket订阅,参考 充值信息频道

    限速:6次/s

    限速规则:UserID

    HTTP 请求

    GET /api/v5/asset/deposit-history

    请求示例

    # 查询最近的充值记录
    GET /api/v5/asset/deposit-history
    
    # 查询从2022年06月01日到2022年07月01日之间的BTC的充值记录
    GET /api/v5/asset/deposit-history?ccy=BTC&after=1654041600000&before=1656633600000
    
    
    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)
    

    请求参数

    参数名 类型 是否必须 描述
    ccy String 币种名称,如 BTC
    depId String 充值记录 ID
    fromWdId String 内部转账发起者提币申请 ID
    如果该笔充值来自于内部转账,则该字段展示内部转账发起者的提币申请 ID
    txId String 区块转账哈希记录
    type String 充值方式
    3:内部转账
    4:链上充值
    state String 充值状态
    0:等待确认
    1:确认到账
    2:充值成功
    8:因该币种暂停充值而未到账,恢复充值后自动到账
    11:命中地址黑名单
    12:账户或充值被冻结
    13:子账户充值拦截
    14:KYC限额
    after String 查询在此之前的内容,值为时间戳,Unix 时间戳为毫秒数格式,如 1654041600000
    before String 查询在此之后的内容,值为时间戳,Unix 时间戳为毫秒数格式,如 1656633600000
    limit string 返回的结果集数量,默认为100,最大为100,不填默认返回100条

    返回结果

    {
      "code": "0",
      "msg": "",
      "data": [
        {
            "actualDepBlkConfirm": "2",
            "amt": "1",
            "areaCodeFrom": "",
            "ccy": "USDT",
            "chain": "USDT-TRC20",
            "depId": "88****33",
            "from": "",
            "fromWdId": "",
            "state": "2",
            "to": "TN4hGjVXMzy*********9b4N1aGizqs",
            "ts": "1674038705000",
            "txId": "fee235b3e812********857d36bb0426917f0df1802"
        }
      ]
    }
    

    返回参数

    参数名 类型 描述
    ccy String 币种名称,如 BTC
    chain String 币种链信息
    有的币种下有多个链,必须要做区分,如USDT下有USDT-ERC20USDT-TRC20多个链
    amt String 充值数量
    from String 充值账户
    如果该笔充值来自于内部转账,则该字段展示内部转账发起者的账户信息,可以是手机号、邮箱、账户名称,其他情况返回""
    areaCodeFrom String 如果from为手机号,该字段为该手机号的区号
    to String 到账地址
    如果该笔充值来自于链上充值,则该字段展示链上地址,其他情况返回""
    txId String 区块转账哈希记录
    ts String 充值记录创建时间,Unix 时间戳的毫秒数格式,如 1655251200000
    state String 充值状态
    0:等待确认
    1:确认到账
    2:充值成功
    8:因该币种暂停充值而未到账,恢复充值后自动到账
    11:命中地址黑名单
    12:账户或充值被冻结
    13:子账户充值拦截
    14:KYC限额
    depId String 充值记录 ID
    fromWdId String 内部转账发起者提币申请 ID
    如果该笔充值来自于内部转账,则该字段展示内部转账发起者的提币申请 ID,其他情况返回""
    actualDepBlkConfirm String 最新的充币网络确认数

    提币

    用户提币。普通子账户不支持提币。

    限速:6次/s

    限速规则:UserID

    HTTP请求

    POST /api/v5/asset/withdrawal

    请求示例

    # 链上提币
    POST /api/v5/asset/withdrawal
    body
    {
        "amt":"1",
        "fee":"0.0005",
        "dest":"4",
        "ccy":"BTC",
        "chain":"BTC-Bitcoin",
        "toAddr":"17DKe3kkkkiiiiTvAKKi2vMPbm1Bz3CMKw"
    }
    
    # 内部转账
    POST /api/v5/asset/withdrawal
    body
    {
        "amt":"10",
        "fee":"0",
        "dest":"3",
        "ccy":"USDT",
        "areaCode":"86",
        "toAddr":"15651000000"
    }
    
    # 特定主体用户需要提供接收方信息
    POST /api/v5/asset/withdrawal
    body
    {
        "amt":"1",
        "fee":"0.0005",
        "dest":"4",
        "ccy":"BTC",
        "chain":"BTC-Bitcoin",
        "toAddr":"17DKe3kkkkiiiiTvAKKi2vMPbm1Bz3CMKw",
        "rcvrInfo":{
            "walletType":"exchange",
            "exchId":"did:ethr:0xfeb4f99829a9acdf52979abee87e83addf22a7e1",
            "rcvrFirstName":"Bruce",
            "rcvrLastName":"Wayne"
        }
    }
    
    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.withdrawal(
        ccy="USDT",
        toAddr="TXtvfb7cdrn6VX9H49mgio8bUxZ3DGfvYF",
        amt="100",
        fee="0.0005",
        dest="4",
        chain="USDT-TRC20"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    ccy String 币种,如 USDT
    amt String 提币数量
    该数量不包含手续费
    dest String 提币方式
    3:内部转账
    4:链上提币
    toAddr String toAddr必须是认证过的地址/账户。如果选择链上提币,某些数字货币地址格式为地址:标签,如 ARDOR-7JF3-8F2E-QUWZ-CAN7F:123456
    如果选择内部转账,toAddr必须是接收方地址,可以是邮箱、手机或者账户名(只有子账户才有账户名)。
    fee String 提币到数字货币地址所需网络手续费可以通过接口 获取币种列表 获取
    内部转账无需手续费
    chain String 可选 币种链信息
    USDT下有USDT-ERC20USDT-TRC20多个链
    如果不填此参数,则默认为主链
    对于无效资产提币,不填此参数,则默认为唯一的提币链
    适用于链上提币,链信息可以通过接口 获取币种列表 获取
    areaCode String 可选 手机区号,如 86
    toAddr为手机号时,该参数必填
    适用于内部转账
    rcvrInfo Object 可选 接收方信息
    特定主体用户做链上提币/闪电网络提币 需要提供此信息
    > walletType String 钱包类型
    exchange:提币到交易所钱包
    private:提币到私人钱包
    如果提币到交易所钱包,必须提供接收方相关信息。
    对于交易所钱包接收方为公司的,rcvrFirstName可以填公司名称,rcvrLastName可以填"N/A",地址信息可以填写公司注册地址。
    提币到私人钱包,则不需要提供接收方信息。
    > exchId String 可选 交易所 ID
    可以通过 获取交易所列表(公共) 接口查询支持的交易所
    如果交易所不在支持的交易所列表中,该字段填0
    适用于walletType=exchange
    > rcvrFirstName String 可选 接收方名字,如 Bruce
    适用于walletType=exchange
    > rcvrLastName String 可选 接收方姓氏,如 Wayne
    适用于walletType=exchange
    > rcvrCountry String 可选 接收方所在国家,如 United States
    必须输入英文国家名称,或者两字母国家代码(ISO 3166-1)。输入内容参考下方国家信息表中国家名称(英)国家代码
    适用于walletType=exchange
    > rcvrCountrySubDivision String 可选 接收方所在州/省,如 California
    适用于walletType=exchange
    > rcvrTownName String 可选 接收方所在城镇,如 San Jose
    适用于walletType=exchange
    > rcvrStreetName String 可选 接收方所在街道地址,如 Clementi Avenue 1
    适用于walletType=exchange
    clientId String 客户自定义ID
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。

    返回结果

    {
        "code": "0",
        "msg": "",
        "data": [{
            "amt": "0.1",
            "wdId": "67485",
            "ccy": "BTC",
            "clientId": "",
            "chain": "BTC-Bitcoin"
        }]
    }
    

    返回参数

    参数名 类型 描述
    ccy String 提币币种
    chain String 币种链信息
    有的币种下有多个链,必须要做区分,如USDT下有USDT-ERC20USDT-TRC20多个链
    amt String 提币数量
    wdId String 提币申请ID
    clientId String 客户自定义ID

    国家信息表

    国家名称(英) 国家名称(中) 国家代码
    Afghanistan 阿富汗 AF
    Albania 阿尔巴尼亚 AL
    Algeria 阿尔及利亚 DZ
    Andorra 安道尔 AD
    Angola 安哥拉 AO
    Anguilla 安圭拉 AI
    Antigua and Barbuda 安提瓜和巴布达 AG
    Argentina 阿根廷 AR
    Armenia 亚美尼亚 AM
    Australia 澳大利亚 AU
    Austria 奥地利 AT
    Azerbaijan 阿塞拜疆 AZ
    Bahamas 巴哈马 BS
    Bahrain 巴林 BH
    Bangladesh 孟加拉国 BD
    Barbados 巴巴多斯 BB
    Belarus 白俄罗斯 BY
    Belgium 比利时 BE
    Belize 伯利兹 BZ
    Benin 贝宁 BJ
    Bermuda 百慕大 BM
    Bhutan 不丹 BT
    Bolivia 玻利维亚 BO
    Bosnia and Herzegovina 波斯尼亚和黑塞哥维那 (波黑) BA
    Botswana 博茨瓦纳 BW
    Brazil 巴西 BR
    British Virgin Islands 英属维尔京群岛 VG
    Brunei 文莱 BN
    Bulgaria 保加利亚 BG
    Burkina Faso 布基纳法索 BF
    Burundi 布隆迪 BI
    Cambodia 柬埔寨 KH
    Cameroon 喀麦隆 CM
    Canada 加拿大 CA
    Cape Verde 佛得角 CV
    Cayman Islands 开曼群岛 KY
    Central African Republic 中非共和国 CF
    Chad 乍得 TD
    Chile 智利 CL
    Colombia 哥伦比亚 CO
    Comoros 科摩罗 KM
    Congo (Republic) 刚果共和国 CG
    Congo (Democratic Republic) 刚果民主共和国 CD
    Costa Rica 哥斯达黎加 CR
    Cote d´Ivoire (Ivory Coast) 象牙海岸 CI
    Croatia 克罗地亚 HR
    Cuba 古巴 CU
    Cyprus 塞浦路斯 CY
    Czech Republic 捷克共和国 CZ
    Denmark 丹麦 DK
    Djibouti 吉布提 DJ
    Dominica 多米尼克 DM
    Dominican Republic 多明尼加共和国 DO
    Ecuador 厄瓜多尔 EC
    Egypt 埃及 EG
    El Salvador 萨尔瓦多 SV
    Equatorial Guinea 赤道几内亚 GQ
    Eritrea 厄立特里亚 ER
    Estonia 爱沙尼亚 EE
    Ethiopia 埃塞俄比亚 ET
    Fiji 斐济 FJ
    Finland 芬兰 FI
    France 法国 FR
    Gabon 加蓬 GA
    Gambia 冈比亚 GM
    Georgia 格鲁吉亚 GE
    Germany 德国 DE
    Ghana 加纳 GH
    Greece 希腊 GR
    Grenada 格林纳达 GD
    Guatemala 危地马拉 GT
    Guinea 几内亚 GN
    Guinea-Bissau 几内亚比绍 GW
    Guyana 圭亚那 GY
    Haiti 海地 HT
    Honduras 洪都拉斯 HN
    Hong Kong 香港 HK
    Hungary 匈牙利 HU
    Iceland 冰岛 IS
    India 印度 IN
    Indonesia 印度尼西亚 ID
    Iran 伊朗 IR
    Iraq 伊拉克 IQ
    Ireland 爱尔兰 IE
    Israel 以色列 IL
    Italy 意大利 IT
    Jamaica 牙买加 JM
    Japan 日本 JP
    Jordan 约旦 JO
    Kazakhstan 哈萨克斯坦 KZ
    Kenya 肯尼亚 KE
    Kiribati 基里巴斯 KI
    North Korea 朝鲜 KP
    South Korea 韩国 KR
    Kuwait 科威特 KW
    Kyrgyzstan 吉尔吉斯斯坦 KG
    Laos 老挝 LA
    Latvia 拉脱维亚 LV
    Lebanon 黎巴嫩 LB
    Lesotho 莱索托 LS
    Liberia 利比里亚 LR
    Libya 利比亚 LY
    Liechtenstein 列支敦士登 LI
    Lithuania 立陶宛 LT
    Luxembourg 卢森堡 LU
    Macau 澳门 MO
    Macedonia 马其顿 MK
    Madagascar 马达加斯加 MG
    Malawi 马拉维 MW
    Malaysia 马来西亚 MY
    Maldives 马尔代夫 MV
    Mali 马里 ML
    Malta 马耳他 MT
    Marshall Islands 马绍尔群岛 MH
    Mauritania 毛里塔尼亚 MR
    Mauritius 毛里求斯 MU
    Mexico 墨西哥 MX
    Micronesia 密克罗尼西亚 FM
    Moldova 摩尔多瓦 MD
    Monaco 摩纳哥 MC
    Mongolia 蒙古 MN
    Montenegro 黑山 ME
    Morocco 摩洛哥 MA
    Mozambique 莫桑比克 MZ
    Myanmar (Burma) 缅甸 MM
    Namibia 纳米比亚 NA
    Nauru 瑙鲁 NR
    Nepal 尼泊尔 NP
    Netherlands 荷兰 NL
    New Zealand 新西兰 NZ
    Nicaragua 尼加拉瓜 NI
    Niger 尼日尔 NE
    Nigeria 尼日利亚 NG
    Norway 挪威 NO
    Oman 阿曼 OM
    Pakistan 巴基斯坦 PK
    Palau 帕劳 PW
    Panama 巴拿马 PA
    Papua New Guinea 巴布亚新几内亚 PG
    Paraguay 巴拉圭 PY
    Peru 秘鲁 PE
    Philippines 菲律宾 PH
    Poland 波兰 PL
    Portugal 葡萄牙 PT
    Qatar 卡塔尔 QA
    Romania 罗马尼亚 RO
    Russia 俄国 RU
    Rwanda 卢旺达 RW
    Saint Kitts and Nevis 圣基茨和尼维斯 KN
    Saint Lucia 圣卢西亚 LC
    Saint Vincent and the Grenadines 圣文森特和格林纳丁斯 VC
    Samoa 萨摩亚 WS
    San Marino 圣马力诺 SM
    Sao Tome and Principe 圣多美和普林西比 ST
    Saudi Arabia 沙特阿拉伯 SA
    Senegal 塞内加尔 SN
    Serbia 塞尔维亚 RS
    Seychelles 塞舌尔 SC
    Sierra Leone 塞拉利昂 SL
    Singapore 新加坡 SG
    Slovakia 斯洛伐克 SK
    Slovenia 斯洛文尼亚 SI
    Solomon Islands 所罗门群岛 SB
    Somalia 索马里 SO
    South Africa 南非 ZA
    Spain 西班牙 ES
    Sri Lanka 斯里兰卡 LK
    Sudan 苏丹 SD
    Suriname 苏里南 SR
    Swaziland 斯威士兰 SZ
    Sweden 瑞典 SE
    Switzerland 瑞士 CH
    Syria 叙利亚 SY
    Taiwan 台湾 TW
    Tajikistan 塔吉克斯坦 TJ
    Tanzania 坦桑尼亚 TZ
    Thailand 泰国 TH
    Timor-Leste (East Timor) 东帝汶 TL
    Togo 多哥 TG
    Tonga 汤加 TO
    Trinidad and Tobago 特里尼达和多巴哥 TT
    Tunisia 突尼斯 TN
    Turkey 土耳其 TR
    Turkmenistan 土库曼斯坦 TM
    Tuvalu 图瓦卢 TV
    U.S. Virgin Islands 美属维尔京群岛 VI
    Uganda 乌干达 UG
    Ukraine 乌克兰 UA
    United Arab Emirates 阿拉伯联合酋长国 AE
    United Kingdom 英国 GB
    United States 美国 US
    Uruguay 乌拉圭 UY
    Uzbekistan 乌兹别克斯坦 UZ
    Vanuatu 瓦努阿图 VU
    Vatican City 梵蒂冈城 VA
    Venezuela 委内瑞拉 VE
    Vietnam 越南 VN
    Yemen 也门 YE
    Zambia 赞比亚 ZM
    Zimbabwe 津巴布韦 ZW
    Kosovo 科索沃 XK
    South Sudan 南苏丹 SS
    China 中国 CN
    Palestine 巴勒斯坦 PS
    Curacao 库拉索 CW
    Dominican Republic 多明尼加共和国 DO
    Dominican Republic 多明尼加共和国 DO
    Gibraltar 英属直布罗陀 GI
    New Caledonia 新喀里多尼亚 NC
    Cook Islands 库克群岛 CK
    Reunion 留尼旺 RE
    Guernsey 根西岛 GG
    Guadeloupe 瓜德罗普 GP
    Martinique 马提尼克 MQ
    French Polynesia 法属波利尼西亚 PF
    Faroe Islands 法罗群岛 FO
    Greenland 格陵兰岛 GL
    Jersey 泽西岛 JE
    Aruba 阿鲁巴 AW
    Puerto Rico 波多黎各 PR
    Isle of Man 曼岛 IM
    Guam 关岛 GU
    Sint Maarten 荷属圣马丁 SX
    Turks and Caicos 特克斯和凯科斯群岛 TC
    Åland Islands 奥兰群岛 AX
    Caribbean Netherlands 荷属加勒比 BQ
    British Indian Ocean Territory 英属印度洋领地 IO
    Christmas as Island 圣诞岛 CX
    Cocos (Keeling) Islands 科科斯 (基林) 群岛 CC
    Falkland Islands (Islas Malvinas) 福克兰群岛 (马尔维纳斯群岛) FK
    Mayotte 马约特 YT
    Niue 纽埃 NU
    Norfolk Island 诺福克岛 NF
    Northern Mariana Islands 北马里亚纳群岛 MP
    Pitcairn Islands 皮特凯恩群岛 PN
    Saint Helena, Ascension and Tristan da Cunha 圣赫勒拿、阿森松岛和特里斯坦-达库尼亚 SH
    Collectivity of Saint Martin 法属圣马丁 MF
    Saint Pierre and Miquelon 圣皮埃尔和密克隆 PM
    Tokelau 托克劳 TK
    Wallis and Futuna 瓦利斯和富图纳 WF
    American Samoa 美属萨摩亚 AS

    撤销提币

    可以撤销普通提币,但不支持撤销闪电网络上的提币。

    限速:6次/s

    限速规则:UserID

    HTTP请求

    POST /api/v5/asset/cancel-withdrawal

    请求示例

    POST /api/v5/asset/cancel-withdrawal
    body {
       "wdId":"1123456"
    }
    
    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.cancel_withdrawal(
        wdId="123456"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    wdId String 提币申请ID

    返回结果

    {
      "code": "0",
      "msg": "",
      "data": [
        {
          "wdId": "1123456"   
        }
      ]
    }
    

    返回参数

    参数名 类型 描述
    wdId String 提币申请ID

    获取提币记录

    根据币种,提币状态,时间范围获取提币记录,按照时间倒序排列,默认返回100条数据。
    支持Websocket订阅,参考 提币信息频道

    限速:6 次/s

    限速规则:UserID

    HTTP 请求

    GET /api/v5/asset/withdrawal-history

    请求示例

    # 查询最近的提币记录
    GET /api/v5/asset/withdrawal-history
    
    # 查询从2022年06月01日到2022年07月01日之间的BTC的提币记录
    GET /api/v5/asset/withdrawal-history?ccy=BTC&after=1654041600000&before=1656633600000
    
    

    请求参数

    参数名 类型 是否必须 描述
    ccy String 币种名称,如 BTC
    wdId String 提币申请ID
    clientId String 客户自定义ID
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。
    txId String 区块转账哈希记录
    type String 提币方式
    3:内部转账
    4:链上提币
    state String 提币状态

  • 阶段1:等待提币
  • 10:等待划转
    0:等待提币
    4/5/6/8/9/12:等待客服审核
    7:审核通过

  • 阶段2:提币处理中(适用于链上提币,内部转账无此阶段)
  • 1:正在将您的交易广播到链上
    15:交易待确认
    16:根据当地法律法规,您的提币最多可能需要 24 小时才能到账
    -3:撤销中

  • 最终阶段
  • -2:已撤销
    -1:失败
    2:提币成功
    after String 查询在此之前的内容,值为时间戳,Unix 时间戳为毫秒数格式,如 1654041600000
    before String 查询在此之后的内容,值为时间戳,Unix 时间戳为毫秒数格式,如 1656633600000
    limit string 返回的结果集数量,默认为100,最大为100,不填默认返回100条

    返回结果

    {
      "code": "0",
      "msg": "",
      "data": [
        {
          "chain": "ETH-Ethereum",
          "fee": "0.007",
          "feeCcy": "ETH",
          "ccy": "ETH",
          "clientId": "",
          "amt": "0.029809",
          "txId": "0x35c******b360a174d",
          "from": "156****359",
          "areaCodeFrom": "86",
          "to": "0xa30d1fab********7CF18C7B6C579",
          "areaCodeTo": "",
          "state": "2",
          "ts": "1655251200000",
          "nonTradableAsset": false,
          "wdId": "15447421"
        }
      ]
    }
    

    返回参数

    参数名 类型 描述
    ccy String 币种
    chain String 币种链信息
    有的币种下有多个链,必须要做区分,如USDT下有USDT-ERC20USDT-TRC20多个链
    nonTradableAsset Boolean 是否为不可交易资产
    true:不可交易资产,false:可交易资产
    amt String 数量
    ts String 提币申请时间,Unix 时间戳的毫秒数格式,如 1655251200000
    from String 提币账户
    可以是邮箱/手机号/子账户名
    areaCodeFrom String 如果from为手机号,该字段为该手机号的区号
    to String 收币地址
    areaCodeTo String 如果to为手机号,该字段为该手机号的区号
    tag String 部分币种提币需要标签,若不需要则不返回此字段
    pmtId String 部分币种提币需要此字段(payment_id),若不需要则不返回此字段
    memo String 部分币种提币需要此字段,若不需要则不返回此字段
    addrEx Object 提币地址备注,部分币种提币需要,若不需要则不返回此字段。如币种TONCOIN的提币地址备注标签名为comment,则该字段返回:{'comment':'123456'}
    txId String 提币哈希记录
    内部转账该字段返回""
    fee String 提币手续费数量
    feeCcy String 提币手续费币种,如 USDT
    state String 提币状态
    wdId String 提币申请ID
    clientId String 客户自定义ID

    获取充值/提现的详细状态

    获取充值与提现的详细状态信息与预估完成时间。

    限速:1次/2s

    限速规则:UserID

    HTTP请求

    GET /api/v5/asset/deposit-withdraw-status

    请求示例

    # 查询充值
    GET /api/v5/asset/deposit-withdraw-status?txId=xxxxxx&to=1672734730284&ccy=USDT&chain=USDT-ERC20
    
    # 查询提现
    GET /api/v5/asset/deposit-withdraw-status?wdId=200045249
    

    请求参数

    参数 类型 是否必须 描述
    wdId String 可选 提币申请ID,用于查询资金提现
    wdIdtxId必传其一也仅可传其一
    txId String 可选 区块转账哈希记录ID,用于查询资金充值
    wdIdtxId必传其一也仅可传其一
    ccy String 可选 币种,如USDT
    查询充值时必填,需要与txId一并提供
    to String 可选 资金充值到账账户地址
    查询充值时必填,需要与txId一并提供
    chain String 可选 币种链信息,例如 USDT-ERC20
    查询充值时必填,需要与txId一并提供

    返回结果

    {
        "code":"0",
        "data":[
            {
                "wdId": "200045249",
                "txId": "16f3638329xxxxxx42d988f97", 
                "state": "Pending withdrawal: Wallet is under maintenance, please wait.",
                "estCompleteTime": "01/09/2023, 8:10:48 PM"
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    estCompleteTime String 预估完成时间
    时区为 UTC+8;格式为 MM/dd/yyyy, h:mm:ss AM/PM
    estCompleteTime仅为预估完成时间,仅供参考
    state String 充值/提现的现处于的详细阶段提示
    冒号前面代表阶段,后面代表状态
    txId String 区块转账哈希记录
    提币如果txId已经生成,则返回,否则返回""
    wdId String 提币申请ID
    如查询的是充值,该字段返回""

    获取交易所列表(公共)

    公共接口无须鉴权

    限速:6次/s

    限速规则:IP

    HTTP请求

    GET /api/v5/asset/exchange-list

    请求示例

    GET /api/v5/asset/exchange-list
    
    
    

    请求参数

    返回结果

    {
      "code": "0",
      "msg": "",
      "data": [
        {
            "exchId": "did:ethr:0xfeb4f99829a9acdf52979abee87e83addf22a7e1",
            "exchName": "1xbet"
        }
      ]
    }
    

    返回参数

    参数名 类型 描述
    exchName String 交易所名称,如 1xbet
    exchId String 交易所 ID,如 did:ethr:0xfeb4f99829a9acdf52979abee87e83addf22a7e1

    获取闪兑币种列表

    限速:6次/s

    限速规则:UserID

    HTTP 请求

    GET /api/v5/asset/convert/currencies

    请求示例

    GET /api/v5/asset/convert/currencies
    
    

    请求参数

    返回结果

    {
        "code": "0",
        "data": [
            {
                "min": "",  // 已废弃
                "max": "",  // 已废弃
                "ccy": "BTC"
            },
            {
                "min": "",
                "max": "",
                "ccy": "ETH"
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    ccy String 币种名称,如 BTC
    min String 支持闪兑的最小值(已废弃)
    max String 支持闪兑的最大值(已废弃)

    获取闪兑币对信息

    限速:6次/s

    限速规则:UserID

    HTTP 请求

    GET /api/v5/asset/convert/currency-pair

    请求示例

    GET /api/v5/asset/convert/currency-pair?fromCcy=USDT&toCcy=BTC
    
    

    请求参数

    参数 类型 是否必须 描述
    fromCcy String 消耗币种,如 USDT
    toCcy String 获取币种,如 BTC

    返回结果

    {
        "code": "0",
        "data": [
            {
                "baseCcy": "BTC",
                "baseCcyMax": "0.5",
                "baseCcyMin": "0.0001",
                "instId": "BTC-USDT",
                "quoteCcy": "USDT",
                "quoteCcyMax": "10000",
                "quoteCcyMin": "1"
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    instId String 币对,如 BTC-USDT
    baseCcy String 交易货币币种,如 BTC-USDT中的BTC
    baseCcyMax String 交易货币支持闪兑的最大值
    baseCcyMin String 交易货币支持闪兑的最小值
    quoteCcy String 计价货币币种,如 BTC-USDT中的USDT
    quoteCcyMax String 计价货币支持闪兑的最大值
    quoteCcyMin String 计价货币支持闪兑的最小值

    闪兑预估询价

    限速:10次/s

    限速规则:UserID

    限速:1次/5s

    限速规则:Instrument

    HTTP请求

    POST /api/v5/asset/convert/estimate-quote

    请求示例

    POST /api/v5/asset/convert/estimate-quote
    body
    {
        "baseCcy": "ETH",
        "quoteCcy": "USDT",
        "side": "buy",
        "rfqSz": "30",
        "rfqSzCcy": "USDT"
    }
    

    请求参数

    参数名 类型 是否必须 描述
    baseCcy String 交易货币币种,如 BTC-USDT中的BTC
    quoteCcy String 计价货币币种,如 BTC-USDT中的USDT
    side String 交易方向
    买:buy 卖:sell
    描述的是对于baseCcy的交易方向
    rfqSz String 询价数量
    rfqSzCcy String 询价币种
    clQReqId String 客户端自定义的订单标识
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。
    tag String 订单标签
    适用于broker用户

    返回结果

    {
        "code": "0",
        "data": [
            {
                "baseCcy": "ETH",
                "baseSz": "0.01023052",
                "clQReqId": "",
                "cnvtPx": "2932.40104429",
                "origRfqSz": "30",
                "quoteCcy": "USDT",
                "quoteId": "quoterETH-USDT16461885104612381",
                "quoteSz": "30",
                "quoteTime": "1646188510461",
                "rfqSz": "30",
                "rfqSzCcy": "USDT",
                "side": "buy",
                "ttlMs": "10000"
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    quoteTime String 生成报价时间,Unix时间戳的毫秒数格式
    ttlMs String 报价有效期,单位为毫秒
    clQReqId String 客户端自定义的订单标识
    quoteId String 报价ID
    baseCcy String 交易货币币种,如 BTC-USDT 中BTC
    quoteCcy String 计价货币币种,如 BTC-USDT 中USDT
    side String 交易方向
    买:buy 卖:sell
    origRfqSz String 原始报价的数量
    rfqSz String 实际报价的数量
    rfqSzCcy String 报价的币种
    cnvtPx String 闪兑价格,单位为计价币
    baseSz String 闪兑交易币数量
    quoteSz String 闪兑计价币数量

    闪兑交易

    闪兑交易前需要先 询价

    限速:10次/s

    限速规则:UserID

    同一方向(buy/sell) 1次/5s 交易限制

    HTTP请求

    POST /api/v5/asset/convert/trade

    请求示例

    POST /api/v5/asset/convert/trade
    body
    {
        "baseCcy": "ETH",
        "quoteCcy": "USDT",
        "side": "buy",
        "sz": "30",
        "szCcy": "USDT",
        "quoteId": "quoterETH-USDT16461885104612381"
    }
    

    请求参数

    参数名 类型 是否必须 描述
    quoteId String 报价ID
    baseCcy String 交易货币币种,如 BTC-USDT中的BTC
    quoteCcy String 计价货币币种,如 BTC-USDT中的USDT
    side String 交易方向
    buy:买
    sell:卖
    描述的是对于baseCcy的交易方向
    sz String 用户报价数量
    报价数量应不大于预估询价中的询价数量
    szCcy String 用户报价币种
    clTReqId String 用户自定义的订单标识
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。
    tag String 订单标签
    适用于broker用户

    返回结果

    {
        "code": "0",
        "data": [
            {
                "baseCcy": "ETH",
                "clTReqId": "",
                "fillBaseSz": "0.01023052",
                "fillPx": "2932.40104429",
                "fillQuoteSz": "30",
                "instId": "ETH-USDT",
                "quoteCcy": "USDT",
                "quoteId": "quoterETH-USDT16461885104612381",
                "side": "buy",
                "state": "fullyFilled",
                "tradeId": "trader16461885203381437",
                "ts": "1646188520338"
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    tradeId String 成交ID
    quoteId String 报价ID
    clTReqId String 用户自定义的订单标识
    state String 状态
    fullyFilled:交易成功
    rejected:交易失败
    instId String 币对,如 BTC-USDT
    baseCcy String 交易货币币种,如 BTC-USDTBTC
    quoteCcy String 计价货币币种,如 BTC-USDTUSDT
    side String 交易方向
    买:buy 卖:sell
    fillPx String 成交价格,单位为计价币
    fillBaseSz String 成交的交易币数量
    fillQuoteSz String 成交的计价币数量
    ts String 闪兑交易时间,值为时间戳,Unix时间戳为毫秒数格式,如 1597026383085

    获取闪兑交易历史

    限速:6次/s

    限速规则:UserID

    HTTP 请求

    GET /api/v5/asset/convert/history

    请求示例

    GET /api/v5/asset/convert/history
    
    

    请求参数

    参数 类型 是否必须 描述
    clTReqId String 用户自定义的订单标识
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。
    after String 查询在此之前的内容,值为时间戳,Unix时间戳为毫秒数格式,如 1597026383085
    before String 查询在此之后的内容,值为时间戳,Unix时间戳为毫秒数格式,如 1597026383085
    limit String 返回的结果集数量,默认为100,最大为100
    tag String 订单标签
    适用于broker用户
    如果闪兑交易带上了tag,查询时必须也带上此参数

    返回结果

    {
        "code": "0",
        "data": [
            {
                "clTReqId": "",
                "instId": "ETH-USDT",
                "side": "buy",
                "fillPx": "2932.401044",
                "baseCcy": "ETH",
                "quoteCcy": "USDT",
                "fillBaseSz": "0.01023052",
                "state": "fullyFilled",
                "tradeId": "trader16461885203381437",
                "fillQuoteSz": "30",
                "ts": "1646188520000"
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    tradeId String 成交ID
    clTReqId String 用户自定义的订单标识
    state String fullyFilled:交易成功
    rejected:交易失败
    instId String 币对,如 BTC-USDT
    baseCcy String 交易货币币种,如 BTC-USDT中的BTC
    quoteCcy String 计价货币币种,如 BTC-USDT中的USDT
    side String 交易方向
    买:buy 卖:sell
    fillPx String 成交价格,单位为计价币
    fillBaseSz String 成交的交易币数量
    fillQuoteSz String 成交的计价币数量
    ts String 闪兑交易时间,值为时间戳,Unix时间戳为毫秒数格式,如 1597026383085

    WebSocket

    充值信息频道

    当发起充值或者充值状态发生变化时会触发消息推送。
    支持母账户或者子账户的订阅

    服务地址

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

    请求示例

    {
        "op": "subscribe",
        "args": [
            {
                "channel": "deposit-info"
            }
        ]
    }
    

    请求参数

    参数名 类型 是否必填 描述
    op String 操作
    subscribe
    unsubscribe
    args Array 请求订阅的频道列表
    > channel String 频道名
    deposit-info
    > ccy String 币种名称,如 BTC

    成功返回示例

    {
        "event": "subscribe",
        "arg": {
            "channel": "deposit-info"
        },
        "connId": "a4d3ae55"
    }
    

    失败返回示例

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

    返回参数

    参数名 类型 是否必填 描述
    event String 操作
    subscribe
    unsubscribe
    error
    arg Object 订阅的频道
    > channel String 频道名
    deposit-info
    > ccy String 币种名称,如 BTC
    code String 错误码
    msg String 错误消息
    connId String WebSocket连接ID

    推送示例

    {
        "arg": {
            "channel": "deposit-info",
            "uid": "289320****60975104"
        },
        "data": [{
            "actualDepBlkConfirm": "0",
            "amt": "1",
            "areaCodeFrom": "",
            "ccy": "USDT",
            "chain": "USDT-TRC20",
            "depId": "88165462",
            "from": "",
            "fromWdId": "",
            "pTime": "1674103661147",
            "state": "0",
            "subAcct": "test",
            "to": "TEhFAqpuHa3LY*****8ByNoGnrmexeGMw",
            "ts": "1674103661123",
            "txId": "bc5376817*****************dbb0d729f6b",
            "uid": "289320****60975104"
        }]
    }
    

    推送数据参数

    参数名 类型 描述
    arg Object 订阅成功的频道
    > channel String 频道名
    > uid String 用户标识
    > ccy String 币种名称,如 BTC
    data Array 订阅的数据
    > uid String (产生数据者的)用户标识
    > subAcct String 子账户名称
    如果是母账户产生的数据,该字段返回""
    > pTime String 推送时间,Unix时间戳的毫秒数格式,如 1597026383085
    > ccy String 币种名称,如 BTC
    > chain String 币种链信息
    有的币种下有多个链,必须要做区分,如USDT下有USDT-ERC20USDT-TRC20多个链
    > amt String 充值数量
    > from String 充值账户,只显示内部账户转账地址,不显示区块链充值地址
    > areaCodeFrom String 如果from为手机号,该字段为该手机号的区号
    > to String 到账地址
    > txId String 区块转账哈希记录
    > ts String 充值记录创建时间,Unix 时间戳的毫秒数格式,如 1655251200000
    > state String 充值状态
    0:等待确认
    1:确认到账
    2:充值成功
    8:因该币种暂停充值而未到账,恢复充值后自动到账
    11:命中地址黑名单
    12:账户或充值被冻结
    13:子账户充值拦截
    14:KYC限额
    > depId String 充值记录 ID
    > fromWdId String 内部转账发起者提币申请 ID
    如果该笔充值来自于内部转账,则该字段展示内部转账发起者的提币申请 ID,其他情况返回""
    > actualDepBlkConfirm String 最新的充币网络确认数

    提币信息频道

    当发起提币或者提币状态发生变化时会触发消息推送。
    支持母账户或者子账户的订阅

    服务地址

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

    请求示例

    {
        "op": "subscribe",
        "args": [
            {
                "channel": "withdrawal-info"
            }
        ]
    }
    

    请求参数

    参数名 类型 是否必填 描述
    op String 操作
    subscribe
    unsubscribe
    args Array 请求订阅的频道列表
    > channel String 频道名
    withdrawal-info
    > ccy String 币种名称,如 BTC

    成功返回示例

    {
        "event": "subscribe",
        "arg": {
            "channel": "withdrawal-info"
        },
        "connId": "a4d3ae55"
    }
    

    失败返回示例

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

    返回参数

    参数名 类型 是否必填 描述
    event String 操作
    subscribe
    unsubscribe
    error
    arg Object 订阅的频道
    > channel String 频道名
    withdrawal-info
    > ccy String 币种名称,如 BTC
    code String 错误码
    msg String 错误消息
    connId String WebSocket连接ID

    推送示例

    {
        "arg": {
            "channel": "withdrawal-info",
            "uid": "289320*****0975104"
        },
        "data": [{
            "addrEx": null,
            "amt": "2",
            "areaCodeFrom": "",
            "areaCodeTo": "",
            "ccy": "USDT",
            "chain": "USDT-TRC20",
            "clientId": "",
            "fee": "0.8",
            "feeCcy": "USDT",
            "from": "",
            "memo": "",
            "nonTradableAsset": false,
            "pTime": "1674103268578",
            "pmtId": "",
            "state": "0",
            "subAcct": "test",
            "tag": "",
            "to": "TN8CKTQMnpWfT******8KipbJ24ErguhF",
            "ts": "1674103268472",
            "txId": "",
            "uid": "289333*****1101696",
            "wdId": "63754560"
        }]
    }
    

    推送数据参数

    参数名 类型 描述
    arg Object 订阅成功的频道
    > channel String 频道名
    > uid String 用户标识
    > ccy String 币种名称,如 BTC
    data Array 订阅的数据
    > uid String (产生数据者的)用户标识
    > subAcct String 子账户名称
    如果是母账户产生的数据,该字段返回""
    > pTime String 推送时间,Unix时间戳的毫秒数格式,如 1597026383085
    > ccy String 币种
    > chain String 币种链信息
    有的币种下有多个链,必须要做区分,如USDT下有USDT-ERC20USDT-TRC20多个链
    > nonTradableAsset String 是否为不可交易资产
    true:不可交易资产,false:可交易资产
    > amt String 数量
    > ts String 提币申请时间,Unix 时间戳的毫秒数格式,如 1655251200000
    > from String 提币账户
    可以是邮箱/手机号/子账户名
    > areaCodeFrom String 如果from为手机号,该字段为该手机号的区号
    > to String 收币地址
    > areaCodeTo String 如果to为手机号,该字段为该手机号的区号
    > tag String 部分币种提币需要标签
    > pmtId String 部分币种提币需要此字段(payment_id)
    > memo String 部分币种提币需要此字段
    > addrEx Object 提币地址备注。如币种TONCOIN的提币地址备注标签名为comment,则该字段返回:{'comment':'123456'}
    > txId String 提币哈希记录
    内部转账该字段返回""
    > fee String 提币手续费数量
    > feeCcy String 提币手续费币种,如 USDT
    > state String 提币状态

  • 阶段1:等待提币
  • 10:等待划转
    0:等待提币
    4/5/6/8/9/12:等待客服审核
    7:审核通过

  • 阶段2:提币处理中(适用于链上提币,内部转账无此阶段)
  • 1:正在将您的交易广播到链上
    15:交易待确认
    16:根据当地法律法规,您的提币最多可能需要 24 小时才能到账
    -3:撤销中

  • 最终阶段
  • -2:已撤销
    -1:失败
    2:提币成功
    > wdId String 提币申请ID
    > clientId String 客户自定义ID

    子账户

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

    REST API

    查看子账户列表

    仅适用于母账户

    限速:2次/2s

    限速规则:UserID

    HTTP请求

    GET /api/v5/users/subaccount/list

    请求示例

    GET /api/v5/users/subaccount/list
    
    
    import okx.SubAccount as SubAccount
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    flag = "1"  # 实盘:0 , 模拟盘:1
    
    subAccountAPI = SubAccount.SubAccountAPI(apikey, secretkey, passphrase, False, flag)
    
    # 查看子账户列表
    result = subAccountAPI.get_subaccount_list()
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    enable String 子账户状态
    true: 正常使用 false: 冻结
    subAcct String 子账户名称
    after String 查询在此之前的内容,值为子账户创建时间戳,Unix时间戳为毫秒数格式
    before String 查询在此之后的内容,值为子账户创建时间戳,Unix时间戳为毫秒数格式
    limit String 分页返回的结果集数量,最大为100,不填默认返回100条

    返回结果

    {
        "code":"0",
        "msg":"",
        "data":[
            {
                "canTransOut": false,
                "enable": true,
                "frozenFunc": [
                ],
                "gAuth": false,
                "label": "D456DDDLx",
                "mobile": "",
                "subAcct": "D456DDDL",
                "ts": "1659334756000",
                "type": "1",
                "uid": "3400***********7413"
            }
        ]
    }
    

    返回参数

    参数名 类型 描述
    type String 子账户类型
    1:普通子账户
    2:资管子账户
    5:托管子账户 - Copper
    enable Boolean 子账户状态
    true:正常使用 false:冻结(全局)
    subAcct String 子账户名称
    uid String 子账户UID
    label String 子账户备注
    mobile String 子账户绑定手机号
    gAuth Boolean 子账户是否开启的登录时的谷歌验证
    true:已开启
    false:未开启
    frozenFunc Array of string 被冻结的功能
    trading:交易
    convert:闪兑
    transfer:母子账户间资金划转
    withdrawal:提币
    deposit:充值
    flexible_loan:活期借币
    canTransOut Boolean 是否可以主动转出
    true:可以转出
    false:不可转出
    ts String 子账户创建时间,Unix时间戳的毫秒数格式 ,如 1597026383085

    重置子账户的APIKey

    仅适用于母账户,且母账户APIKey必须绑定IP。仅适用于有交易权限的母账户 API key。

    限速:1次/s

    限速规则:UserID

    HTTP请求

    POST /api/v5/users/subaccount/modify-apikey

    请求示例

    POST /api/v5/users/subaccount/modify-apikey
    body
    {
        "subAcct":"yongxu",
        "apiKey":"49e1b84b-6dee-4894-80ee-ce9eb7ad614f",
        "ip":"1.1.1.1"
    }
    
    import okx.SubAccount as SubAccount
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    flag = "1"  # 实盘:0 , 模拟盘:1
    
    subAccountAPI = SubAccount.SubAccountAPI(apikey, secretkey, passphrase, False, flag)
    
    # 重置子账户的APIKey
    result = subAccountAPI.reset_subaccount_apikey(
        subAcct="hahawang1",
        apiKey="",
        ip=""
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    subAcct String 子账户名称
    apiKey String 子账户API的公钥
    label String 子账户APIKey的备注,如果填写该字段,则该字段会被重置
    perm String 子账户APIKey权限
    read_only:读取
    trade:交易
    多个权限用半角逗号隔开。
    如果填写该字段,则该字段会被重置。
    ip String 子账户APIKey绑定ip地址,多个ip用半角逗号隔开,最多支持20个ip。
    如果填写该字段,那该字段会被重置。
    如果ip传"",则表示解除IP绑定。

    返回结果

    {
        "code": "0",
        "msg": "",
        "data": [{
            "subAcct": "yongxu",
            "label": "v5",
            "apiKey": "arg13sdfgs",
            "perm": "read,trade",
            "ip": "1.1.1.1",
            "ts": "1597026383085"
        }]
    }
    

    返回参数

    参数名 类型 描述
    subAcct String 子账户名称
    label String APIKey的备注
    apiKey String API公钥
    perm String APIKey权限
    ip String APIKey绑定的ip地址
    ts String 创建时间

    获取子账户交易账户余额

    获取子账户交易账户余额(适用于母账户)

    限速:6次/2s

    限速规则:UserID

    HTTP请求

    GET /api/v5/account/subaccount/balances

    请求示例

    GET /api/v5/account/subaccount/balances?subAcct=test1
    
    
    import okx.SubAccount as SubAccount
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    flag = "1"  # 实盘:0 , 模拟盘:1
    
    subAccountAPI = SubAccount.SubAccountAPI(apikey, secretkey, passphrase, False, flag)
    
    # 获取子账户交易账户余额
    result = subAccountAPI.get_account_balance(
        subAcct="hahawang1"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    subAcct String 子账户名称

    返回结果

    {
        "code": "0",
        "data": [
            {
                "adjEq": "10679688.0460531643092577",
                "borrowFroz": "",
                "details": [
                    {
                        "availBal": "",
                        "availEq": "9930359.9998",
                        "cashBal": "9930359.9998",
                        "ccy": "USDT",
                        "crossLiab": "0",
                        "disEq": "9439737.0772999514",
                        "eq": "9930359.9998",
                        "eqUsd": "9933041.196999946",
                        "smtSyncEq": "0",
                        "fixedBal": "0",
                        "frozenBal": "0",
                        "imr": "",
                        "interest": "0",
                        "isoEq": "0",
                        "isoLiab": "0",
                        "liab": "0",
                        "maxLoan": "10000",
                        "mgnRatio": "",
                        "mmr": "",
                        "notionalLever": "",
                        "ordFrozen": "0",
                        "twap": "0",
                        "uTime": "1620722938250",
                        "upl": "0",
                        "uplLiab": "0",
                        "borrowFroz": "",
                        "spotIsoBal": "0",
                        "spotBal": "",
                        "openAvgPx": "",
                        "accAvgPx": "",
                        "spotUpl": "",
                        "spotUplRatio": "",
                        "totalPnl": "",
                        "totalPnlRatio": ""
                    },
                    {
                        "availBal": "",
                        "availEq": "33.6799714158199414",
                        "cashBal": "33.2009985",
                        "ccy": "BTC",
                        "crossLiab": "0",
                        "disEq": "1239950.9687532129092577",
                        "eq": "33.771820625136023",
                        "eqUsd": "1239950.9687532129092577",
                        "smtSyncEq": "0",
                        "fixedBal": "0",
                        "frozenBal": "0.0918492093160816",
                        "imr": "",
                        "interest": "0",
                        "isoEq": "0",
                        "isoLiab": "0",
                        "liab": "0",
                        "maxLoan": "1453.92289531493594",
                        "mgnRatio": "",
                        "mmr": "",
                        "notionalLever": "",
                        "ordFrozen": "0",
                        "twap": "0",
                        "uTime": "1620722938250",
                        "upl": "0.570822125136023",
                        "uplLiab": "0",
                        "borrowFroz": "",
                        "spotIsoBal": "0",
                        "spotBal": "",
                        "openAvgPx": "",
                        "accAvgPx": "",
                        "spotUpl": "",
                        "spotUplRatio": "",
                        "totalPnl": "",
                        "totalPnlRatio": ""
                    }
                ],
                "imr": "3372.2942371050594217",
                "isoEq": "0",
                "mgnRatio": "70375.35408747017",
                "mmr": "134.8917694842024",
                "notionalUsd": "33722.9423710505978888",
                "ordFroz": "0",
                "totalEq": "11172992.1657531589092577",
                "uTime": "1623392334718",
                "upl": "-7.571730042000012"
            }
        ],
        "msg": ""
    }
    

    返回参数

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

    获取子账户资金账户余额

    获取子账户资金账户余额(适用于母账户)

    限速:6次/2s

    限速规则:UserID

    HTTP请求

    GET /api/v5/asset/subaccount/balances

    请求示例

    GET /api/v5/asset/subaccount/balances?subAcct=test1
    
    
    import okx.SubAccount as SubAccount
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    flag = "1"  # 实盘:0 , 模拟盘:1
    
    subAccountAPI = SubAccount.SubAccountAPI(apikey, secretkey, passphrase, False, flag)
    
    # 获取子账户资金账户余额
    result = subAccountAPI.get_funding_balance(
        subAcct="hahawang1"
    )
    print(result)
    

    请求参数

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

    返回结果

    {
        "code": "0",
        "msg": "",
        "data": [{
                "availBal": "37.11827078",
                "bal": "37.11827078",
                "ccy": "ETH",
                "frozenBal": "0"
            }
        ]
    }
    

    返回参数

    参数名 类型 描述
    ccy String 币种,如 BTC
    bal String 余额
    frozenBal String 冻结余额(不可用)
    availBal String 可用余额

    获取子账户最大可转余额

    获取子账户最大可转余额(适用于母账户)。不指定币种会返回所有拥有的币种资产可划转数量。

    限速:20次/2s

    限速规则:UserID

    HTTP请求

    GET /api/v5/account/subaccount/max-withdrawal

    请求示例

    GET /api/v5/account/subaccount/max-withdrawal?subAcct=test1
    
    

    请求参数

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

    返回结果

    {
       "code":"0",
       "data":[
          {
             "ccy":"BTC",
             "maxWd":"3",
             "maxWdEx":"",
             "spotOffsetMaxWd":"3",
             "spotOffsetMaxWdEx":""
          },
          {
             "ccy":"ETH",
             "maxWd":"15",
             "maxWdEx":"",
             "spotOffsetMaxWd":"15",
             "spotOffsetMaxWdEx":""
          },
          {
             "ccy":"USDT",
             "maxWd":"10600",
             "maxWdEx":"",
             "spotOffsetMaxWd":"10600",
             "spotOffsetMaxWdEx":""
          }
       ],
       "msg":""
    }
    

    Response Parameters

    参数名 类型 描述
    ccy String 币种
    maxWd String 最大可划转数量(不包含跨币种保证金模式借币金额)
    maxWdEx String 最大可划转数量(包含跨币种保证金模式借币金额)
    spotOffsetMaxWd String 现货对冲不支持借币最大可转数量
    仅适用于组合保证金模式
    spotOffsetMaxWdEx String 现货对冲支持借币的最大可转数量
    仅适用于组合保证金模式

    查询子账户转账记录

    仅适用于母账户

    限速:6次/s

    限速规则:UserID

    HTTP请求

    GET /api/v5/asset/subaccount/bills

    请求示例

    GET /api/v5/asset/subaccount/bills
    
    import okx.SubAccount as SubAccount
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    flag = "1"  # 实盘:0 , 模拟盘:1
    
    subAccountAPI = SubAccount.SubAccountAPI(apikey, secretkey, passphrase, False, flag)
    
    # 查询子账户转账记录
    result = subAccountAPI.bills()
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    ccy String 币种,如 BTC
    type String 划转类型
    0:母账户转子账户
    1:子账户转母账户
    subAcct String 子账户名称
    after String 查询在billId创建时间之前(不包含)的内容,值为时间戳,Unix时间戳的毫秒数格式,如 1597026383085
    before String 查询在billId创建时间之后(不包含)的内容,值为时间戳,Unix时间戳的毫秒数格式,如 1597026383085
    limit String 分页返回的结果集数量,最大为100,不填默认返回100条

    返回结果

    {
        "code": "0",
        "msg": "",
        "data": [
          {
            "amt": "1.1",
            "billId": "89887685",
            "ccy": "USDT",
            "subAcct": "hahatest1",
            "ts": "1712560959000",
            "type": "0"
          }
        ]
    }
    

    返回参数

    参数名 类型 描述
    billId String 账单ID
    ccy String 划转币种
    amt String 划转金额
    type String 账单类型
    subAcct String 子账户名称
    ts String 账单ID创建时间,Unix时间戳的毫秒数格式,如 1597026383085

    子账户间资金划转

    母账户控制子账户与子账户之间划转(仅适用于母账户)

    调用时,APIKey 需要有交易权限

    限速:1次/s

    限速规则:UserID

    HTTP请求

    POST /api/v5/asset/subaccount/transfer

    请求示例

    POST /api/v5/asset/subaccount/transfer
    body
    {
        "ccy":"USDT",
        "amt":"1.5",
        "from":"6",
        "to":"6",
        "fromSubAccount":"test-1",
        "toSubAccount":"test-2"
    }
    
    import okx.SubAccount as SubAccount
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    flag = "1"  # 实盘:0 , 模拟盘:1
    
    subAccountAPI = SubAccount.SubAccountAPI(apikey, secretkey, passphrase, False, flag)
    
    # 子账户间资金划转
    result = subAccountAPI.subAccount_transfer(
        ccy="USDT",
        amt="10",
        froms="6",
        to="6",
        fromSubAccount="test-1",
        toSubAccount="test-2"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    ccy String 币种
    amt String 划转数量
    from String 转出子账户类型
    6:资金账户
    18:交易账户
    to String 转入子账户类型
    6:资金账户
    18:交易账户
    fromSubAccount String 转出子账户的子账户名称
    toSubAccount String 转入子账户的子账户名称
    loanTrans Boolean 是否支持跨币种保证金模式组合保证金模式下的借币转入/转出
    默认false
    omitPosRisk String 是否忽略仓位风险
    默认为false
    仅适用于组合保证金模式

    返回结果

    {
        "code":"0",
        "msg":"",
        "data":[
            {
                "transId":"12345",
            }
        ]
    }
    

    返回参数

    参数名 类型 描述
    transId String 划转ID

    设置子账户主动转出权限

    设置子账户转出权限(仅适用于母账户),默认可转出至母账户。

    限速:1次/s

    限速规则:UserID

    HTTP请求

    POST /api/v5/users/subaccount/set-transfer-out

    请求示例

    POST /api/v5/users/subaccount/set-transfer-out
    body
    {
        "subAcct": "Test001,Test002",
        "canTransOut": true
    }
    
    import okx.SubAccount as SubAccount
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    
    flag = "1"  # 实盘:0 , 模拟盘:1
    
    subAccountAPI = SubAccount.SubAccountAPI(apikey, secretkey, passphrase, False, flag)
    
    # 设置子账户主动转出权限
    result = subAccountAPI.set_permission_transfer_out(
        subAcct="hahawang1",
        canTransOut=False
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    subAcct String 子账户名称,支持设置多个(不超过20个),子账户名称之间半角逗号分隔
    canTransOut Boolean 是否可以主动转出,默认为true
    false:不可转出
    true:可以转出

    返回结果

    {
        "code": "0",
        "msg": "",
        "data": [
            {
                "subAcct": "Test001",
                "canTransOut": true
            },
            {
                "subAcct": "Test002",
                "canTransOut": true
            }
        ]
    }
    
    

    返回参数

    参数名 类型 描述
    subAcct String 子账户名称
    canTransOut Boolean 是否可以主动转出
    false:不可转出
    true:可以转出

    金融产品

    链上赚币

    仅资金账户中的资产支持申购。了解更多

    GET / 查看项目

    限速:3次/s

    限速规则:UserID

    HTTP 请求

    GET /api/v5/finance/staking-defi/offers

    请求示例

    GET /api/v5/finance/staking-defi/offers
    
    

    请求参数

    参数 类型 是否必须 描述
    productId String 项目ID
    protocolType String 项目类型
    defi:链上赚币
    ccy String 投资币种,如 BTC

    返回结果

    {
        "code": "0",
        "data": [
            {
                "ccy": "DOT",
                "productId": "101",
                "protocol": "Polkadot",
                "protocolType": "defi",
                "term": "0",
                "apy": "0.1767",
                "earlyRedeem": false,
                "state": "purchasable",
                "investData": [
                    {
                        "bal": "0",
                        "ccy": "DOT",
                        "maxAmt": "0",
                        "minAmt": "2"
                    }
                ],
                "earningData": [
                    {
                        "ccy": "DOT",
                        "earningType": "0"
                    }
                ],
                "redeemPeriod": [
                    "28D",
                    "28D"
                ]
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    ccy String 币种名称,如 BTC
    productId String 项目ID
    protocol String 项目名称
    protocolType String 项目类型
    defi:链上赚币
    term String 项目期限
    活期为0,其他则显示定期天数
    apy String 预估年化
    如果年化为7% ,则该字段为0.07
    earlyRedeem Boolean 项目是否支持提前赎回
    investData Array 目前用户可用来投资的目标币种信息
    > ccy String 投资币种,如BTC
    > bal String 可投数量
    > minAmt String 最小申购量
    > maxAmt String 最大可申购量
    earningData Array 收益信息
    > ccy String 收益币种,如BTC
    > earningType String 收益类型
    0:预估收益
    1:累计发放收益
    state String 项目状态
    purchasable:可申购
    sold_out:售罄
    stop:暂停申购
    redeemPeriod Array of string 赎回期,形式为 [最小赎回时间,最大赎回时间]
    H:小时,D:天
    例 ["1H","24H"] 表示赎回期时1小时到24小时。
    ["14D","14D"] 表示赎回期为14天。

    POST / 申购项目

    限速:2次/s

    限速规则:UserID

    HTTP 请求

    POST /api/v5/finance/staking-defi/purchase

    请求示例

    # 投资100ZIL30天的锁仓挖矿项目
    POST /api/v5/finance/staking-defi/purchase
    body 
    {
        "productId":"1234",
        "investData":[
          {
            "ccy":"ZIL",
            "amt":"100"
          }
        ],
        "term":"30"
    }
    

    请求参数

    参数 类型 是否必须 描述
    productId String 项目ID
    investData Array 投资信息
    > ccy String 投资币种,如 BTC
    > amt String 投资数量
    term String 可选 投资期限
    定期项目必须指定投资期限
    tag String 订单标签
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字,且长度在1-16位之间

    返回结果

    {
      "code": "0",
      "msg": "",
      "data": [
        {
          "ordId": "754147",
          "tag": ""
        }
      ]
    }
    

    返回参数

    参数名 类型 描述
    ordId String 订单ID
    tag String 订单标签

    POST / 赎回项目

    限速:2次/s

    限速规则:UserID

    HTTP 请求

    POST /api/v5/finance/staking-defi/redeem

    请求示例

    # 提前赎回项目投资
    POST /api/v5/finance/staking-defi/redeem
    body 
    {
        "ordId":"754147",
        "protocolType":"defi",
        "allowEarlyRedeem":true
    }
    

    请求参数

    参数 类型 是否必须 描述
    ordId String 订单ID
    protocolType String 项目类型
    defi:链上赚币
    allowEarlyRedeem Boolean 是否提前赎回
    默认为false

    返回结果

    {
      "code": "0",
      "msg": "",
      "data": [
        {
          "ordId": "754147",
          "tag": ""
        }
      ]
    }
    

    返回参数

    参数名 类型 描述
    ordId String 订单ID
    tag String 订单标签

    POST / 撤销项目申购/赎回

    限速:2次/s

    限速规则:UserID

    HTTP 请求

    POST /api/v5/finance/staking-defi/cancel

    请求示例

    POST /api/v5/finance/staking-defi/cancel
    body 
    {
        "ordId":"754147",
        "protocolType":"defi"
    }
    

    请求参数

    参数 类型 是否必须 描述
    ordId String 订单ID
    protocolType String 项目类型
    defi:链上赚币

    返回结果

    {
      "code": "0",
      "msg": "",
      "data": [
        {
          "ordId": "754147",
          "tag": ""
        }
      ]
    }
    

    返回参数

    参数名 类型 描述
    ordId String 订单ID
    tag String 订单标签

    GET / 查看活跃订单

    限速:3次/s

    限速规则:UserID

    HTTP 请求

    GET /api/v5/finance/staking-defi/orders-active

    请求示例

    GET /api/v5/finance/staking-defi/orders-active
    
    

    请求参数

    参数 类型 是否必须 描述
    productId String 项目ID
    protocolType String 项目类型
    defi:链上赚币
    ccy String 投资币种,如 BTC
    state String 订单状态
    8: 待上车(预约中)
    13: 订单取消中
    9: 上链中
    1: 收益中
    2: 赎回中

    返回结果

    {
        "code": "0",
        "msg": "",
        "data": [
           {
                "ordId":"123456",
                "state":"1",
                "ccy": "GLMR",      
                "protocol": "glimmar",      
                "protocolType":"staking",  
                "term":"15",
                "apy":"0.5496",
                "investData":[
                  {
                    "ccy":"GLMR",
                    "amt":"100"
                  }
                ],
                "earningData": [
                 {
                    "ccy": "GLMR",
                    "earningType":"1",         // 每日发放
                    "earnings":"3"
                 }
                ],
                "purchasedTime":"1597026383085",
                "estSettlementTime": "",
                "cancelRedemptionDeadline": "",
                "tag": ""
            },
            {
                "ordId":"123457",
                "state":"1",
                "ccy": "USDT",      
                "protocol": "compond",      //DEFI-loan
                "protocolType":"defi", 
                "term":"0",
                "apy":"0.12",
                "investData":[
                  {
                    "ccy":"USDT",
                    "amt":"20",
                    "minAmt":"1",
                    "maxAmt":""
                  }
                ],
                "earningData": [
                 {
                    "ccy": "USDT",
                    "earningType":"0",      // 赎回发放
                    "earnings":"3"        //预估收益
                 },
                 {
                    "ccy": "COMP",
                    "earningType":"1",      // 每日发放
                    "earnings":"3"        // 累计收益
                 }
                ],
                "purchasedTime":"1597026383085",
                "estSettlementTime": "",
                "cancelRedemptionDeadline": "",
                "tag": ""
            },
            {
                "ordId":"123458",
                "state":"1",
                "ccy": "ETH",      
                "protocol": "sushiswap",      //DEFI
                "protocolType":"defi",  
                "term":"0",
                "apy":"0.12",
                "investData":[
                  {
                    "ccy":"USDT",
                    "amt":"100"
                  },
                  {
                    "ccy":"ETH",
                    "amt":"0.03"
                  }
                ],
                "earningData": [
                 {
                    "ccy": "SUSHI",
                    "earningType":"1",      // 每日发放
                    "earnings":"3"        // 累计收益
                 }
                ],
                "purchasedTime":"1597026383085",
                "estSettlementTime": "",
                "cancelRedemptionDeadline": "",
                "tag": ""
            },
            {
                "ordId":"123458",
                "state":"3",
                "ccy": "LON",      
                "protocol": "tokenlon",      //DEFI-pos
                "protocolType":"defi",  
                "earningCcy": ["LON"],
                "term":"7",
                "apy":"0.12",
                "investData":[
                  {
                    "ccy":"LON",
                    "amt":"1"
                  }
                ],
                "earningData": [
                 {
                    "ccy": "LON",
                    "earningType":"0",      // 赎回发放
                    "earnings":"3"        // 累计收益
                 }
                ],
                "purchasedTime":"1597026383085",
                "estSettlementTime": "",
                "cancelRedemptionDeadline": "",
                "tag": ""
            }
        ]
    }
    

    返回参数

    参数名 类型 描述
    ccy String 币种名称,如 BTC
    ordId String 订单ID
    productId String 项目ID
    state String 订单状态
    8: 待上车(预约中)
    13: 订单取消中
    9: 上链中
    1: 收益中
    2: 赎回中
    protocol String 项目名称
    protocolType String 项目类型
    defi:链上赚币
    term String 项目期限
    活期为0,其他则显示定期天数
    apy String 预估年化
    如果年化为7% ,则该字段为0.07
    保留到小数点后4位(截位)
    investData Array 用户投资信息
    > ccy String 投资币种,如BTC
    > amt String 已投资数量
    earningData Array 收益信息
    > ccy String 收益币种,如BTC
    > earningType String 收益类型
    0:预估收益
    1:实际到账收益
    > earnings String 收益数量
    purchasedTime String 用户订单创建时间,值为时间戳,Unix时间戳为毫秒数格式,如 1597026383085
    estSettlementTime String 预估赎回到账时间
    cancelRedemptionDeadline String 撤销赎回申请截止时间
    tag String 订单标签

    GET / 查看历史订单

    限速:3次/s

    限速规则:UserID

    HTTP 请求

    GET /api/v5/finance/staking-defi/orders-history

    请求示例

    GET /api/v5/finance/staking-defi/orders-history
    
    

    请求参数

    参数 类型 是否必须 描述
    productId String 项目ID
    protocolType String 项目类型
    defi:链上赚币
    ccy String 投资币种,如 BTC
    after String 请求此ID之前(更旧的数据)的分页内容,传的值为对应接口的ordId
    before String 请求此ID之后(更新的数据)的分页内容,传的值为对应接口的ordId
    limit String 返回结果的数量,默认100条,最大值为100条

    返回结果

    {
        "code": "0",
        "msg": "",
        "data": [
           {
                "ordId": "1579252",
                "ccy": "DOT",
                "productId": "101",
                "state": "3",
                "protocol": "Polkadot",
                "protocolType": "defi",
                "term": "0",
                "apy": "0.1704",
                "investData": [
                    {
                        "ccy": "DOT",
                        "amt": "2"
                    }
                ],
                "earningData": [
                    {
                        "ccy": "DOT",
                        "earningType": "0",
                        "realizedEarnings": "0"
                    }
                ],
                "purchasedTime": "1712908001000",
                "redeemedTime": "1712914294000",
                "tag": ""
           }
        ]
    }
    

    返回参数

    参数名 类型 描述
    ccy String 币种名称,如 BTC
    ordId String 订单ID
    productId String 项目ID
    state String 订单状态
    3: 订单已完成(包含撤销和已赎回两种状态)
    protocol String 项目名称
    protocolType String 项目类型
    defi:链上赚币
    term String 项目期限
    活期为0,其他则显示定期天数
    apy String 预估年化
    如果年化为7% ,则该字段为0.07
    保留到小数点后4位(截位)
    investData Array 用户投资信息
    > ccy String 投资币种,如BTC
    > amt String 已投资数量
    earningData Array 收益信息
    > ccy String 收益币种,如BTC
    > earningType String 收益类型
    0:预估收益
    1:实际到账收益
    > realizedEarnings String 已赎回订单累计收益
    该字段只在订单处于赎回状态时有效
    purchasedTime String 用户订单创建时间,值为时间戳,Unix时间戳为毫秒数格式,如 1597026383085
    redeemedTime String 用户订单赎回时间,值为时间戳,Unix时间戳为毫秒数格式,如 1597026383085
    tag String 订单标签

    Status

    GET / Status

    获取系统升级事件的状态。

    由计划系统维护引起的短暂不可用(<5秒)和WebSocket闪断连接(用户可以立即重连)将不会公布。此类维护只会在市场波动性低的时期进行。

    限速:1次/5s

    HTTP请求

    GET /api/v5/system/status

    请求示例

    GET /api/v5/system/status
    
    GET /api/v5/system/status?state=canceled
    
    
    import okx.Status as Status
    
    flag = "0"  # 实盘:0 , 模拟盘:1
    statusAPI = Status.StatusAPI(
        domain="https://www.okx.com",
        flag=flag,
    )
    
    # 获取系统升级事件的状态
    result = statusAPI.status()
    print(result)
    

    请求参数

    请求示例

    参数名 类型 是否必须 描述
    state String No 系统的状态
    scheduled:等待中
    ongoing:进行中
    pre_open:预开放
    completed:已完成
    canceled:已取消
    当维护时间过长,会存在预开放时间,一般持续10分钟左右。
    不填写此参数,默认返回 等待中、进行中和预开放 的数据

    返回结果

    {
        "code": "0",
        "data": [
            {
                "begin": "1672823400000",
                "end": "1672823520000",
                "href": "",
                "preOpenBegin": "",
                "scheDesc": "",
                "serviceType": "8",
                "state": "completed",
                "maintType": "1",
                "env": "1",
                "system": "unified",
                "title": "Trading account system upgrade (in batches of accounts)"
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    title String 系统维护说明的标题
    state String 系统维护的状态
    begin String 系统维护的开始时间,Unix时间戳的毫秒数格式 如:1617788463867
    end String 交易全面开放的时间,Unix时间戳的毫秒数格式 如:1617788463867
    在维护完成前,是预期结束时间;维护完成后,会变更为实际结束时间。
    preOpenBegin String 预开放开始的时间,开放撤单、Post Only 下单和资金转入功能的时间
    href String 系统维护详情的超级链接,若无返回值,默认值为空,如 ""
    serviceType String 服务类型
    0:WebSocket
    5:交易服务
    6:大宗交易
    7:策略交易
    8:交易服务 (按账户分批次)
    9:交易服务 (按产品分批次)
    10:价差交易
    11:跟单交易
    99:其他(如:停止部分产品交易)
    system String 系统
    unified:交易账户
    scheDesc String 改期进度说明,如 由 2021-01-26T16:30:00.000Z改期到2021-01-28T16:30:00.000Z
    maintType String 维护类型
    1:计划维护
    2:临时维护
    3:系统故障
    env String 环境
    1:实盘
    2:模拟盘

    WS / Status 频道

    获取系统维护的状态,当系统维护状态改变,改期,以及修改结束时间时推送。首次订阅:”推送最新一条的变化数据“;后续每次有状态变化,推送变化的内容。

    由计划系统维护引起的短暂不可用(<5秒)和WebSocket闪断连接(用户可以立即重连)将不会公布。此类维护只会在市场波动性低的时期进行。

    URL Path

    /ws/v5/public

    请求示例

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

    请求参数

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

    成功返回示例

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

    失败返回示例

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

    返回参数

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

    推送示例

    {
        "arg": {
            "channel": "status"
        },
        "data": [
            {
                "begin": "1672823400000",
                "end": "1672825980000",
                "href": "",
                "preOpenBegin": "",
                "scheDesc": "",
                "serviceType": "0",
                "state": "completed",
                "system": "unified",
                "maintType": "1",
                "env": "1",
                "title": "Trading account WebSocket system upgrade",
                "ts": "1672826038470"
            }
        ]
    }
    

    推送数据参数

    参数名 类型 描述
    arg Object 订阅成功的频道
    > channel String 频道名
    data Array 订阅的数据
    > title String 系统维护说明的标题
    > state String 系统的状态,scheduled:等待中 ; ongoing:进行中 ; pre_open:预开放;completed:已完成 canceled: 已取消
    当维护时间过长,会存在预开放时间,一般持续10分钟左右。
    > begin String 系统维护的开始时间,Unix时间戳的毫秒数格式 如:1617788463867
    > end String 交易全面开放的时间,Unix时间戳的毫秒数格式 如:1617788463867
    在维护完成前,是预期结束时间;维护完成后,会变更为实际结束时间。
    > preOpenBegin String 预开放开始的时间,开放撤单、Post Only 下单和资金转入功能的时间
    > href String 系统维护详情的超级链接,若无返回值,默认值为空,如:“”
    > serviceType String 服务类型, 0:WebSocket ; 5:交易服务;6:大宗交易;7:策略交易;8:交易服务 (按账户分批次);9:交易服务 (按产品分批次);10:价差交易;11:跟单交易;99:其他(如:停止部分产品交易)
    > system String 系统,unified:交易账户
    > scheDesc String 改期进度说明,如: 由 2021-01-26T16:30:00.000Z 改期到 2021-01-28T16:30:00.000Z
    > maintType String 维护类型。
    1:计划维护;2:临时维护;3:系统故障
    > env String 环境。
    1:实盘,2:模拟盘
    > ts String 事件变更的推送时间,Unix时间戳的毫秒数格式,如:1617788463867

    错误码

    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 由于您未能及时更新认证信息,您账户的充币与交易功能已受限。请尽快更新认证,以解除账户限制。
    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 市价全平操作过于频繁
    51115 200 市价全平前请先撤销所有平仓单
    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 盘口无有效报价,用USDT模式下单无法成交,请尝试切换到币种模式
    51143 200 您的询价失败,请稍后重试
    51145 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 USDT
    51202 200 市价单下单数量超出最大值
    51203 200 普通委托数量超出最大限制{param0}
    51204 200 限价委托单价格不能为空
    51205 200 不支持只减仓操作
    51206 200 请先撤销当前下单产品{param0}的只减仓挂单,避免反向开仓
    51220 200 分润策略仅支持策略停止时卖币或停止时全部平仓
    51221 200 请输入 0-30% 范围内的指定分润比例
    51222 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 没有最新行情信息

    币币/币币杠杆类

    Note: 因为码段紧张,需要复用为交易错误码,所以去掉该目录,错误码移到 public 文件中

    错误码从 54000 到 54999

    错误码 HTTP 状态码 错误提示
    54000 200 暂不支持币币杠杆业务
    54001 200 只有跨币种全仓账户才能设置自动借币
    54004 200 下单或改单失败,因为批量订单中的一个订单失败了

    资金类

    错误码从 58000 到 58999

    错误码 HTTP 状态码 错误提示
    58002 200 请先开通余币宝服务
    58003 200 余币宝不支持该币种
    58004 200 账户冻结
    58005 200 申购/赎回额度不可超过{0}
    58006 200 币种{0}不支持当前操作
    58007 200 资金接口服务异常,请稍后再试。
    58008 200 您没有该币种资产
    58009 200 币对不存在
    58010 200 该链{0}暂不支持
    58011 200 抱歉,由于当地法律法规,欧易无法为{region}未认证用户提供服务,请先认证身份以继续使用欧易
    58012 200 抱歉,由于当地法律法规,欧易无法为{region}未认证用户提供服务,所以您无法向该用户转账
    58013 200 暂不支持提币功能,请咨询客服了解详情
    58014 200 暂不支持充值功能,请咨询客服了解详情
    58015 200 暂不支持划转功能,请咨询客服了解详情
    58016 200 仅交易团队主账户有权限调用此接口
    58100 200 行权或结算中,暂无法转入或转出
    58101 200 划转冻结
    58102 429 已达到速率限制。请参考相应的 API 文档与节流请求
    58103 200 该账户划转功能暂不可用,详情请联系客服
    58104 200 您在法币区的交易异常,现已被限制划转功能,请您联系在线客服以解除限制
    58105 200 您在法币区的交易异常,现已被限制划转功能,请您在网页或APP进行法币划
    转操作以完成身份验证
    58106 200 美元可转校验未通过
    58107 200 币种可转校验未通过
    58110 200 您所交易过或者持仓的 {businessType} {instFamily} 产品触发市场风控,平台已暂停您的资金转出功能,请稍后重试。如需进一步的协助,请联系客服。
    58111 200 永续合约正在收取资金费,暂时无法做资金划转,请稍后重试
    58112 200 资金划转失败,请联系客服进行处理
    58113 200 该币种不支持划转
    58114 400 转账金额必须大于 0
    58115 200 子账户不存在
    58116 200 转出数量大于最大可转数量
    58117 200 账户划转失败,请先处理负资产后再划转
    58119 200 {0} 子账户没有转出权限,请先设置
    58120 200 划转服务暂不可用,请稍后重试
    58121 200 此次划转将导致您的仓位风险水平较高,进而可能引起爆仓。您需要重新调整划转金额,确保仓位处于安全水平后,再进行划转操作。
    58122 200 您的一部分现货正用于仓位间的 Delta 对冲,若划转数量超过可用金额,可能会影响现有的现货对冲结构,进而导致维持保证金率增加,请留意您的风险水平。
    58123 200 参数from与参数to不可相同
    58124 200 资金划转中,划转id:{trId},请通过接口(GET /api/v5/asset/transfer-state)获取最新状态
    58125 200 不可交易资产仅支持子账户转主账户
    58126 200 不可交易资产划转,只能在资金账户间互转
    58127 200 主账户 API key 不支持当前 type 划转类型参数,请参考 API 文档描述
    58128 200 子账户 API key 不支持当前 type 划转类型参数,请参考 API 文档描述
    58129 200 {param}错误或{param}与type不匹配
    58131 200 根据当地法律法规,欧易无法为未认证用户提供服务,请先完成身份认证再继续划转
    58132 200 根据当地法律法规,我们无法为仅完成基本认证的用户提供服务,请先完成高级认证再继续划转
    58200 200 该币种暂不支持从{0}提现至{1},敬请谅解
    58201 200 今日提现金额累计超过每日限额
    58202 200 NEO最小提现数量为1,且提现数量必须为整数
    58203 200 请先添加提现地址
    58204 200 因您的账户活动触发风控,暂停提现。请联系客户支持寻求帮助。
    58205 200 提现金额大于单笔提现最大金额
    58206 200 提现金额小于单笔最小提现金额
    58207 200 提币地址不在认证地址列表内 (带标签的提币地址格式为 “address:label”)
    58208 200 提现失败,邮箱未绑定
    58209 200 子账户不能充值或提现,请在主账户中进行提现。
    58210 200 提现手续费大于最大值(提现接口,提现手续费输入有误)
    58211 200 提现手续费小于最小值(提现接口,手续费输入有误)
    58212 200 提现手续费应填写为提币数量的{0}%
    58213 200 内部转账地址不合法,必须是邮箱、手机号或者账户名
    58214 200 {chainName}维护中,暂停提币
    58215 200 提币申请ID不存在
    58216 200 不允许执行该操作
    58217 200 您当前的提现地址存在风险,暂时不能提现,详情请联系客服
    58218 200 内部提现失败,请检查参数toAddr与areaCode
    58219 200 为保障您的资金安全,修改手机号/邮箱/谷歌验证后24小时之内将无法提现
    58220 200 提币请求已撤销
    58221 200 toAddr参数格式有误,提币地址需要加上标签,格式应该为“地址:标签”
    58222 200 无效的提币地址
    58223 200 提币到此合约地址需要支付更高的手续费
    58224 200 该类型币种暂不支持链上提币到 OKX 地址,请通过内部转账进行提币
    58225 200 抱歉,由于当地法律法规,欧易无法为{region}未认证用户提供服务,所以您无法向该用户转账
    58226 200 {chainName} 已下线,不支持提币
    58227 200 不可交易资产提币只能全部提出
    58228 200 不可交易资产提币要求 API key 必须绑定 IP
    58229 200 资金账户手续费不足 {fee} USDT
    58230 200 根据欧易的合规政策,您需要完成 Lv. 1 身份认证方可继续提币
    58231 200 由于您的收款人尚未完成 Lv. 1 身份认证,内部转账暂时无法完成
    58232 200 您已超出个人身份验证 (Lv.1) 的提币上限,请完成照片验证 (Lv. 2) ,即可提升提币限额
    58233 200 根据当地法律法规,欧易无法为未认证用户提供服务,请先完成身份认证再继续提币
    58234 200 根据当地法律法规,收款人必须完成身份认证方可收到您的转账
    58235 200 根据当地法律法规,欧易无法为仅完成基本认证的用户提供服务,请先完成高级认证再继续提币
    58236 200 根据当地法律法规,仅完成基础认证的收款人无法收取转账,您的收款人必须完成高级认证方可收到您的转账
    58237 200 根据当地法律法规,请提供准确的接收方信息 (rcvrInfo)。对于交易所地址,请一并提供交易所信息和接收人的身份信息({recipientParameters})。
    58238 200 提币到交易所地址需提供完整的接收方信息,包括交易所信息和接收人的身份信息
    58240 200 根据当地法律法规,为保障用户安全,您需要完成身份认证方可继续使用我们的服务。若您不希望进行身份认证,请联系客服团队了解详情。我们致力于为用户提供一个安全的平台,感谢您的理解与支持。
    58241 200 根据当地法律法规,内部转账功能暂时无法使用
    58242 200 受收款人所在地法律法规限制,本次内部转账无法完成
    58243 200 由于您的收款人尚未完成法币入金,对方不能接收本次转账
    58244 200 请先完成法币入金,再进行您的操作
    58248 200 根据当地法律法规限制,提币API已被暂时禁用。请使用OKX网页或OKX手机APP进行提币操作。
    58249 200 该币种暂不支持 API 提币,请于欧易网页端或 App 端进行提币。
    58300 200 创建充值地址超过上限
    58301 200 充值地址不存在
    58302 200 充值地址需要标签
    58303 200 该链{chain}充值当前不可用
    58304 200 创建invoice失败
    58305 200 找不到充币地址,请完成身份认证并生成充币地址
    58306 200 根据欧易的合规政策,您需要完成 Lv. 1 身份认证方可继续充币
    58307 200 您已超出个人身份验证 (Lv.1) 的充币上限。超出充币上限的资产已被冻结,请完成照片验证 (Lv. 2) ,即可提升充币限额
    58308 200 根据当地法律法规,欧易无法为未认证用户提供服务,请先完成身份认证再继续充币
    58309 200 根据当地法律法规,欧易无法为仅完成基本认证的用户提供服务,请先完成高级认证再继续充币
    58310 200 无法创建新的充币地址,请稍后重试
    58350 200 您的余额不足
    58351 200 invoice已经过期
    58352 200 invoice无效
    58353 200 充币数量需要在限额范围内
    58354 200 单日达到生成invoice 10,000 个的上限
    58355 200 用户没有使用此API接口的权限,请联系您的客户经理
    58356 200 同节点账户不支持闪电网络充币或提币
    58358 200 参数fromCcy与参数toCcy不可相同
    58370 200 小额兑换功能每日使用次数超限
    58373 200 {ccy} 最小兑换数量为 {amount}
    58374 200 小额资产超过最大限制 {exchangeOKBLimitMax} {currency}
    58375 200 小额资产必须超过最小限制{exchangeOKBLimitMin} {currency}

    账户类

    错误码从 59000 到 59999

    错误码 HTTP 状态码 错误提示
    59000 200 设置失败,请在设置前关闭任何挂单或持仓
    59001 200 当前存在借币,暂不可切换
    59002 200 子账户设置失败,请在设置前关闭任何子账户挂单、持仓或策略
    59004 200 只支持同一业务线下交易产品ID
    59005 200 逐仓自主划转保证金模式,初次划入仓位的资产价值需大于 10,000 USDT
    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} 范围内
    51152 200 一键借币模式下,不支持自动借币与自动还币和手动类型混合下单。
    59401 200 持仓价值达到持仓限制
    59402 200 查询条件中的instId的交易产品当前不是可交易状态,请填写单个instid逐个查询状态详情
    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 不支持为非杠杆币种设置现货对冲占用数量

    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.okx.com/cn/help-center/changes-to-v5-api-websocket-subscription-parameter-and-url.
    64001 该频道到已经迁移到了 '/business' URL,请使用新的 URL。更多详情可参考:https://www.okx.com/cn/help-center/changes-to-v5-api-websocket-subscription-parameter-and-url.
    64002 "/business" URL 不支持该频道. 请使用"/private" URL(对于私有频道), 或者"/public" URL(对于公有频道),更多详情可参考:https://www.okx.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 该连接订阅频道数超限制