币本位 / U本位 架构整合迁移公告(重要变更)
变更背景
币本位合约 (CM / DAPI) 正在迁移到与 U本位合约 (UM / FAPI) 共享的统一架构。迁移完成后,部分 CM REST 接口、WebSocket Stream 与账户级行为将与 UM 已有规则对齐。本页面汇总所有面向用户的改动,请在生效日期前调整客户端逻辑。
文档发布日期: 2026-06-10 生效日期: 2026-06-30
一、账户层变更
1. dualSidePosition 在 UM 与 CM 之间打通
- 迁移完成后,UM 与 CM 共用同一个
dualSidePosition设置。 - 调用
POST /fapi/v1/positionSide/dual或POST /dapi/v1/positionSide/dual都会同时翻转 UM 和 CM 的设置。 - 任意一侧存在 open order 或 open position 时,切换会被拒绝:
-4067— "Position side cannot be changed if there exists open orders."-4068— "Position side cannot be changed if there exists position."
- 行动项: 切换
dualSidePosition之前,请确保 UM 和 CM 都没有挂单也没有持仓。
2. STP 设置以 UM 为准
- 自成交防止 (STP) 设置以 UM 侧为准。CM 侧的独立 STP 设置不再生效。
3. UM 与 CM 共用同一套 rate-limit 池
- IP 请求权重(2400 / 分钟): UM 与 CM 共用同一个 2400 权重池(每分钟,每 IP)。
fapi与dapi上的请求都计入同一个X-MBX-USED-WEIGHT-1M预算。 - 账户下单频率限制: UM 与 CM 共用同一套下单预算 — 1200 / 分钟(
X-MBX-ORDER-COUNT-1M)与 300 / 10 秒(X-MBX-ORDER-COUNT-10S)。fapi或dapi上的下单请求都计入同一个计数器。 - 请相应调整客户端流量预算:此前 UM 与 CM 分别独立的权重 / 下单额度现在已合并为一个。
二、停机维护期间的行为(仅迁移当天生效)
停机维护期间:
- UM
dualSidePosition无法修改。POST /fapi/v1/positionSide/dual会返回-1016。 - CM
lastPrice冻结(不变化),indexPrice与markPrice仍持续更新。 - CM 策略产品(套利 / 网格)暂停:
- 不可新开 CM 套利 bot;已有 CM 套利 bot 不可减仓。
- 所有 CM 网格操作被禁止:新建 / 补保证金 / 提取保证金 / 关闭 / 取消。
- CM 网格若使用
markPrice触发,即便markPrice在窗口内触及触发价,网格也不会触发,需等开机后若仍越过阈值才会触发。
- 统一账户 (PM) 期间:
- 不存在 CM 余额 / 持仓的 PM 用户:强平正常处理。
- 存在 CM 余额 / 持仓的 PM 用户:UM 仓位被结算,资产可能被处理;CM 部分等开机后处理。单腿可能被平仓(套利风险由用户自行承担)。
- PM 期间开户 / 关户 / auto-exchange / close-position 暂停。
- 窗口期可能返回的错误码:
{"code":-1016,"msg":"This service is no longer available."}{"code":-1016,"msg":"Service is under maintenance."}{"239999": "The system is under maintenance, please try again later."}{"code":-1109,"msg":"Invalid account."}
三、REST API 变更
1. 下单 / 改单 / 撤单接口的即时响应不再返回 avgPrice / cumQuote / cumBase
下单 / 改单 / 撤单的即时响应是"挂单确认",成交是异步发生的 — 这些字段在挂单 ack 中本来就是 0。实际成交价仍可通过订单查询接口与 userTrades 接口获取。
受影响接口(CM / DAPI — 移除 cumBase):
POST /dapi/v1/orderPOST /dapi/v1/batchOrdersPUT /dapi/v1/orderPUT /dapi/v1/batchOrdersDELETE /dapi/v1/orderDELETE /dapi/v1/batchOrders
受影响接口(UM / FAPI — 移除 cumQuote):
POST /fapi/v1/orderPOST /fapi/v1/batchOrdersPUT /fapi/v1/orderPUT /fapi/v1/batchOrdersDELETE /fapi/v1/orderDELETE /fapi/v1/batchOrders
查询类接口(
GET /fapi/v1/order、/allOrders、/userTrades等)不受影响,仍会返回avgPrice与cumQuote/cumBase。
2. PUT /dapi/v1/order 与 PUT /dapi/v1/batchOrders — price 与 quantity 必须同时传
迁移后,这两个 PUT 接口要求同时传 price 和 quantity。只传其中一个返回 -1102。批量接口任一元素缺字段则该元素返回 -1102。
3. 以下接口入参均可传入 UM 与 CM 的 symbol
GET /fapi/v1/klinesGET /fapi/v1/continuousKlinesGET /fapi/v1/indexPriceKlinesGET /fapi/v1/markPriceKlinesGET /fapi/v1/premiumIndexKlinesGET /dapi/v1/klinesGET /dapi/v1/continuousKlinesGET /dapi/v1/indexPriceKlinesGET /dapi/v1/markPriceKlinesGET /dapi/v1/premiumIndexKlines
4. GET /fapi/v1/assetIndex 接口名变更为"资产汇率指数",响应额外推送 CM 结算资产价格指数
- 显示名由"多资产模式资产汇率指数"变更为"资产汇率指数"。
- HTTP 路径
/fapi/v1/assetIndex保持不变,客户端调用代码无需修改。 - 响应中额外包含币本位结算资产的价格指数条目 — 如
BTCUSD、ETHUSD、BNBUSD、SOLUSD。原有 UM 端条目仍然保留。
5. CM 新增 algo order 接口
COIN-M 现在提供与 UM 同样的 algo-order 接口集合:
POST /dapi/v1/algoOrder— 新建 CONDITIONAL algo 订单(STOP / TAKE_PROFIT / STOP_MARKET / TAKE_PROFIT_MARKET / TRAILING_STOP_MARKET)GET /dapi/v1/openAlgoOrders— 列出当前 open 的 algo 订单DELETE /dapi/v1/algoOrder— 撤销 algo 订单(通过algoId或clientAlgoId)
6. 普通下单接口不再支持 stop 类型订单
迁移后经过一段延迟生效期(具体生效时间另行通知),以下入口对 stop 类型 (STOP_MARKET / TAKE_PROFIT_MARKET / STOP / TAKE_PROFIT / TRAILING_STOP_MARKET) 的 type 值会被拒绝:
{"code":-4120, "msg":"Order type not supported for this endpoint. Please use the Algo Order API endpoints instead."}
受影响接口:
POST /dapi/v1/order(单笔)POST /dapi/v1/batchOrders(按元素拒绝)- WebSocket API:COIN-M ws-dapi 端的
order.place
行动项: 把 stop 类型订单切换到第 5 点的新接口 /dapi/v1/algoOrder。
7. DAPI 错误码变更
| 接口 | 场景 | 迁移前 | 迁移后 |
|---|---|---|---|
GET /dapi/v1/openOrders | 非法 symbol | 200(静默) | -1121 |
8. DAPI 请求权重变更
| 接口 | 迁移前 | 迁移后 |
|---|---|---|
GET /dapi/v2/leverageBracket | 1(固定) | 带 symbol 1 / 不带 symbol 2 |
GET /dapi/v1/allOrders | 20 / 40 | 5(固定) |
GET /dapi/v1/userTrades | 20 / 40 | 5(固定) |
GET /dapi/v1/forceOrders | 20(固定) | 带 symbol 20 / 不带 symbol 50 |
四、WebSocket 变更
1. WebSocket API — order.place / order.modify / order.cancel 即时响应不再返回 avgPrice / cumQuote (UM) / cumBase (CM)
原理同三、1 — 即时响应是挂单 ack,成交异步。
2. WebSocket API — order.modify 必须同 时传 price 和 quantity
只传其中一个返回 -1102。
3. !assetIndex@arr Stream 改名为"资产汇率指数",额外推送 CM 结算资产价格指数
- 显示名由"多资产模式资产汇率指数"变更为"资产汇率指数"。
- 订阅键 (
!assetIndex@arr) 保持不变,已有订阅无需修改代码即可继续使用。 - Stream 现在额外推送币本位结算资产条目(如
BTCUSD/ETHUSD/BNBUSD/SOLUSD)。
4. 以下 Stream payload 新增 st 字段
st 区分 symbol 类型:1 = UM,2 = CM。
!miniTicker@arr!ticker@arr!bookTicker!forceOrder@arr!contractInfo<symbol>@depth<levels>(包括@500ms/@100ms)<symbol>@aggTrade<symbol>@ticker<symbol>@bookTicker<symbol>@miniTicker<symbol>@rpiDepth
全市场数组类(!*@arr / !bookTicker / !contractInfo),fstream 与 dstream 推送相同的合并 UM + CM 内容。
5. UM 端单 symbol 订阅新增 ps (pair symbol) 字段,与 CM payload 形态对齐
受影响 stream:
!miniTicker@arr<symbol>@miniTicker!ticker@arr!forceOrder@arr<symbol>@depth<levels>(包括@500ms/@100ms)!bookTicker<symbol>@bookTicker<symbol>@rpiDepth@500ms
6. markPrice / kline 系列 stream — fstream 和 dstream 跨域订阅
fstream 与 dstream 均可订阅以下 stream。
markPrice 系列 — payload 新增 st 字段(1 = UM,2 = CM):
<symbol>@markPrice,<symbol>@markPrice@1s<pair>@markPrice,<pair>@markPrice@1s!markPrice@arr,!markPrice@arr@1s
CM 端
!markPrice@arr/!markPrice@arr@1s暂未提供独立文档页,后续发布。
UM 端 kline 系列 — fstream 与 dstream 均可订阅:
<symbol>@kline_<interval><pair>_<contractType>@continuousKline_<interval>
CM 端 kline 系列 — fstream 与 dstream 均可订阅:
<symbol>@kline_<interval><pair>_<contractType>@continuousKline_<interval><pair>@indexPriceKline_<interval><symbol>@markPriceKline_<interval>
行动项汇总
-
账户层
- 迁移后请重新核对
dualSidePosition设置,任一侧调整都会同步另一侧。 - 调整
dualSidePosition之前,请确保 UM 和 CM 都无挂单且无持仓。
- 迁移后请重新核对
-
REST
- 调整客户端代码 — 不要再从下单 / 改单 / 撤单的响应里读
avgPrice/cumQuote/cumBase,改用GET /{f,d}api/v1/order或userTrades取实际成交数据。 - 调用
PUT /dapi/v1/order或PUT /dapi/v1/batchOrders时,必须同时传price和quantity。 - 更新 DAPI 错误码处理:
GET /dapi/v1/openOrders传非法symbol现在返回-1121(此前为静默200)。 - 把 COIN-M 的 stop 类订单从
POST /dapi/v1/order/batchOrders/ws-dapi order.place切换到新接口/dapi/v1/algoOrder。
- 调整客户端代码 — 不要再从下单 / 改单 / 撤单的响应里读
-
WebSocket
- 对第四节 4 / 5 / 6 列出的 stream,准备好接收新增的
st与ps字段,parser 应允许新字段而不报错。 - 准备好接收
!ticker@arr/!miniTicker@arr/!bookTicker/!forceOrder@arr/!contractInfo上合并后的 UM + CM 全量 universe。
- 对第四节 4 / 5 / 6 列出的 stream,准备好接收新增的
-
维护窗口
- 在公告窗口内暂停 CM 策略 / PM 相关操作,期间可能收到
-1016/239999/-1109错误。
- 在公告窗口内暂停 CM 策略 / PM 相关操作,期间可能收到