导航
English
HTTP Python

经纪商申请

如果您的业务平台提供数字货币服务,您就可以申请加入欧易经纪商项目,成为欧易的经纪商合作伙伴,享受专属的经纪商服务,并通过用户在欧易产生的交易手续费赚取高额返佣。
经纪商业务包含且不限:聚合交易平台、交易机器人、跟单平台、交易策略提供方、量化策略机构、资管平台等。

具体经纪商业务文档及产品服务在申请成功后提供相关资料。

经纪商指引

获取返佣指引

OKX Broker 经纪商进行 OKX V5 API 接口调用时,当请求参数有"tag"时,请务必录入您专属的 Broker code 信息,实现订单与经纪商的关联。
当订单录入 BrokerCode 信息后,经纪商方可享受对应的佣金奖励、数据统计等特定逻辑追踪

经纪商常用接口

OKX Broker经纪商进行OKX V5 API接口调用时,当请求参数有tag时,请务必录入您专属的Broker code信息,实现订单与经纪商的关联。
当订单录入Brokercode信息后,经纪商方可享受对应的佣金奖励、数据统计等特定逻辑追踪。

常规下单

更多详情

策略交易

更多详情

网格交易

更多详情

定投交易

更多详情

大宗交易

更多详情

价差撮合交易

更多详情

闪兑

更多详情

金融产品

更多详情

独立经纪商

简介

独立经纪商(Non-disclosed Broker) 是一种非披露经纪商。如果您有一定的研发运营能力,想要搭建独有的交易平台和自主管理您的用户,独立经纪商服务是最好的选择。您则负责前端开发和用户运营,而欧易为您提供后端技术和市场的流动性,赋能您的交易增值服务。

独立经纪商的优势如下

API

适用于独立经纪商母账户API Key。

获取独立经纪商账户信息

查看独立经纪商母账户的账户信息

限速:1次/s

限速规则:UserID

权限:读取

HTTP请求

GET /api/v5/broker/nd/info

请求示例

GET /api/v5/broker/nd/info

import okx.NDBroker as NDBroker

# API 初始化
apikey = "YOUR_API_KEY"
secretkey = "YOUR_SECRET_KEY"
passphrase = "YOUR_PASSPHRASE"
flag = "1"  # 实盘:0 , 模拟盘:1

ndBrokerAPI = NDBroker.NDBrokerAPI(apikey, secretkey, passphrase, False, flag)

# 获取独立经纪商账户信息
result = ndBrokerAPI.get_broker_info()
print(result)

返回结果

{
    "code": "0",
    "data": [
        {
            "level": "lv1",
            "maxSubAcctQty": "1000",
            "subAcctQty": "6",
            "ts": "1637301641775"
        }
    ],
    "msg": ""
}

返回参数

参数名 类型 描述
subAcctQty String 已创建子账户的数量
maxSubAcctQty String 最多可以创建子账户数量
level String 交易等级,如 lv1
ts String 数据返回时间,Unix时间戳的毫秒数格式 ,如 1597026383085

创建子账户

独立经纪商母账户创建子账户

限速:40次/s

限速规则:UserID

权限:交易

HTTP请求

POST /api/v5/broker/nd/create-subaccount

请求示例

POST /api/v5/broker/nd/create-subaccount
body
{
    "subAcct":"brokerTest5",
    "label":"5566"
}
import okx.NDBroker as NDBroker

# API 初始化
apikey = "YOUR_API_KEY"
secretkey = "YOUR_SECRET_KEY"
passphrase = "YOUR_PASSPHRASE"
flag = "1"  # 实盘:0 , 模拟盘:1

ndBrokerAPI = NDBroker.NDBrokerAPI(apikey, secretkey, passphrase, False, flag)

# 创建子账户
result = ndBrokerAPI.create_subaccount(
    subAcct="brokerTest5",
    label="5566"
)
print(result)

请求参数

参数名 类型 是否必须 描述
subAcct String 子账户名称
6-20位字母(区分大小写)或数字,可以是纯字母、不可以是纯数字。
label String 子账户的备注
不超过50位字母(区分大小写)或数字,可以是纯字母或纯数字。
clientIP String 子账户注册时的IP
非个人账户请使用ND服务端IP
mainAcct String 可选 二级子账户的母账户名称
创建二级子账户时必填,且需要填写一级子账户名称
创建一级子账户时,值为空""

返回结果

{
    "code": "0",
    "data": [
        {
            "acctLv": "1",
            "label": "5566",
            "subAcct": "brokerTest5",
            "uid": "345173667552038914",
            "ts": "1637141950450"
        }
    ],
    "msg": ""
}

返回参数

参数名 类型 描述
subAcct String 子账户名称
label String 子账户的备注
acctLv String 账户模式
1:现货模式
如果想设置ND子账户等级,参考 设置子账户的账户等级
uid String 账户ID
ts String 创建时间,Unix时间戳的毫秒数格式,如 1597026383085

删除子账户

独立经纪商母账户删除子账户,该子账户被删除前,需将子账户的资金全部划转出去。

限速:10次/s

限速规则:UserID

权限:交易

HTTP请求

POST /api/v5/broker/nd/delete-subaccount

请求示例

POST /api/v5/broker/nd/delete-subaccount
body
{
    "subAcct":"yonxws"
}
import okx.NDBroker as NDBroker

# API 初始化
apikey = "YOUR_API_KEY"
secretkey = "YOUR_SECRET_KEY"
passphrase = "YOUR_PASSPHRASE"
flag = "1"  # 实盘:0 , 模拟盘:1

ndBrokerAPI = NDBroker.NDBrokerAPI(apikey, secretkey, passphrase, False, flag)

# 删除子账户
result = ndBrokerAPI.delete_subaccount(
    subAcct="yonxws"
)
print(result)

请求参数

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

返回结果

{
    "code": "0",
    "msg": "",
    "data": [{
        "subAcct": "test-1"
    }]
}

返回参数

参数名 类型 描述
subAcct String 子账户名称

获取子账户列表

限速:1次/s

限速规则:UserID

权限:读取

HTTP请求

GET /api/v5/broker/nd/subaccount-info

请求示例

GET /api/v5/broker/nd/subaccount-info
import okx.NDBroker as NDBroker

# API 初始化
apikey = "YOUR_API_KEY"
secretkey = "YOUR_SECRET_KEY"
passphrase = "YOUR_PASSPHRASE"
flag = "1"  # 实盘:0 , 模拟盘:1

ndBrokerAPI = NDBroker.NDBrokerAPI(apikey, secretkey, passphrase, False, flag)

# 获取子账户列表
result = ndBrokerAPI.get_subaccount_info()
print(result)

请求参数

参数名 类型 是否必须 描述
subAcct String 子账户名称
uid String 子账户UID
page String 查询页数
limit String 分页返回的结果集数量,最大为100,不填默认返回100条

返回结果

{
    "code": "0",
    "data": [
        {
            "details": [
                {
                    "acctLv": "1",
                    "canTransOut": false,
                    "mainAcct": "",
                    "enable": true,
                    "frozenFunc": [],
                    "label": "1",
                    "subAcct": "h*******5",
                    "ts": "1648521249000",
                    "uid": "289*********1696"
                }
            ],
            "page": "1",
            "totalPage": "1"
        }
    ],
    "msg": ""
}

返回参数

参数名 类型 描述
totalPage String 总的页数
page String 当前页数
details Array 子账户列表
> subAcct String 子账户名称
> uid String 子账户UID
> label String 子账户的备注
> acctLv String 账户模式
1:现货模式
2:现货和合约模式
3:跨币种保证金模式
4:组合保证金模式
> enable Boolean 子账户状态
true:正常使用
false:冻结(全局)
> frozenFunc Array of string 被冻结的功能
trading:交易
convert:闪兑
transfer:母子账户间资金划转
withdrawal:提币
deposit:充值
flexible_loan:活期借币
> canTransOut String 是否可以主动转出(通过子账户APIKey直接转到另一个子账户下)
true:可以转出
false:不可转出
> mainAcct String 二级子账户的母账户名称
为""时,代表返回的是一级子账户,有值时为二级子账户
> ts String 子账户创建时间,Unix时间戳的毫秒数格式 ,如 1597026383085

创建子账户的APIKey

限速:40次/s

限速规则:UserID

权限:交易

HTTP请求

POST /api/v5/broker/nd/subaccount/apikey

请求示例

POST /api/v5/broker/nd/subaccount/apikey
body
{
    "subAcct":"panpanBroker2",
    "label":"broker3",
    "passphrase":"Qwr4321!",
    "perm":"read_only,trade",
    "ip":"10.0.108.9"
}
import okx.NDBroker as NDBroker

# API 初始化
apikey = "YOUR_API_KEY"
secretkey = "YOUR_SECRET_KEY"
passphrase = "YOUR_PASSPHRASE"
flag = "1"  # 实盘:0 , 模拟盘:1

ndBrokerAPI = NDBroker.NDBrokerAPI(apikey, secretkey, passphrase, False, flag)

# 创建子账户的APIKey
result = ndBrokerAPI.create_subaccount_apikey(
    subAcct="panpanBroker2",
    label="broker3",
    passphrase="Qwr4321!",
    perm="trade",
    ip="10.0.108.9"
)
print(result)

请求参数

参数名 类型 是否必须 描述
subAcct String 子账户名称,支持6-20位字母和数字组合(区分大小写,不支持空格符号)
label String API Key备注
不超过50位字母(区分大小写)或数字,可以是纯字母或纯数字。
passphrase String API Key密码,8-32位字母数字组合,至少包含一个数字、一个大写字母、一个小写字母、一个特殊字符
ip String 绑定IP地址,多个IP用半角逗号隔开,最多支持20个IP
安全性考虑,推荐绑定IP
未绑定IP且拥有交易或提币权限的API key,将在闲置14天之后自动删除。(模拟盘的API key不会被删除)
perm String API Key权限
read_only:读取,默认拥有,且不可去除
trade:交易
withdraw:提币

返回结果

{
    "code": "0",
    "msg": "",
    "data": [{
        "subAcct": "panpanBroker2",
        "label": "broker3",
        "apiKey": "****",
        "secretKey": "****",
        "passphrase": "Qwr4321!",
        "perm": "read_only,trade",
        "ip": "10.0.108.9",
        "ts": "1597026383085"
    }]
}

返回参数

参数名 类型 描述
subAcct String 子账户名称
label String API Key备注
apiKey String API公钥
secretKey String API Key私钥
passphrase String API Key密码
perm String API Key权限
ip String API Key绑定的ip地址
ts String 创建时间,Unix时间戳的毫秒数格式,如 1597026383085

查询子账户的API Key

限速:1次/s

限速规则:UserID

权限:读取

HTTP请求

GET /api/v5/broker/nd/subaccount/apikey

请求示例

GET /api/v5/broker/nd/subaccount/apikey?subAcct=panpanBroker2
import okx.NDBroker as NDBroker

# API 初始化
apikey = "YOUR_API_KEY"
secretkey = "YOUR_SECRET_KEY"
passphrase = "YOUR_PASSPHRASE"
flag = "1"  # 实盘:0 , 模拟盘:1

ndBrokerAPI = NDBroker.NDBrokerAPI(apikey, secretkey, passphrase, False, flag)

# 查询子账户的APIKey
result = ndBrokerAPI.get_subaccount_apikey(
    subAcct="panpanBroker2",
)
print(result)

请求参数

参数名 类型 是否必须 描述
subAcct String 子账户名称
apiKey String API Key公钥

返回结果

{    
    "code":"0",
    "msg":"",
    "data":[
        {
            "label":"v5",
            "apiKey":"arg13sdfgs",
            "perm":"read_only,trade",
            "ip":"1.1.1.1,2.2.2.2",
            "ts":"1597026383085"
        },
        {
            "label":"v5.1",
            "apiKey":"arg13sdfgs",
            "perm":"read_only",
            "ip":"1.1.1.1,2.2.2.2",
            "ts":"1597026383085"
        }
    ]
}

返回参数

参数名 类型 描述
label String API Key备注
apiKey String API Key公钥
perm String API Key权限
read_only:读取
trade:交易
withdraw:提币
ip String API Key绑定的IP地址
ts String API Key创建时间

重置子账户的APIKey

限速:10次/s

限速规则:UserID

权限:交易

HTTP请求

POST /api/v5/broker/nd/subaccount/modify-apikey

请求示例

POST /api/v5/broker/nd/subaccount/modify-apikey
body
{
    "subAcct":"yongxu",
    "perm":"read_only",
    "label":"test7",
    "apiKey":"49e1b84b-6dee-4894-80ee-ce9eb7ad614f"
}
import okx.NDBroker as NDBroker

# API 初始化
apikey = "YOUR_API_KEY"
secretkey = "YOUR_SECRET_KEY"
passphrase = "YOUR_PASSPHRASE"
flag = "1"  # 实盘:0 , 模拟盘:1

ndBrokerAPI = NDBroker.NDBrokerAPI(apikey, secretkey, passphrase, False, flag)

# 重置子账户的APIKey
result = ndBrokerAPI.reset_subaccount_apikey(
    subAcct="panpanBroker2",
    perm="read_only",
    label="test7",
    apiKey="49e1b84b-6dee-4894-80ee-ce9eb7ad614f"
)
print(result)

请求参数

参数名 类型 是否必须 描述
subAcct String 子账户名称
apiKey String API公钥
label String APIKey备注
不超过50位字母(区分大小写)或数字,可以是纯字母或纯数字
如果传入该字段,则会被重置
perm String APIKey权限
read_only:读取,默认拥有,且不可去除
trade:交易
withdraw:提币
多个权限用半角逗号隔开
如果传入该字段,则会被重置
ip String 绑定ip地址,多个ip用半角逗号隔开,最多支持20个ip
如果传入该字段,则会被重置

返回结果

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

返回参数

参数名 类型 描述
subAcct String 子账户名称
label String API Key备注
apiKey String API Key公钥
perm String API Key权限
ip String API Key绑定的ip地址
ts String 更新时间,Unix时间戳的毫秒数格式,如 1597026383085

删除子账户的APIKey

限速:10次/s

限速规则:UserID

权限:交易

HTTP请求

POST /api/v5/broker/nd/subaccount/delete-apikey

请求示例

POST /api/v5/broker/nd/subaccount/delete-apikey
body
{
    "subAcct":"test00001",
    "apiKey":"b521e11c-b4ed-4c80-9624-346d69749a85"
}
import okx.NDBroker as NDBroker

# API 初始化
apikey = "YOUR_API_KEY"
secretkey = "YOUR_SECRET_KEY"
passphrase = "YOUR_PASSPHRASE"
flag = "1"  # 实盘:0 , 模拟盘:1

ndBrokerAPI = NDBroker.NDBrokerAPI(apikey, secretkey, passphrase, False, flag)

# 删除子账户的APIKey
result = ndBrokerAPI.delete_subaccount_apikey(

    subAcct="panpanBroker2",
    apiKey="49e1b84b-6dee-4894-80ee-ce9eb7ad614f"
)
print(result)

请求参数

参数名 类型 是否必须 描述
subAcct String 子账户名称
apiKey String API的公钥

返回结果

{
    "code": "0",
    "msg": "",
    "data": [{
        "subAcct": "test-1"
    }]
}

返回参数

参数名 类型 描述
subAcct String 子账户名称

设置子账户的账户等级

独立经纪商母账户调整子账户的账户等级。
如果独立经纪商母账户想调整自己的账户等级,参考 设置账户模式

限速:5次/2s

限速规则:UserID

权限:交易

HTTP请求

POST /api/v5/broker/nd/set-subaccount-level

请求示例

POST /api/v5/broker/nd/set-subaccount-level
body
{
    "acctLv":"3",
    "subAcct":"brokerTest3"
}
import okx.NDBroker as NDBroker

# API 初始化
apikey = "YOUR_API_KEY"
secretkey = "YOUR_SECRET_KEY"
passphrase = "YOUR_PASSPHRASE"
flag = "1"  # 实盘:0 , 模拟盘:1

ndBrokerAPI = NDBroker.NDBrokerAPI(apikey, secretkey, passphrase, False, flag)

# 设置子账户的账户等级
result = ndBrokerAPI.set_subaccount_level(
    subAcct="panpanBroker2",
    acctLv="3",
)
print(result)

请求参数

参数名 类型 是否必须 描述
subAcct String 子账户名称
acctLv String 账户模式
1:现货模式
2:现货和合约模式
3:跨币种保证金模式
4:组合保证金模式

返回结果

{
    "code": "0",
    "data": [
        {
            "acctLv": "3"
        }
    ],
    "msg": ""
}

返回参数

参数名 类型 描述
acctLv String 账户模式
1:现货模式,2:现货和合约模式 ,3:跨币种保证金模式 ,4:组合保证金模式

设置子账户的交易手续费费率

子账户交易费率是当前层级的基础费率加上绝对或百分比的变化。设置子账户手续费费率后,生效日期为T+1小时(HKT)。

限速:5次/2s

限速规则:UserID

权限:交易

HTTP请求

POST /api/v5/broker/nd/set-subaccount-fee-rate

请求示例

POST /api/v5/broker/nd/set-subaccount-fee-rate
body
{
    "subAcct":"broker4",
    "chgType":"absolute",
    "chgTaker":"90",
    "chgMaker":"90",
    "effDate":"20211219"
}
import okx.NDBroker as NDBroker

# API 初始化
apikey = "YOUR_API_KEY"
secretkey = "YOUR_SECRET_KEY"
passphrase = "YOUR_PASSPHRASE"
flag = "1"  # 实盘:0 , 模拟盘:1

ndBrokerAPI = NDBroker.NDBrokerAPI(apikey, secretkey, passphrase, False, flag)

# 设置子账户的交易手续费费率
result = ndBrokerAPI.set_subaccount_fee_rate(
    subAcct="panpanBroker2",
    chgType="absolute",
    chgTaker= "90",
    chgMaker= "90",
    effDate= "20211219"
)
print(result)

请求参数

参数名 类型 是否必须 描述
subAcct String 子账户名称
instType String 产品类型
SPOT:币币
SWAP:永续合约
FUTURES:交割合约
OPTION:期权
quoteCcyType String 计价币类型
2:USDT
3:USDⓈ/Crypto
适用于币币
当指定该参数时,instType必传
mgnType String 保证金类型
1:USDT本位
2:币本位
3:USDC本位
适用于交割/永续
当指定该参数时,instType必传
chgType String 手续费加点类型
absolute:固定加点
percentage:百分比加点
chgTaker String 可选 Taker手续费加点
固定加点:单位bp(1bp = 0.01%),范围【0.0bp,1,000bp】,即【0.00%,10%】,精度为0.1bp
百分比加点:单位%范围【0%,1,0000%】,精度为1%
chgMaker String 可选 Maker手续费加点
固定加点:单位bp(1bp = 0.01%),范围【0.0bp,1,000bp】,即【0.00%,10%】,精度为0.1bp
百分比加点:单位%范围【0%,1,0000%】,精度为1%
chgTaker和chgMaker必须填写一个
effDate String 手续费加点的生效日期
格式:YYYYMMdd ,如 20210623
如果不填写,就是第二天0点(HKT)生效(T+1生效)
如果填写,就在指定日期0点(HKT)生效

返回结果

{
    "code": "0",
    "data": [
        {
            "subAcct": "brokerTest4",
            "effTs": "20211119"
        }
    ],
    "msg": ""
}

返回参数

参数名 类型 描述
subAcct String 子账户名称
effTs String 手续费加点的生效日期
格式:YYYYMMdd ,如 20210623
(已废弃)

创建子账户充值地址

独立经纪商母账户创建子账户的充值地址,每个币种最多20个充值地址。闪电网络充值有独立接口。

限速:10次/s

限速规则:UserID

权限:交易

HTTP请求

POST /api/v5/asset/broker/nd/subaccount-deposit-address

请求示例

POST /api/v5/asset/broker/nd/subaccount-deposit-address
body
{
    "ccy":"BTC",
    "subAcct":"brokerTest5"
}
import okx.NDBroker as NDBroker

# API 初始化
apikey = "YOUR_API_KEY"
secretkey = "YOUR_SECRET_KEY"
passphrase = "YOUR_PASSPHRASE"
flag = "1"  # 实盘:0 , 模拟盘:1

ndBrokerAPI = NDBroker.NDBrokerAPI(apikey, secretkey, passphrase, False, flag)

# 创建子账户充值地址
result = ndBrokerAPI.create_subaccount_deposit_address(
    ccy="BTC",
    subAcct="panpanBroker2"
)
print(result)

请求参数

参数名 类型 是否必须 描述
subAcct String 子账户名称
ccy String 币种名称,仅支持大写,如 BTC
chain String 币种链信息
有的币种下有多个链,必须要做区分,如USDT下有USDT-ERC20USDT-TRC20多个链
如果不填此参数,则默认为主链
addrType String 充值地址类型
1:普通地址
2:隔离验证地址 (仅适用于BTCLTC)
默认为1
to String 充值到账账户
6:资金账户
18:交易账户
默认为6

返回结果

{
    "code": "0",
    "data": [
        {
            "chain": "EOS-EOS",
            "ccy": "EOS",
            "memo": "10810086",
            "addr": "okbtothemoon",
            "ts": "1637141950450"
        }
    ],
    "msg": ""
}

返回参数

参数名 类型 描述
ccy String 充值币种
addr String 充值地址
chain String 币种链信息
pmtId String 部分币种提币需要此字段,如 XMR
如果不需要此字段的币种,则不会返回
tag String 部分币种提币需要此字段,如 XRP
如果不需要此字段的币种,则不会返回
memo String 部分币种充值需要标签,如 EOS
若不需要则不返回此字段,则不会返回
comment String 部分币种充值需要标签,如 TON
若不需要则不返回此字段,则不会返回
ts String 创建时间,Unix 时间戳的毫秒数格式,如 1597026383085

重置子账户充值地址

目前仅支持充值到账账户的调整

限速:6次/s

限速规则:UserID

权限:交易

HTTP请求

POST /api/v5/asset/broker/nd/modify-subaccount-deposit-address

请求示例

POST /api/v5/asset/broker/nd/modify-subaccount-deposit-address
body
{
    "subAcct":"test",
    "ccy":"USDT",
    "chain":"USDT-ERC20",
    "addr":"1123456",
    "to":"18"
}
import okx.NDBroker as NDBroker

# API 初始化
apikey = "YOUR_API_KEY"
secretkey = "YOUR_SECRET_KEY"
passphrase = "YOUR_PASSPHRASE"
flag = "1"  # 实盘:0 , 模拟盘:1

ndBrokerAPI = NDBroker.NDBrokerAPI(apikey, secretkey, passphrase, False, flag)

# 重置子账户充值地址
result = ndBrokerAPI.reset_subaccount_deposit_address(
    ccy="USDT",
    subAcct="panpanBroker2",
    chain="USDT-ERC20",
    addr="1123456",
    to="18"
)
print(result)

请求参数

参数名 类型 是否必须 描述
subAcct String 子账户名称
ccy String 币种名称,仅支持大写,如 BTC
chain String 币种链信息
有的币种下有多个链,必须要做区分,如USDT下有USDT-ERC20USDT-TRC20多个链
如果不填此参数,则默认为主链
addr String 充值地址
某些数字货币地址格式为:地址+标签,如 ARDOR-7JF3-8F2E-QUWZ-CAN7F:123456
to String 充值到账账户
6:资金账户 18:交易账户
充值到账账户是一个全局设置,单个子账户下的所有充值地址的到账账户都会影响

返回结果

{
    "code": "0",
    "data": [
        {
            "chain": "USDT-ERC20",
            "ccy": "USDT",
            "to": "18",
            "addr": "1123456",
            "ts": "1654778132000"
        }
    ],
    "msg": ""
}

返回参数

参数名 类型 描述
ccy String 充值币种
addr String 充值地址
chain String 币种链信息
pmtId String 部分币种提币需要此字段,如果不需要此字段的币种吗,返回"" ,如 XMR
tag String 部分币种提币需要此字段,如果不需要此字段的币种吗,返回"" , 如 XRP
memo String 部分币种充值需要标签,若不需要则不返回此字段,返回"",如 EOS
comment String 部分币种充值需要标签,若不需要则不返回此字段,返回"",如 TON
to String 调整后的充值到账账户
6:资金账户 18:交易账户
ts String 修改时间,Unix 时间戳的毫秒数格式,如 1597026383085

获取子账户充值地址

获取子账户的充值地址

限速:6次/s

限速规则:UserID

权限:读取

HTTP请求

GET /api/v5/asset/broker/nd/subaccount-deposit-address

请求示例

GET /api/v5/asset/broker/nd/subaccount-deposit-address?ccy=BTC&subAcct=brokerTest1
import okx.NDBroker as NDBroker

# API 初始化
apikey = "YOUR_API_KEY"
secretkey = "YOUR_SECRET_KEY"
passphrase = "YOUR_PASSPHRASE"
flag = "1"  # 实盘:0 , 模拟盘:1

ndBrokerAPI = NDBroker.NDBrokerAPI(apikey, secretkey, passphrase, False, flag)

# 获取子账户充值地址
result = ndBrokerAPI.get_subaccount_deposit_address(
    ccy="USDT",
    subAcct="panpanBroker2"
)
print(result)

请求参数

参数名 类型 是否必须 描述
subAcct String 子账户名称
ccy String 币种,仅支持大写:如 BTC

返回结果

{
    "code": "0",
    "data": [
        {
            "chain": "XMR-Monero",
            "ctAddr": "",
            "ccy": "XMR",
            "to": "6",
            "addr": "884ifkSCavs9X759FZhfmrNmEbimqnXdofsd5kqXwuxfJMKZPKCfSAubrnwanuUf2JJi6hwskfcYzAUGodkJj3RsHAVFoDm",
            "selected": false
        },
        {
            "chain": "XMR-Monero",
            "ctAddr": "",
            "ccy": "XMR",
            "to": "6",
            "addr": "88aCNpJgfX1DGZ2HPd5i9DaAmyuRiQbnFGVbc8AFXgAhi4i7eX6sRm75m1UuJNZxwfMh4xBwV5fv6h4A5v1qQET5LHnXqgn",
            "selected": false
        }
    ],
    "msg": ""
}

返回参数

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

获取子账户充值记录

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

限速:5次/2s

限速规则:UserID

权限:读取

HTTP请求

GET /api/v5/asset/broker/nd/subaccount-deposit-history

请求示例

查询最近的充值记录
GET /api/v5/asset/broker/nd/subaccount-deposit-history?subAcct=brokerTest1&state=1
import okx.NDBroker as NDBroker

# API 初始化
apikey = "YOUR_API_KEY"
secretkey = "YOUR_SECRET_KEY"
passphrase = "YOUR_PASSPHRASE"
flag = "1"  # 实盘:0 , 模拟盘:1

ndBrokerAPI = NDBroker.NDBrokerAPI(apikey, secretkey, passphrase, False, flag)

# 获取子账户充值记录
result = ndBrokerAPI.get_subaccount_deposit_history()
print(result)

请求参数

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

返回结果

{
  "code": "0",
  "msg": "",
  "data": [
    {
      "amt": "0.01044408",
      "actualDepBlkConfirm": "17",
      "txId": "1915737_3_0_0_asset",
      "ccy": "BTC",
      "chain":"BTC-Bitcoin",
      "from": "13801825426",
      "areaCodeFrom": "86",
      "to": "",
      "ts": "1597026383085",
      "state": "2",
      "subAcct": "brokerTest1",
      "depId": "4703879"
    }
  ]
}

返回参数

参数名 类型 描述
subAcct String 子账户名称
ccy String 币种名称,如 BTC
chain String 币种链信息
有的币种下有多个链,必须要做区分,如USDT下有USDT-ERC20USDT-TRC20多个链
amt String 充值数量
from String 充值账户,只显示内部账户转账地址,不显示区块链充值地址
areaCodeFrom String 如果from为手机号,该字段为该手机号的区号
to String 到账地址
txId String 区块转账哈希记录
ts String 充值记录创建时间,Unix 时间戳的毫秒数格式,如 1597026383085
state String 充值状态
0:等待确认
1:确认到账
2:充值成功
8:因该币种暂停充值而未到账,恢复充值后自动到账
11:命中黑名单地址
12:账户或充值被冻结
13:子账户充值拦截
14:KYC限额
depId String 充值记录 ID
actualDepBlkConfirm String 最新的充币网络确认数

子账户提币

ND 子账户支持提币,需要使用 ND 子账户 API Key 调用 提币

获取子账户提币记录

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

限速:5次/2s

限速规则:UserID

权限:读取

限速规则:UserID

HTTP 请求

GET /api/v5/asset/broker/nd/subaccount-withdrawal-history

请求示例

GET /api/v5/asset/broker/nd/subaccount-withdrawal-history?subAcct=brokerTest1

请求参数

参数名 类型 是否必须 描述
subAcct String 子账户名称
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": [
        {
          "subAcct":"brokerTest1",
          "chain": "ETH-Ethereum",
          "fee": "0.007",
          "feeCcy": "ETH",
          "ccy": "ETH",
          "clientId": "",
          "amt": "0.029809",
          "txId": "0x35c******b360a174d",
          "to": "0xa30d1fab********7CF18C7B6C579",
          "areaCodeTo": "",
          "state": "2",
          "ts": "1655251200000",
          "wdId": "15447421"
        }
      ]
    }
    

    返回参数

    参数名 类型 描述
    subAcct String 子账户名称
    ccy String 币种
    chain String 币种链信息
    有的币种下有多个链,必须要做区分,如USDT下有USDT-ERC20USDT-TRC20多个链
    nonTradableAsset Boolean 是否为不可交易资产
    true:不可交易资产,false:可交易资产
    amt String 数量
    ts String 提币申请时间,Unix 时间戳的毫秒数格式,如 1655251200000
    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

    获取子账户返佣记录

    独立经纪商账户查看子账户的返佣记录,返佣按小时计算,更新时间为T+1小时。
    返回结果按照时间倒序排列。

    限速:1次/10s

    限速规则:UserID

    权限:读取

    HTTP请求

    GET /api/v5/broker/nd/rebate-daily

    请求示例

    GET /api/v5/broker/nd/rebate-daily
    
    import okx.NDBroker as NDBroker
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    flag = "1"  # 实盘:0 , 模拟盘:1
    
    ndBrokerAPI = NDBroker.NDBrokerAPI(apikey, secretkey, passphrase, False, flag)
    
    # 获取子账户返佣记录
    result = ndBrokerAPI.get_rebate_daily()
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    subAcct String 子账户名称
    begin String 查询起始日期
    格式:YYYYMMdd,如 20210623,查询在 2021/06/23 00:00:00(包含)后的记录
    end String 查询结束日期
    格式:YYYYMMdd,如 20210623,查询在 2021/06/24 00:00:00(不包含)前的记录
    beginTime String 查询起始时间
    Unix时间戳的毫秒数格式,如 1597026383085,查询在 1597026383085(包含)后的记录
    endTime String 查询结束时间
    Unix时间戳的毫秒数格式,如 1597026383085,查询在 1597026383085(不包含)前的记录
    page String 查询页码
    1:第一页
    limit String 分页返回的结果集数量,最大为100,不填默认返回100

    返回结果

    {
        "code": "0",
        "data": [
            {
                "details": [
                  {
                    "income": "0.01857038047018",
                    "incomeCat": {
                      "convert": "0",
                      "derivative": "0",
                      "spot": "0.01857038047018"
                    },
                    "markupFee": "-0.0147228174975",
                    "markupFeeCat": {
                      "convert": "0",
                      "derivative": "0",
                      "spot": "-0.0147228174975"
                    },
                    "netFee": "0.0096189074317",
                    "netFeeCat": {
                      "derivative": "0",
                      "spot": "0.0096189074317"
                    },
                    "rebateDate": "20221107",
                    "rebateTime": "1689609601000",
                    "subAcct": "testing"
                  }
                ],
                "page": "1",
                "totIncome": "0.51129485727208",
                "totIncomeCat": {
                    "convert": "0",
                    "derivative": "0",
                    "spot": "0.50704793427208"
                },
                "totPage": "1",
                "ts": "1689846562790"
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    ts String 数据查询时间,Unix时间戳的毫秒数格式,如 1597026383085
    totIncome String 所有子账户总返佣金额,单位为USDT
    totIncomeCat Object 所有子账户返佣金额分类统计
    > spot String 所有子账户 现货 总返佣金额,单位为USDT
    > derivative String 所有子账户 衍生品 总返佣金额,单位为USDT
    > convert String 所有子账户 闪兑 总返佣金额,单位为USDT
    totPage String 总的页数
    page String 当前页数
    details Array of object 子账户返佣记录列表
    > subAcct String 子账户名称
    > income String 当前子账户返佣金额 ,单位USDT
    > incomeCat Object 当前子账户返佣金额分类统计
    >> spot String 当前子账户 现货 返佣金额,单位为USDT
    >> derivative String 当前子账户 衍生品 返佣金额,单位为USDT
    >> convert String 当前子账户 闪兑 返佣金额,单位为USDT
    > netFee String 当前子账户净手续费,单位USDT
    > netFeeCat Object 当前子账户净手续费分类统计
    >> spot String 当前子账户 现货 净手续费汇总,单位为USDT
    >> derivative String 当前子账户 衍生品 净手续费汇总,单位为USDT
    > markupFee String 当前子账户加点后手续费,单位USDT
    > markupFeeCat Object 当前子账户加点后手续费分类统计
    >> spot String 当前子账户 现货 加点后手续费,单位为USDT
    >> derivative String 当前子账户 衍生品 加点后手续费,单位为USDT
    >> convert String 当前子账户 闪兑 加点后手续费,单位为USDT
    > rebateDate String 子账户返佣日期,格式: YYYYMMdd,如 20210623
    > rebateTime String 子账户返佣时间,Unix时间戳的毫秒数格式,如 1597026383085

    获取已经申请成功的成交明细维度的返佣下载链接,下载链接生成后,仅保留9小时有效。

    限速:2次/1min

    限速规则:UserID

    权限:读取

    HTTP请求

    GET /api/v5/broker/nd/rebate-per-orders

    请求示例

    GET /api/v5/broker/nd/rebate-per-orders?type=false&begin=20211109&end=20211208
    
    import okx.NDBroker as NDBroker
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    flag = "1"  # 实盘:0 , 模拟盘:1
    
    ndBrokerAPI = NDBroker.NDBrokerAPI(apikey, secretkey, passphrase, False, flag)
    
    # 获取返佣明细下载链接
    result = ndBrokerAPI.get_rebate_details_download_link()
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    type String 筛选条件类型
    true:获取当前用户所有已生成的历史记录
    false:查询指定的历史记录
    begin String 可选 查询链接生成的起始日期
    格式: YYYYMMdd,如 20210623,查询在 2021/06/23 00:00:00(包含)后的记录
    如果type为false,该字段必填
    end String 可选 查询链接生成的结束日期
    格式: YYYYMMdd,如 20210623,查询在 2021/06/24 00:00:00(不包含)前的记录
    如果type为false,该字段必填

    返回结果

    {
        "code": "0",
        "data": [
            {
                "beginTime": "1667232000000",
                "cTime": "1689823776000",
                "endTime": "1672502400000",
                "fileHref": "http://okg-pri-hk.oss-cn-hongkong.aliyuncs.com/okex/broker/ndbroker_reward/e8e1af1918f864fe99c33fdfc9b5fcdd5819173b/e8e1af1918f864fe99c33fdfc9b5fcdd5819173b_20221101_20230101.zip?Expires=1697617317&OSSAccessKeyId=LTAI5tKNPwWs7AttSPZn4iaa&Signature=rn%2Bk%2Fk35SFHpYmfFfWLyWfHzE%2F0%3D",
                "state": "finished",
                "ts": "1689823776000"
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    fileHref String 文件链接,没有数据时为 ""
    beginTime String 返佣明细的开始时间,Unix时间戳的毫秒数格式 ,如 1597026383085
    endTime String 返佣明细的结束时间,Unix时间戳的毫秒数格式 ,如 1597026383085
    cTime String 生成下载链接的首次请求时间,Unix时间戳的毫秒数格式 ,如 1597026383085
    ts String 下载链接生成时间,Unix时间戳的毫秒数格式 ,如 1597026383085
    state String 下载链接状态
    finished:已生成
    ongoing:进行中

    解压后CSV里的字段说明

    参数名 描述
    subAcct 子账户名称
    instId 交易产品
    ordId 订单id
    tradeId 最新成交 ID
    amt 成交金额,单位为USDT
    fee 手续费,单位为USDT
    execType 流动性方向
    T:taker
    M:maker
    rebate 返佣金额,单位为USDT
    rebateCat 返佣类别
    spot:现货
    derivative:衍生品
    convert:闪兑
    netFee 净手续费(去除返佣卡、对手方等数据后进行返佣结算的手续费基数),单位为USDT
    markupFee 加点手续费,单位为USDT
    ts 该笔订单最后一次成交时间

    支持所有ND子账户账户的全部历史返佣明细

    限速:1次/1h

    限速规则:UserID

    权限:读取

    HTTP请求

    POST /api/v5/broker/nd/rebate-per-orders

    请求示例

    POST /api/v5/broker/nd/rebate-per-orders
    body
    {
        "begin":"20210623",
        "end":"20210626"
    }
    
    import okx.NDBroker as NDBroker
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    flag = "1"  # 实盘:0 , 模拟盘:1
    
    ndBrokerAPI = NDBroker.NDBrokerAPI(apikey, secretkey, passphrase, False, flag)
    
    # 生成返佣明细下载链接
    result = ndBrokerAPI.generate_rebate_details_download_link(
          begin="20220623",
          end="20210922"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    begin String 起始日期
    格式: YYYYMMdd,如 20210623,查询在 2021/06/23 00:00:00(包含)后的记录
    end String 结束日期
    格式: YYYYMMdd,如 20210623,查询在 2021/06/24 00:00:00(不包含)前的记录

    返回结果

    {
        "code": "0",
        "data": [
          {
            "result": "false",
            "ts": "1646892328000"
          }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    result String 是否已经存在该区间的下载链接
    true:已存在,可以通过"获取返佣明细下载链接"接口获取
    false:不存在,正在生成,请3个小时后查看下载链接
    ts String 服务端首次收到请求的时间,Unix时间戳的毫秒数格式,如 1597026383085

    获取双币赢产品列表

    请先跟你的客服经理联系开通双币赢产品。返回产品详细信息列表和预估报价。

    限速:30次/2s

    限速规则:IP

    权限:读取

    HTTP请求

    GET /api/v5/finance/sfp/dcd/products

    请求示例

    GET /api/v5/finance/sfp/dcd/products?ccy=BTC&alternativeCcy=USDT&optType=C&tag=123456789ABCDEFG
    
    

    请求参数

    参数 类型 是否必须 描述
    ccy String 风险货币,如 BTC
    alternativeCcy String 稳定货币,如 USDT
    optType String 期权类型
    C:看涨期权,申购货币是风险货币
    P:看跌期权,申购货币是稳定货币
    tag String 经纪商订单标签

    返回结果

    {
        "code": 0,
        "data": [
            {
                "absYield": "0.01302066",
                "altCcy": "USDT",
                "annualYield": "0.683",
                "ccy": "BTC",
                "expTime": "1683878400000",
                "interestAccrualTime": "1683277200000",
                "listTime": "1682969037000",
                "maxSize": "200.0000000000000000",
                "minSize": "0.0001000000000000",
                "notionalCcy": "BTC",
                "optType": "C",
                "productId": "BTC-USDT-230512-29500-C",
                "quota": "198.9990000000000000",
                "quoteTime": "1683275022001",
                "settTime": "1683885600000",
                "stepSize": "0.0001",
                "stk": "29500",
                "tag": "123456789ABCDEFG",
                "uly": "BTC-USD"
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数 类型 描述
    absYield String 产品预估回报
    alternativeCcy String 稳定货币
    annualYield String 产品预估年化回报
    ccy String 风险货币
    expTime String 到期时间
    interestAccrualTime String 起息时间
    listTime String 产品上线时间
    maxSize String 订单最大数量(申购货币)
    minSize String 订单最小数量(申购货币)
    notionalCcy String 申购货币
    C:看涨期权,申购货币是风险货币
    P:看跌期权,申购货币是稳定货币
    optType String 期权类型,
    C:看涨期权
    P:看跌期权
    productId String 产品ID
    quota String 剩余额度(申购货币)
    quoteTime String 报价时间
    settTime String 结算时间
    stopTradingTime String 最后申购时间
    stepSize String 下单数量精度
    stk String 行权价格
    tag String 经纪商订单标签
    uly String 标的指数

    双币赢询价

    返回产品最终报价。只可以透过子账户的API Key调用接口。

    限速:2次/2s

    限速规则:UserID

    权限:交易

    HTTP请求

    POST /api/v5/finance/sfp/dcd/quote

    请求示例

    POST /api/v5/finance/sfp/dcd/quote
    body
    {
        "clReqId": "Q001",  
        "markUp": "0.05",
        "notional": "1", 
        "notionalCcy": "BTC", 
        "productId": "BTC-USDT-220414-30800-C", 
        "tag": "123456789ABCDEFG"
    }
    
    

    请求参数

    参数 类型 是否必须 描述
    clReqId String 客户端自定义的订单标识
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。
    markUp String 覆盖预设的分佣。如果省略,系统将应用预设的分佣值
    必须0<=x<1
    notional String 申购金额,单位是申购货币
    notionalCcy String 申购货币,必须对应产品的申购货币
    productId String 产品ID
    tag String 经纪商订单标签

    返回结果

    {
        "code": 0,
        "msg": "",
        "data": [
            {
                "absYield": "0.001",
                "annualYield": "0.0822",
                "clQReqId": "Q001",
                "notional": "5", 
                "notionalCcy": "BTC",
                "productId": "BTC-USDT-221221-16900-C",
                "quoteId": "quoterbcDCD-QUOTE16715309383851388", 
                "ttlMs": "30000",
                "tag": "123456789ABCDEFG",
                "markUp": "0.05"
            }
        ]
    }
    

    返回参数

    参数 类型 描述
    absYield String 产品回报
    annualYield String 产品年化回报
    clReqId String 客户端自定义的订单标识
    notional String 申购金额,单位是申购货币
    notionalCcy String 申购货币,必须对应产品的申购货币
    productId String 产品ID
    quoteId String 报价ID
    ttlMs String 报价有效期,单位为毫秒
    tag String 经纪商订单标签
    markUp String 覆盖的分佣。返回“”代表系统用预设的分佣值

    双币赢交易

    用拿到的quote ID下单。 下单时间一定是报价有效期内。只可以透过子账户的API Key调用接口。

    限速:2次/2s

    限速规则:UserID

    权限:交易

    HTTP请求

    POST /api/v5/finance/sfp/dcd/order

    请求示例

    POST /api/v5/finance/sfp/dcd/order
    body
    {
        "clOrdId": "T001",
        "quoteId": "quoterbcDCD-QUOTE16715309383851388"
    }
    

    请求参数

    参数 类型 是否必须 描述
    clOrdId String 用户自定义ID
    字母(区分大小写)与数字的组合,可以是纯字母、纯数字且长度要在1-32位之间。
    不能与所有订单的clOrdId重复
    quoteId String 系统报价ID

    返回结果

    {
        "code": 0,
        "data": {
            "clOrdId": "T001",
            "orderId": "fa478b7a60d24cac966ea97c7e837380",
            "quoteId": "quoterbcDCD-QUOTE16715309383851388"
        },
        "msg": ""
    }
    

    返回参数

    Parameter参数 Type类型 描述
    clOrdId String 用户自定义ID
    ordId String 订单ID
    quoteId String 系统报价ID

    获取双币赢订单

    只可以透过子账户的API Key调用接口。

    限速:10次/2s

    限速规则:UserID

    权限:读取

    HTTP请求

    GET /api/v5/finance/sfp/dcd/order

    请求示例

    GET /api/v5/finance/sfp/dcd/order
    
    

    请求参数

    参数 类型 是否必须 描述
    ordId String 可选 系统报价ID
    ordIdclOrdId 必填其一。若传ordIdclOrdId,以ordId为主
    clOrdId String 可选 用户自定义ID

    返回结果

    {
        "code": 0,
        "data": [
            {
                "absYield": "0.00282333",
                "alternativeCcy": "USDT",
                "annualYield": "1.12420000",
                "cTime": "1683193229000",
                "ccy": "BTC",
                "clOrdId": "fa478b7a60d24cac966ea97c7e837380",
                "notional": "0.0100000000000000",
                "notionalCcy": "BTC",
                "ordId": "1",
                "productId": "BTC-USDT-230505-29250-C",
                "quoteId": "abcd1234",
                "settAmt": "0.01002823",
                "settCcy": "BTC",
                "settPrice": "23000.0000000000000000",
                "settledTime": "1683280819000",
                "state": "settled",
                "stk": "29250",
                "tag": "123456789ABCDEFG",
                "uTime": "1683280819000",
                "uly": "BTC-USD",
                "yieldAmt": "0.00002823",
                "yieldCcy": "BTC"
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数 类型 描述
    absYield String 产品预估回报
    alternativeCcy String 稳定货币 (如USDT)
    annualYield String 产品预估年化回报
    ccy String 风险货币(如BTC,ETH)
    clOrdId String 用户自定义ID
    cTime String 询价单创建时间,Unix时间戳的毫秒数格式。
    optType String 期权类型,
    C:看涨期权
    P:看跌期权
    ordId String 订单ID
    notional String 申购金额,单位是申购货币
    notionalCcy String 申购货币
    C:看涨期权,申购货币是风险货币
    P:看跌期权,申购货币是稳定货币
    productId String 产品ID
    quoteId String 系统报价ID
    settTime String 结算时间
    settAmt String 结算金额(结算货币)
    settCcy String 结算货币
    settPrice String 计算价格。状态在 pending_settledsettled 才会有值返回
    state String 订单状态
    initial:处理中, live:赚币中, pending_settled:等待结算, settled:已结算, rejected:失败
    stk String 行权价格
    uTime String 订单状态更新时间,Unix时间戳的毫秒数格式
    tag String 经纪商订单标签
    uly String 标的指数

    获取双币赢所有订单

    只可以透过子账户的API Key调用接口。

    限速:10次/2s

    限速规则:UserID

    权限:读取

    HTTP请求

    GET /api/v5/finance/sfp/dcd/orders

    请求示例

    GET /api/v5/finance/sfp/dcd/orders
    
    

    请求参数

    参数 类型 是否必须 描述
    productId String 产品ID
    uly String 标的指数
    state String 订单状态
    initial
    live
    pending_settled
    settled
    rejected
    beginId String 请求的起始询价单ID,请求此ID之后(更新的数据)的分页内容,不包括 beginId
    endId String 请求的结束询价单ID,请求此ID之前(更旧的数据)的分页内容,不包括 endId
    begin String 用开始时间戳筛创建时间,Unix时间戳的毫秒数格式,不包括 begin
    end String 用结束时间戳筛选创建时间,Unix时间戳的毫秒数格式,不包括 end
    limit String 返回结果的数量,最大为100,默认100条。
    如果请求范围内的交易数量大于100,则返回该范围内最近的100笔交易。

    返回结果

    {
        "code": 0,
        "data": [
            {
                "absYield": "0.01163784",
                "alternativeCcy": "USDT",
                "annualYield": "0.51750000",
                "cTime": "1683166630000",
                "ccy": "BTC",
                "clOrdId": "fa478b7a60d24cac966ea97c7e837376",
                "notional": "0.0100000000000000",
                "notionalCcy": "BTC",
                "ordId": "1",
                "productId": "BTC-USDT-230512-30000-C",
                "quoteId": "abcd1234",
                "settAmt": "",
                "settCcy": "",
                "settPrice": "",
                "settledTime": "",
                "state": "live",
                "stk": "30000",
                "tag": "123456789ABCDEFG",
                "uTime": "1683166632000",
                "uly": "BTC-USD",
                "yieldAmt": "",
                "yieldCcy": ""
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数 类型 描述
    absYield String 产品预估回报
    alternativeCcy String 稳定货币 (如USDT)
    annualYield String 产品预估年化回报
    ccy String 风险货币(如BTC,ETH)
    clOrdId String 用户自定义ID
    cTime String 询价单创建时间,Unix时间戳的毫秒数格式。
    optType String 期权类型,
    C:看涨期权
    P:看跌期权
    ordId String 订单ID
    notional String 申购金额,单位是申购货币
    notionalCcy String 申购货币
    C:看涨期权,申购货币是风险货币
    P:看跌期权,申购货币是稳定货币
    productId String 产品ID
    quoteId String 系统报价ID
    settTime String 结算时间
    settAmt String 结算金额(结算货币)
    settCcy String 结算货币
    settPrice String 计算价格。状态在 pending_settledsettled 才会有值返回
    state String 订单状态
    initial:处理中, live:赚币中, pending_settled:等待结算, settled:已结算, rejected:失败
    stk String 行权价格
    uTime String 订单状态更新时间,Unix时间戳的毫秒数格式
    tag String 经纪商订单标签
    uly String 标的指数

    爆仓预警推送

    推送:爆仓预警通知
    频道名:liquidation-warning
    此推送频道仅作为风险提示,不建议作为策略交易的风险判断
    在行情剧烈波动的情况下,可能会出现此消息推送的同时仓位已经被强平的可能性。

    设置模拟盘ND子账户资产

    限速:40次/s

    限速规则:UserID

    权限:交易

    HTTP请求

    POST /api/v5/broker/nd/set-subaccount-assets

    请求示例

    POST /api/v5/broker/nd/set-subaccount-assets
    body
    {
        "subAcct":"brokerTest5",
        "ccy":"BTC"
    }
    

    请求参数

    参数名 类型 是否必须 描述
    subAcct String ND子账户名称
    ccy String 币种,如 BTC

    返回结果

    {
        "code": "0",
        "data": [
            {
                "amt": "3",
                "ccy": "BTC",
                "subAcct": "brokerTest5"
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    subAcct String ND子账户名称
    ccy String 币种,如 BTC
    amt String 当前交易账户的币种数量

    子账户IP上报

    限速:40次/s

    限速规则:UserID

    权限:交易

    HTTP请求

    POST /api/v5/broker/nd/report-subaccount-ip

    请求示例

    POST /api/v5/broker/nd/report-subaccount-ip
    body
    {
        "subAcct":"brokerTest5",
        "clientIP":"1.1.1.1" 
    }
    
    
    

    请求参数

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

    返回结果

    {
        "code": "0",
        "data": [
            {
                "subAcct": "brokerTest5",
                "ts": "1637141950450"
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    subAcct String 子账户名称
    ts String IP上报时间,Unix时间戳的毫秒数格式,如 1597026383085

    获取用户的 Broker 返佣信息

    ND broker 查询 ND 子账号是否满足有返佣条件。

    限速:5次/2s

    限速规则:UserID

    权限:读取

    HTTP请求

    GET /api/v5/broker/nd/if-rebate

    请求示例

    GET /api/v5/broker/nd/if-rebate?subAcct=ndsubaccount1
    

    请求参数

    参数名 类型 是否必须 描述
    apiKey String 可选 ND 子账户的 API key
    如果填了多个,优先级依次为 apiKey, uid, subAcct
    如果同时传了 uid 和 subAcct,以 uid 为准
    uid String 可选 子账户 UID
    subAcct String 可选 子账户名称

    返回结果

    {
        "code": "0",
        "data": [
            {
                "lastRebate": "",
                "type": "0"
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    type String 账户无法获取Broker基础费率返佣的原因
    0:可以返佣
    2:没有返佣,子账号手续费等级为>=VIP4且月返佣金额达到上限
    3:没有返佣,VIP 费率模式
    lastRebate String VIP>=4时子账号当月净手续费返佣金额
    VIP<4 时,为 ""

    获取合约体验金

    获取合约体验金列表,返回按照 creditId 倒序返回,仅适用于 ND 子账户

    限速:5次/2s

    限速规则:UserID

    权限:读取

    HTTP请求

    GET /api/v5/broker/nd/credits

    请求示例

    GET /api/v5/broker/nd/credits
    

    请求参数

    参数名 类型 是否必须 描述
    state String 合约体验金状态
    unactivated: 未激活
    activated: 已激活
    expired: 已过期
    invalid: 已失效
    默认返回所有状态的合约体验金
    limit String 返回结果的数量,最大为200,默认10条

    返回结果

    {
        "code": "0",
        "data": [
            {
                "activateExpTime": "1716025615000",
                "amt": "10",
                "ccy": "USDT",
                "creditId": "117",
                "invalidTime": "",
                "state": "activated",
                "useExpTime": "1716103612000",
                "validPeriod": "2592000000"
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    amt String 合约体验金数量
    ccy String 合约体验金币种
    state String 合约体验金状态
    activateExpTime String 激活的过期时间,Unix时间戳的毫秒数格式。
    如果没在这个时间之前激活,就会过期
    useExpTime String 使用的过期时间,Unix时间戳的毫秒数格式。
    激活过才有值,否则为 ""
    如果没在这个时间之前使用完,剩余的部分就会过期
    invalidTime String 已失效的时间,Unix时间戳的毫秒数格式。
    仅适用 已失效 状态,否则为 ""
    validPeriod String 权益有效期,毫秒数
    creditId String 合约体验金 ID

    激活合约体验金

    激活合约体验金,仅适用于 ND 子账户

    限速:5次/2s

    限速规则:UserID

    权限:交易

    HTTP请求

    POST /api/v5/broker/nd/activate-credit

    请求示例

    POST /api/v5/broker/nd/activate-credit
    body
    {
        "creditId":"1112"
    }
    

    请求参数

    参数名 类型 是否必须 描述
    creditId String 合约体验金 ID

    返回结果

    {
        "code": "0",
        "data": [
            {
                "result": true
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    result String 激活结果
    true:激活成功

    全披露经纪商(API和OAuth)

    简介

    全披露经纪商,按照鉴权和运作方式的不同,可以分为两种经纪商模式,即 API经纪商、OAuth经纪商。如果您是聚合交易平台、交易机器人、量化机构、资管平台等,需要 OKX 提供账户及流动性,赋能于交易用户,OKX FD Broker 是你最好的选择。

    API经纪商:

    OAuth经纪商:

    FD Broker 的优势如下

    OAuth 经纪商

    简介

    OKX OAuth一键授权登陆,提供更安全、更便捷的的经纪商&用户对接方式。
    通过欧易OAuth 2.0用户仅需要在第三方应用内一键授权,即可进行交易。无需用户提供账户API Key或者登录密码。
    欧易OAuth 2.0支持WEB和APP应用,基于OAuth 2.0协议(RFC 6749)和 OAuth 2.1草案协议中的一些新特征开发。
    相关技术文档可联系商务获取。

    接入前的准备

    1. 官网注册账户申请经纪商
      您需要先申请成为OAuth经纪商,审核通过后您可以获取到client_idclient_secret信息。专属客户经理会提供给您相应的开发文档。
      接入步骤:
      1. 经纪商申请OKX的账户
      2. 经纪商进入OKX经纪商官网申请OAuth经纪商,填写申请表,红色星为必填
      3. OKX收到申请表后2天内会进行审核
      4. 申请表在OKX的后台审核通过后,经纪商会收到邮件通知,邮件内容包括client_idclient_secret
    2. OAuth返佣设置
      当前接入的OAuth经纪商的返佣需要设置标签,下单时需要将BrokerCode标识填写到tag字段里,作为返佣订单统计的标识。

    授权模式介绍

    欧易OAuth 2.0提供的授权模式:授权码模式、PKCE模式。

    授权模式 描述 使用场景
    授权码模式 用户授权,第三方应用提供client_secret获取授权码。通过授权码获取访问令牌刷新令牌 应用有服务器,可存储应用密钥,与欧易OAuth服务器进行密钥交互。
    PKCE模式 用户授权,第三方应用提供临时密钥code_verifier获取授权码。通过授权码获取访问令牌刷新令牌 应用无服务器(或不愿意后端服务器介入授权过程),无法存储应用密钥,通过随机字符串与欧易OAuth服务器进行交互。

    授权码模式

    同时支持App与Web应用的接入,呈现授权页面给用户,第三方应用在获取用户的授权码后,可以凭借此授权码换取访问令牌,调用OKX OpenAPI,访问用户授权的数据资源。

    PKCE模式

    若第三方应用无服务端或者不希望服务端参与授权过程,无法存储第三方应用密钥(client_secret),则推荐此模式,通过应用客户端接入获取令牌,有效提升开发者应用的安全防护。

    令牌的使用

    令牌的区别

    第三方应用通过授权码调用换取令牌接口后,会得到两种令牌。

    如何使用

    请求示例

    curl -H "Content-Type:application/json" \
    -H "Authorization:Bearer eyJhbGciOiJIUzUxMiIsImNpZCI6ImFhIn0.eyJqdGkiOiJleDExMDE2Mzg4NDM3ODg1MzIxMzMzNUVGMkVGRTNGOUM2Y1BJWiIsInVpZCI6IlEybEZxMnY2N0VybnVMZ0o1cFYzdUE9PSIsIm1pZCI6InFGbG5lVEc4dnlJeDNMSnNSa29qZ0E9PSIsImlhdCI6MTYzODg0Mzc4OCwiZXhwIjoxNjM4ODQ3Mzg4LCJzdWIiOiIxMC4yNTQuMjcuMTIwIiwiYW95IjoiOSIsInZlciI6IjEiLCJkZXYiOiIzMmNmOWM2My02NzM3LTRhYjUtYjFhYi04ODU4YWU2NTkxODUiLCJndHkiOiJhdXRob3JpemUifQ.bWXsgN7hTszxmdFB9xhr0Qh67HQWIp2zoxoqMCUzw2y1MBFPm38nNJJY9coljkivgAQPso81YUnHoLsFOLjxGg"  \
    -H "TERMID:32cf9c63-6737-4ab5-b1ab-8858ae659185" \
    https://www.okx.com/api/v5/asset/currencies
    
    

    第三方应用完成授权并获取到令牌后,就可以通过访问令牌调用OKX OpenAPI接口了。 请求时需要在请求头中携带如下信息:

    请求头字段 是否必须 描述
    Authorization 访问令牌以Bearer的方式填写到此字段
    TERMID 可选 用于校验请求合法性的设备号信息
    如果请求是由第三方应用客户端应用发起的(如选择了PKCE模式),则客户端应将客户端设备号在请求时带上
    如果请求是由第三方应用服务端发起的(如选择了授权码模式),则无需填写此字段

    令牌的有效期

    超过了访问令牌的有效期,接口会调用失败,如果刷新令牌还在有效期内,第三方应用需要调用刷新令牌接口,获取新的一对访问令牌和刷新令牌。新的访问令牌可以继续使用。需要注意的是,一旦刷新了令牌,无论原来的令牌有没有过期,都不再有效。
    当您撤销令牌后,原令牌将不再有效。

    权限

    权限 描述
    read_only 拥有读取功能的权限(不包含子账户模块)
    trade 拥有交易功能的权限(不包含子账户模块)

    Fast API


    简介

    Fast API是帮助OKX用户快速授权第三方应用,创建APIKey并绑定第三方应用的功能。


    Fast API工作流程

    API Broker的界面上Broker用户登录之后,可以通过Oauth授权跳转到登录OKX页面,在OKX页面登录授权以后,OKX会授权该API Broker 拥有为其用户创建拥有读取交易权限的API Key。


    申请流程

    1. 在OKX申请API和OAuth经纪商
      • 建议申请第三方APP IP白名单
    2. 在OauthBroker应用程序中,提供
      • 第三方服务器IP白名单
      • 重定向URL
      • Logo
      • Fast API权限
      • 跨域域名
    3. 申请成功后,您会收到一封电子邮件,包含client_id和client_secret。请务必妥善保存此信息,不要对他人展示。

    经纪商返佣API

    获取已经申请成功的返佣明细下载链接,每次请求时获取新的链接,且2小时内有效。

    限速:2次/1min

    限速规则:UserID

    权限:读取

    HTTP请求

    GET /api/v5/broker/fd/rebate-per-orders

    请求示例

    GET /api/v5/broker/fd/rebate-per-orders?type=false&begin=20221207&end=20230207
    
    import okx.FDBroker as FDbroker
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    flag = "0"  # 实盘:0 , 模拟盘:1
    
    fdBrokerAPI = FDbroker.FDBrokerAPI(apikey, secretkey, passphrase, False, flag)
    
    # 获取返佣明细下载链接
    result = fdBrokerAPI.get_rebate_details_download_link(
        type="true"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    type String 筛选条件类型
    true:获取当前用户所有已生成的历史记录
    false:查询指定的历史记录
    begin String 可选 查询链接生成的起始日期
    格式: YYYYMMdd,如 20210623,查询在 2021/06/23 00:00:00(包含)后的记录
    如果type为false,该字段必填
    end String 可选 查询链接生成的结束日期
    格式: YYYYMMdd,如 20210623,查询在 2021/06/24 00:00:00(不包含)前的记录
    如果type为false,该字段必填
    brokerType String 可选 经纪商类型
    api:API经纪商
    oauth:Oauth经纪商
    当经纪商只有一种类型时,该参数可以不填
    当经纪商有多种类型时,该参数必填

    返回结果

    {
        "code": "0",
        "data": [
            {
                "beginTime": "1671638400000",
                "cTime": "1671675432000",
                "endTime": "1671638400000",
                "fileHref": "http://okg-pri-hk.oss-cn-hongkong.aliyuncs.com/okex/broker/pap/brokerRebateInfo/dc9df1365dac6695737e7f17cae14198/21754f4be28dBCDE/2022-12-22/RebateDetails/RebateDetails1222-1222.csv?Expires=1697617451&OSSAccessKeyId=LTAI5tKNPwWs7AttSPZn4iaa&Signature=EdnQthE3PgXHFVtGlQ7gGILi%2Fbw%3D",
                "state": "finished",
                "ts": "1671676696000"
            }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    fileHref String 文件链接
    beginTime String 返佣明细的开始时间,Unix时间戳的毫秒数格式 ,如 1597026383085
    endTime String 返佣明细的结束时间,Unix时间戳的毫秒数格式 ,如 1597026383085
    cTime String 生成下载链接的首次请求时间,Unix时间戳的毫秒数格式 ,如 1597026383085
    ts String 下载链接生成时间,Unix时间戳的毫秒数格式 ,如 1597026383085
    state String 下载链接状态
    finished:已生成
    ongoing:生成中

    解压后CSV里的字段说明

    参数名 描述
    brokerCode 申请到的BrokerCode标识
    level 用户等级,如Lv1, Lv2, VIP1, VIP2
    instId 产品ID
    ordId 订单ID
    spotTradeAmt 现货交易量,单位为USDT
    derivativeTradeAmt 衍生品交易量,单位为USDT
    fee 手续费,单位为USDT
    netFee 净手续费 (去除返佣卡、对手方等数据后进行返佣结算的手续费基数),单位为USDT
    settlementFee 结算手续费 (去除节点返佣、返佣卡等,Broker进行结算前的手续费基数),单位为USDT
    brokerRebate 经纪商返佣量,单位为USDT
    suBrokerRebate 经纪商助力人返佣量,单位为USDT
    userRebate 用户返佣量,单位为USDT
    affiliated 是否有节点返佣
    true:节点返佣
    false:无节点返佣
    ts 该笔订单当天最后一次成交时间
    Unix 时间戳为毫秒数格式,如 1597026383085

    支持FD Broker的所有历史返佣明细。

    限速:1次/1h

    限速规则:UserID

    权限:读取

    HTTP请求

    POST /api/v5/broker/fd/rebate-per-orders

    请求示例

    POST /api/v5/broker/fd/rebate-per-orders
    body
    {
        "begin":"20210623",
        "end":"20210626"
    }
    
    import okx.FDBroker as FDbroker
    
    # API 初始化
    apikey = "YOUR_API_KEY"
    secretkey = "YOUR_SECRET_KEY"
    passphrase = "YOUR_PASSPHRASE"
    flag = "0"  # 实盘:0 , 模拟盘:1
    
    fdBrokerAPI = FDbroker.FDBrokerAPI(apikey, secretkey, passphrase, False, flag)
    
    # 生成返佣明细下载链接
    result = fdBrokerAPI.generate_rebate_details_download_link(
        begin="20210623",
        end="20210626"
    )
    print(result)
    

    请求参数

    参数名 类型 是否必须 描述
    begin String 起始日期
    格式: YYYYMMdd,如 20210623,查询在 2021/06/23 00:00:00(包含)后的记录
    end String 结束日期
    格式: YYYYMMdd,如 20210623,查询在 2021/06/24 00:00:00(不包含)前的记录
    brokerType String 可选 经纪商类型
    api:API经纪商
    oauth:Oauth经纪商
    当经纪商只有一种类型时,该参数可以不填
    当经纪商有多种类型时,该参数必填

    返回结果

    {
        "code": "0",
        "data":[
          {
            "result": "true",
            "ts": "1646892328000"
          }
        ],
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    result String 是否已经存在该区间的下载链接
    true:已存在,可以通过"获取返佣明细下载链接"接口获取
    false:不存在,正在生成,请2个小时后查看下载链接
    ts String 服务端首次收到请求的时间,Unix时间戳的毫秒数格式,如 1597026383085

    获取用户的 Broker 返佣信息

    FD broker 查询用户是否有返佣条件,满足Broker返佣条件、下单时指定了 brokerCode、且用户的交易产生手续费时,Broker 会获得返佣。

    限速:5次/2s

    限速规则:UserID

    权限:读取

    HTTP请求

    GET /api/v5/broker/fd/if-rebate

    请求示例

    GET /api/v5/broker/fd/if-rebate?apiKey=63d54aa0-0020-4ad9-a9f0-ac92654bc831
    

    请求参数

    参数名 类型 是否必须 描述
    apiKey String 用户的 API key
    brokerType String 可选 经纪商类型
    api:API经纪商
    oauth:Oauth经纪商
    当经纪商只有一种类型时,该参数可以不填
    当经纪商有多种类型时,该参数必填

    返回结果

    {
        "code": "0",
        "data":[
          {
            "affiliated": false,
            "brokerCode": "6099c63a8d75SCDE",
            "type": "0",
            "clientRebateRatio":"0",
            "lastRebate":""
          }
        ] ,
        "msg": ""
    }
    

    返回参数

    参数名 类型 描述
    type String 账户无法Broker返佣的原因
    0:可以返佣
    1:Broker身份过期
    2:手续费等级为VIP4/5且月返佣金额达到上限
    3:手续费等级大于等于VIP6
    brokerCode String FD broker 申请到的 BrokerCode 标识
    affiliated String 绑定关系的情况,有无节点返佣
    true:有节点返佣
    false:无节点返佣
    clientRebateRatio String 交易用户可获取返佣比例
    lastRebate String 账号月返佣金额,仅适用于 VIP4 和 VIP5 的用户

    错误码

    错误提示 HTTP 状态码 错误码
    53000 400 无效的token
    53001 400 无效的授权,用户已取消授权
    53002 400 token已过期
    53003 400 token已撤销
    53004 400 用户已被冻结
    53005 400 刷新令牌不正确
    53006 401 无效的设备
    53009 400 授权失败
    53010 400 参数{0}错误
    53011 400 必填参数{0}不能为空
    53012 400 授权码已过期
    53013 400 接口权限不足
    53014 401 无效的IP
    53015 400 参数{参数名}长度超过最大限制{长度}
    53016 400 无效的redirect_uri
    53017 400 快捷 API 权限尚未开启