清算

概述

清算是指当账户保证金低于维持保证金要求时,风险引擎通过减少或关闭持仓来降低风险的过程。 Backpack 采用多层次清算系统,旨在:

  1. 通过逐步减仓来最小化用户损失

  2. 在可能的情况下保持在订单簿上执行

  3. 通过兜底机制防止系统性风险

  4. 在极端情况下确保平台的偿付能力

账户保证金、资产和持仓均以标记价格计价,以防止因最新成交价波动造成的操纵。 清算可以在订单簿上执行,也可以通过级联机制进行。


清算触发条件

清算何时发生

当维持保证金率(MMR)达到 100%时,清算启动。

MMR = 账户 MMF / 账户保证金比率

其中:

  • 账户保证金比率 = 净资产 / 总敞口名义价值

  • 账户 MMF = Σ(持仓名义价值 × 持仓 MMF) / 总敞口名义价值

触发时发生的情况

当 MMR 达到 100% 时,清算引擎将执行以下操作:

  1. 取消所有挂单 —— 释放被占用的保证金

  2. 偿还借款并平仓 —— 借款偿还与持仓平仓同时进行

预估清算价 vs 实际清算价

界面上显示的预估清算价仅供参考,假设条件包括:

  • 持仓不变

  • 抵押资产组成不变

  • 无资金费或利息累积

  • 其他资产标记价格保持不变

实际清算发生于 MMR ≥ 100% 时,并考虑账户的全部资产状况。

对于有复杂风险敞口(多持仓、非 USD 抵押、活跃借贷)的账户,系统可能无法准确显示预估清算价。


清算级联机制

Backpack 使用三阶段清算机制,仅当上一级无法完全恢复保证金健康时,下一阶段才会触发。

价格展示说明: BLP 和 ADL 交易在后台执行(不显示于公开订单簿中),因此相关成交价格不纳入 K 线图展示。


第一阶段:订单簿清算

触发条件: MMR ≥ 100%

执行机制:

  • 清算引擎在公开订单簿上以“仅减仓”市价单方式下单

  • 订单按当时市场价格与现有挂单成交

  • 清算循环执行(每秒 1 次,每次触发概率 50%),每次减持仓位 10%,受清算容量上限限制

  • 该过程持续至 MMR < 100%

保护措施:

  • 价格带机制防止异常价格成交

  • 分步执行以减少市场冲击

  • 清算过程在交易记录中可见

部分清算:

系统仅清算恢复保证金健康所需的最小仓位量,这意味着:

  • 清算后你可能仍保留部分缩减的仓位

  • 剩余的权益仍留在账户中

  • 如果价格继续不利波动,可能会触发额外清算

第二阶段:兜底流动性提供者(BLPs)

触发条件: 保证金比率低于自动平仓保证金率(ACMF)

ACMF 计算方式:

ACMF 永远小于 MMF,从而在维持保证金与 BLP 接管之间形成缓冲区。

执行机制:

  1. 剩余持仓转移至 BLP

  2. 部分账户权益支付至兜底基金

  3. BLP 接管仓位管理

  4. 账户保证金归零或恢复安全水平

BLP 要求:

  • 平台最低余额要求

  • 吸收指定清算量的承诺

  • 符合做市标准

第三阶段:自动减仓(ADL)

请参见 自动减仓 章节以了解完整说明。


清算手续费

费率: 每笔成交收取 1%

适用范围:

  • 系统触发的永续合约清算

  • 系统触发的借贷或杠杆现货清算

计算方式:

  • 按每笔清算成交的名义金额收取费用

  • 从清算所得中直接扣除(不单独计费)

不适用情形:

  • 用户主动平仓(按正常交易费率收取)

  • 用户手动偿还借款


产品清算流程

永续合约

  1. 取消挂单

  2. 使用余额偿还借款

  3. 出售抵押品偿还剩余负债

  4. 通过订单簿减仓

  5. 若 ACMF 被触发 → BLP 接管

  6. 若 BLP 无容量 → 进入 ADL

结算结果以 USDC 计价,盈亏即时实现。

杠杆现货

  1. 取消挂单

  2. 使用余额偿还借款

  3. 出售抵押品覆盖负债

  4. 若抵押品不足 → 清算其他资产

结算:借入资产将返还至借贷池;如有剩余抵押品,将保留在账户中。

借贷仓位清算

当借贷仓位触发清算时:

  1. 系统出售抵押品以偿还借款

  2. 对售出金额收取清算费用

  3. 将剩余抵押品返还至账户

100% 资金利用率情形: 当借贷池被完全使用且抵押品无法赎回时,系统将启动 ADL 机制 以维持资金偿付能力。


自动减仓( ADL)

概述

自动减仓是一种紧急机制,当标准清算流程无法完成时激活。 ADL 的目标包括:

  1. 确保出借人(lenders)获得所借资产的等值价值;

  2. 保证平台保持偿付能力;

  3. 防止损失被社会化到非直接对手方。

ADL 是最后手段,仅在以下情况下使用:

  • 市场价格波动速度快于清算执行速度;

  • 订单簿流动性不足;

  • 兜底流动性提供者(BLP)容量耗尽;

  • 市场利用率过高,导致出借资产无法赎回。

价格显示说明: ADL 交易在后台直接执行,不经过公共订单簿,因此不会反映在 K 线图中。

永续合约仓位的 ADL

触发条件: 当账户保证金比例低于 ACMF,且无可用 BLP 容量时。

这种情况通常出现在:

  • 清算账户的仓位无法通过订单簿平仓;

  • BLP 容量不足;

  • 剩余账户权益不足以覆盖亏损。

对手方选择:

ADL 不会随机选择对手方。 系统会根据对手方的 ADL 优先级分数(ADL Priority Score) 进行排序:

在以下因素综合排序中排名最高的交易者:

  1. 持仓盈利情况(未实现盈亏越高,优先级越高)

  2. 持仓杠杆水平(杠杆倍数越高,优先级越高)

……将被优先选入 ADL。

无账户限制: ADL 不对用户或账户施加限制。完成所有优先级计算(第一轮与第二轮)后,系统会完全匹配多头与空头头寸。

较低优先级: 基差交易或 Delta 中性仓位优先级较低,只有当其他仓位不足时才会被 ADL。

执行流程:

  1. 系统识别被清算仓位的方向和数量;

  2. 根据 ADL 优先级对对手方进行排序;

  3. 按顺序部分平掉优先级最高的对手方仓位;

  4. 平仓价格 = 被清算账户的破产价格;

  5. 重复执行,直到清算仓位全部吸收完毕。

示例:

通知:

  • ADL 成交记录在成交历史(fill history)中显示来源:ADL_AUTOCLOSE

  • WebSocket 订单更新中,字段 O 的值为 "ADL_AUTOCLOSE"

借贷仓位的 ADL

ADL 在借贷系统中用于在借款人违约或市场条件阻止正常清算时保护出借人。

场景一:借款人违约

当借款人账户破产且不再持有借入资产时,ADL 启动。

示例:

关键原则:系统确保出借人在清算时获得所借资产的等值价值——无论以原始代币形式,还是以当时名义 USD 价值计。

场景二:100% 资金利用率

当借贷池利用率达到 100% 时,出借资产无法赎回。 若此时出借人持有以借出资产为抵押的仓位并触发清算,则 ADL 激活。

流程:

  1. 出借人仓位以借出资产为抵押;

  2. 仓位亏损 → 触发清算;

  3. 清算引擎尝试赎回借出资产;

  4. 借贷池 100% 利用 → 赎回受阻;

  5. 启动 ADL。

ADL 解决过程: 6. 系统识别出可用抵押的借款人; 7. 名义 USDC(≤ 原始出借价值)转移:借款人 → 出借人 ; 8. 出借人借贷仓位关闭; 9. 出借人获得 USDC 用于覆盖清算; 10. 借款人贷款关闭,其抵押品可能被转换。

借款人影响:

  • 借款人的贷款被强制关闭;

  • 抵押品可能被转换为其他资产;

  • 账户总价值保持不变;

  • 借款人无实际损失,仅资产组成发生变化。


API 中的清算功能

成交类型

/fills 接口返回所有成交记录(包括系统订单)。 可通过 fillType 参数进行筛选:

fillType
描述

User

仅用户订单成交

BookLiquidation

订单簿清算成交

Adl

自动减仓(ADL)成交

Backstop

兜底流动性提供者(BLP)成交

Liquidation

所有清算类型

AllLiquidation

全部清算类型合并

CollateralConversion

抵押品转换以结算债务

订单更新来源

WebSocket 的 account.orderUpdate 流包含一个 O 字段,用于指示订单来源:

Origin
描述

USER

用户发起的订单

LIQUIDATION_AUTOCLOSE

清算引擎关闭的仓位

ADL_AUTOCLOSE

自动减仓事件

COLLATERAL_CONVERSION

抵押品转换以结算债务

SETTLEMENT_AUTOCLOSE

到期市场仓位结算

BACKSTOP_LIQUIDITY_PROVIDER

由 BLP 促成的清算

查询清算价格

可通过 REST API 查询预估清算价格:

返回结果中的 estLiquidationPrice 字段即为指定仓位的预估清算价格。

注意:WebSocket 流中的 l 字段已弃用(固定返回 0)。请使用 REST 接口获取清算价格。

结算历史

查询包括清算在内的结算操作:

可按来源过滤:

  • BackstopLiquidation(兜底清算)

  • TradingFeesSystem(系统交易费)

  • RealizePnl(已实现盈亏)


查看清算记录

在界面中查看

永续合约清算:

借贷清算:

通过 API 查看

使用成交历史接口,并通过 fillType 参数筛选:

Last updated