Bitget APIBitget API
统一账户经典账户
旧文档
  • 概览
  • API 文档
  • WebSocket
  • Agent Hub
  • SDK
  • 更新日志
Copied to clipboard
Websocket
公共频道
私有频道
    下单撤单修改订单订单成交快速成交批量下单批量撤单批量修改订单账户持仓ADL通知策略订单频道
Reality
SBE
私有频道

下单

描述

ACK 仅表示请求被成功接受,请使用 WebSocket order 推送来确认订单的实际状态。

该接口支持现货、杠杆、合约以及 Reality(rToken)股票下单,并可以自定义包括价格、数量和订单类型等参数

  • Reality(rToken)限频
    用户级:默认 5次/秒/UID,白名单用户 30次/秒/UID(可联系 BD/RM 申请)。

  • 合约交易
    合约单向持仓下只减仓订单,如果已经存在减仓单并且减仓单数量已经等于仓位数量,或者你新下的减仓单大于仓位剩余数量,会自动把之前减仓单取消,重新下新的减仓单,此时返回的信息 orderId会为 null,建议一定要传clientOid

  • 杠杆交易
    杠杆下单会自动借贷

  • 订单检查

    • 合约:Price下单价格要满足价格乘数priceMultiplier的倍数,并且符合pricePrecision小数位。qty要满足大于minOrderAmount并且满足sizeMultiplier的倍数
    • 现货:price要满足小数位。qty下单数量必须要大于 minOrderAmount
  • 开仓逻辑

    • 双向持仓 开多: side=buy & posSide=long
      开空:side=sell & posSide=short
      平多:side=sell & posSide=long
      平空:side=buy & posSide=short
    • 单向持仓 开多 side
      开空 side
      平多 side reduceOnly
      平空 side reduceOnly
  • 订单持有上限:

    • 合约: USDT合约/币本位合约/USDC合约所有交易对加起来一共最多支持400个订单
    • 现货: 现货/杠杆所有交易对最多支持400订单
  • ClientOid 校验规则:
    请确保您的 clientOid 满足正则表达式 ^[0-9A-Za-z_:#\\-+\\s]{1,32}$

  • 请求监控:将针对您的 API 请求进行统计监控,当单日 (UTC 0点 - UTC 24点) 单账号(母账号和子账号整体运算)订单总数超过一定上限,平台将保留提醒、警告,以及进行必要性限制的权利。 使用API的客户预设接收本条款并负有配合调整的义务。

  • 下单出现错误 { "code":"40762", "msg":"The order size is greater than the max open size", "requestTime":1627293504612 }
    两种原因

    • 账户余额不足

    当前交易对当前杠杆仓位梯度已满,具体仓位梯度请参考 仓位档位说明

  • 注意:操作订单时出现以下错误,请用clientOid查询订单详情,以确认操作的最终结果

  • 币本位合约说明:

    • 新币本位业务线symbol格式为"XXXUSD_CM",例如BTCUSD交易对在币本位合约的格式为BTCUSD_CM
    • 新币本位暂时不支持修改订单,ADL,策略单,预设止盈止损
Code
{ "code": "40010", "msg": "Request timed out", "id": 1666268894074, "event":"error" } { "code": "40725", "msg": "service return an error", "id": 1666268894071, "event":"error" } { "code": "45001", "msg": "Unknown error", "id": 1666268894071, "event":"error" }
Code
{ "op": "trade", "id": "1750034396082", "category": "spot", "topic": "place-order", "requestTime": "1750034396082", "args": [ { "orderType": "limit", "price": "100", "qty": "0.1", "side": "buy", "symbol": "BTCUSDT", "timeInForce": "gtc", } ] }

请求参数

参数名参数类型是否必须描述
opString是操作:
trade 交易
idString是请求标识
topicString是频道名:
place-order 下单
categoryString是业务线(必须小写)
spot现货交易
margin 杠杆交易
usdt-futures U本位合约
coin-futures 币本位合约
usdc-futures USDC合约
apiCodeString否API返佣标识
requestTimeString否请求时间(客户端时间戳)
用于与 receiveWindow 比对时间差值
不传则 receiveWindow 参数无效
argsList<Object>是请求订阅的频道列表
> symbolString是交易对名称
> orderTypeString是订单类型
limit : 限价
market : 市价
> qtyString是下单数量
- 现货
市价买单,单位为quote coin
限价及市价卖单,单位为base coin
USDT/USDC合约:
单位为base coin
币本位合约:
单位为 quote coin
> priceString否下单价格
订单类型为限价单limit时,该字段必填
订单类型为市价单market时,该字段失效
> sideString是下单方向
buy: 买
sell: 卖
> posSideString否交易方向
long 多仓
short 空仓
只限于合约传此参数 其他忽略
用于合约双向持仓
> timeInForceString否订单执行策略
gtc: 普通订单, 订单会一直有效,直到被成交或者取消
ioc: 无法立即成交的部分就撤销
fok: 无法全部立即成交就撤销
post_only: 只做maker
rpi: 零售价格优化订单,为零售订单流提供价格优化的非显示限价单。仅限拥有RPI做市商权限的账户使用。
订单类型为限价单limit时必填,若省略则默认为gtc
订单类型为市价单market时,该字段失效,系统会按照ioc执行
> reduceOnlyString否是否只减仓
YES是
NO否
默认值为NO; 仅适用于买卖单向持仓模式下
> clientOidString否自定义订单ID
需满足正则表达式 ^[0-9A-Za-z_:#\-+\s]{1,32}$,即 1-32 个字符,可包含大小写字母、数字、下划线(_)、连字符(-)、加号(+)、冒号(:)、井号(#)和空格
> stpModeString否STP(自成交预防)模式
none:不比较双方用户ID,订单正常成交,不触发STP(默认值)
cancel_taker:检测到自成交时,取消taker(吃单方)订单,maker(挂单方)订单保留在订单簿中
cancel_maker:检测到自成交时,取消maker(挂单方)订单,taker(吃单方)订单继续执行
cancel_both:检测到自成交时,taker和maker订单都取消
STP判定以taker订单自身携带的stpMode为准,不看maker订单原有的stpMode设置
> tpTriggerByString否预设止盈触发类型
market市场价格
mark标记价格
如不填写,默认值为market市场价格
该字段仅针对合约业务线usdt-futures,coin-futures及usdc-futures生效
> slTriggerByString否预设止损触发类型
market市场价格
mark标记价格
如不填写,默认值为market市场价格
该字段仅针对合约业务线usdt-futures,coin-futures及usdc-futures生效
> takeprofitString否预设止盈触发价格
> stoplossString否预设止损触发价格
> tpOrderTypeString否止盈触发的策略单类型
limit 限价单
market 市价单
> slOrderTypeString否止损触发的策略单类型
limit 限价单
market 市价单
> tpLimitPriceString否止盈策略单执行价格
仅限价单tpOrderType=limit时有效,市价单忽略该参数
> slLimitPriceString否止损策略单执行价格
仅限价单slOrderType=limit时有效,市价单忽略该参数
> marginModeString否保证金模式
crossed 全仓
isolated 逐仓
不传默认为全仓
仅适用于合约
> autoBorrowString否自动借币开关
yes 开启
no 关闭(默认)
仅用于现货下单。开启后,若得到币不支持借贷、消耗币支持借贷,则在消耗币可用余额不足时,系统将自动借入消耗币,补足委托所需金额。
> receiveWindowString否有效窗口期(订单TTL机制)
单位为毫秒,有效范围:[10, 60000]
不填则不设置有效期,订单长期有效直至撤单或成交
注意:receiveWindow 仅在同时传入 requestTime 时生效
Code
{ "event": "trade", "id": "1750034396082", "category": "spot", "topic": "place-order", "args": [ { "symbol": "BTCUSDT", "orderId": "xxxxxxxx", "clientOid": "xxxxxxxx", "cTime": "1750034397008", "receiveTime": "1750034396998123", "pushTime": "1750034397076456" } ], "code": "0", "msg": "success", "connId": "xxxxxxxxxx", "rateLimit": [ { "limit": "10", "remaining": "9" } ], "ts": "1750034397076" }

响应参数说明

返回字段参数类型字段说明
eventString事件
trade 交易
error参数错误
idString请求标识
topicString频道名
place-order下单
categoryString业务线
spot现货交易
margin 杠杆交易
usdt-futures U本位合约
coin-futures 币本位合约
usdc-futures USDC合约
argsList<Object>订单列表
> symbolString交易对名称,如BTCUSDT
> orderIdString订单ID
> clientOidString自定义订单ID
> cTimeString订单创建时间
Unix毫秒时间戳
> receiveTimeString网关接收时间
Unix微秒时间戳
> pushTimeString网关推送时间
Unix微秒时间戳
codeString状态码
msgString状态消息
connIdString连接ID
rateLimitArray限频余额数组
> limitString该维度限额
> remainingString剩余可用次数
tsString时间戳
公共强平撤单
JSON
JSON
JSON