导航
English
HTTP Python

经纪商申请

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

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

经纪商指引

获取返佣指引

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

经纪商常用接口

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

常规下单

更多详情

策略交易

更多详情

网格交易

更多详情

定投交易

更多详情

大宗交易

更多详情

价差撮合交易

更多详情

闪兑

更多详情

金融产品

更多详情

DMA 经纪商

创建子账户

经纪商母账户创建子账户

限速:40次/s

限速规则:UserID

权限:交易

HTTP请求

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

请求示例

POST /api/v5/broker/dma/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
非个人账户请使用 Borker 服务端IP
mainAcct String 可选 二级子账户的母账户名称
创建二级子账户时必填,且需要填写一级子账户名称
创建一级子账户时,值为空""

返回结果

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

返回参数

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

删除子账户

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

限速:10次/s

限速规则:UserID

权限:交易

HTTP请求

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

请求示例

POST /api/v5/broker/dma/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/dma/subaccount-info

请求示例

GET /api/v5/broker/dma/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

获取子账户交易手续费费率

限速:1次/s

限速规则:UserID

权限:读取

HTTP请求

GET /api/v5/broker/dma/subaccount-trade-fee

请求示例

GET /api/v5/broker/dma/subaccount-trade-fee

请求参数

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

返回结果

{
    "code": "0",
    "data": [
        {
            "details": [
                {
                    "feeRates": [
                        {
                            "marker": "-0.0008",
                            "taker": "-0.001",
                            "type": "1"
                        },
                        {
                            "marker": "-0.0005",
                            "taker": "-0.0007",
                            "type": "2"
                        },
                        {
                            "marker": "-0.0002",
                            "taker": "-0.0005",
                            "type": "3"
                        },
                        {
                            "marker": "-0.0002",
                            "taker": "-0.0005",
                            "type": "4"
                        },
                        {
                            "marker": "-0.0002",
                            "taker": "-0.0005",
                            "type": "5"
                        },
                        {
                            "marker": "-0.0002",
                            "taker": "-0.0005",
                            "type": "6"
                        },
                        {
                            "marker": "-0.0002",
                            "taker": "-0.0005",
                            "type": "7"
                        },
                        {
                            "marker": "-0.0002",
                            "taker": "-0.0005",
                            "type": "8"
                        },
                        {
                            "marker": "-0.0002",
                            "taker": "-0.0003",
                            "type": "9"
                        }
                    ],
                    "mainAcct": "",
                    "subAcct": "subaccount111ad",
                    "ts": "1658287703000",
                    "uid": "335748406955877155"
                }
            ],
            "page": "1",
            "totalPage": "1"
        }
    ],
    "msg": ""
}

返回参数

参数名 类型 描述
totalPage String 总的页数
page String 当前页数
details Array 子账户列表
> subAcct String 子账户名称
> uid String 子账户UID
> mainAcct String 二级子账户的母账户名称
为""时,代表返回的是一级子账户,有值时为二级子账户
> ts String 子账户创建时间,Unix时间戳的毫秒数格式 ,如 1597026383085
> feeRates Array 手续费率信息
>> type String 手续费类型
1 现货 USDT 交易对
2 现货 稳定币/Crypto
3 USDT 交割合约
4 USDC 交割合约
5 币本位交割合约
6 USDT 永续合约
7 USDC 永续合约
8 币本位永续合约
9 期权
>> maker String 挂单手续费率
>> taker String 吃单手续费率

创建子账户的APIKey

限速:40次/s

限速规则:UserID

权限:交易

HTTP请求

POST /api/v5/broker/dma/subaccount/apikey

请求示例

POST /api/v5/broker/dma/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/dma/subaccount/apikey

请求示例

GET /api/v5/broker/dma/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/dma/subaccount/modify-apikey

请求示例

POST /api/v5/broker/dma/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/dma/subaccount/delete-apikey

请求示例

POST /api/v5/broker/dma/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/dma/set-subaccount-level

请求示例

POST /api/v5/broker/dma/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:组合保证金模式

创建子账户充值地址

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

限速:10次/s

限速规则:UserID

权限:交易

HTTP请求

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

请求示例

POST /api/v5/asset/broker/dma/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/dma/modify-subaccount-deposit-address

请求示例

POST /api/v5/asset/broker/dma/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/dma/subaccount-deposit-address

请求示例

GET /api/v5/asset/broker/dma/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/dma/subaccount-deposit-history

请求示例

查询最近的充值记录
GET /api/v5/asset/broker/dma/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 最新的充币网络确认数

子账户提币

DMA 子账户提币需要先获取授权,然后使用子账户的 API Key 调用 提币

获取子账户提币记录

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

限速:5次/2s

限速规则:UserID

权限:读取

限速规则:UserID

HTTP 请求

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

请求示例

GET /api/v5/asset/broker/dma/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

    爆仓预警推送

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

    设置模拟盘DMA子账户资产

    限速:40次/s

    限速规则:UserID

    权限:交易

    HTTP请求

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

    请求示例

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

    请求参数

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

    返回结果

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

    返回参数

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

    子账户IP上报

    限速:40次/s

    限速规则:UserID

    权限:交易

    HTTP请求

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

    请求示例

    POST /api/v5/broker/dma/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

    全披露经纪商(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 权限尚未开启