本页由机器翻译。英文原文为权威版本。 阅读英文版
跳转到主要内容

强制平仓

强制平仓保护系统免受无法继续履行保证金义务的账户的影响。当账户权益低于其维持保证金要求时,清算流程会将仓位转移给有偿付能力的对手方。

触发条件

当账户变为**资不抵债(underwater)**时触发强制平仓:

组合保证金:

Equity<Maintenance Margin Required\text{Equity} < \text{Maintenance Margin Required}

标准保证金:

Maintenance Margin<0\text{Maintenance Margin} < 0

其中维持保证金 = 权益 - 所需 MM。

系统持续轮询所有持仓账户以检查健康状况。

状态机

账户会经历四种清算状态:

健康权益 > 所需MM✓ 允许所有订单预强平60秒宽限期✗ 增加风险被阻止✓ 允许降低风险强平中荷兰式拍卖进行中✗ 所有订单被阻止已强平持仓已转移权益 < MM宽限期到期拍卖完成存入资金/平仓关键参数 宽限期:60秒 部分强平:≤5个持仓 完全强平:>5个持仓 强平罚金:激励强平者 保险基金:覆盖资不抵债 ADL:如保险基金耗尽恢复:在预强平期间存入保证金或平仓回到健康状态。一旦进入强平,无法恢复。WebSocket在清算频道广播状态变化。资不抵债瀑布1账户权益用户承担损失直至权益2保险基金权益不足时覆盖缺口3ADL(自动减仓)盈利对手方被减仓
状态描述订单限制
Healthy(健康)权益 > 所需 MM
PreLiquidation(预清算)权益 < MM,宽限期生效中禁止增加风险的订单
InLiquidation(清算中)拍卖进行中禁止所有订单
Liquidated(已清算)拍卖完成账户已清空

状态转换

  1. Healthy → PreLiquidation:账户低于 MM 阈值
  2. PreLiquidation → Healthy:账户恢复至 MM 以上(用户追加资金或平仓)
  3. PreLiquidation → InLiquidation:宽限期届满且未恢复
  4. InLiquidation → Liquidated:拍卖成功完成

预清算宽限期

当账户进入预清算状态时:

  1. 增加风险的订单会被立即禁止
  2. 降低风险的订单(平仓)仍然被允许
  3. 开始 60 秒宽限期
  4. 如果账户在宽限期结束前恢复(权益 > MM),则返回 Healthy 状态
  5. 如果宽限期结束后仍然资不抵债,清算拍卖开始

宽限期为用户提供时间来:

  • 存入额外的抵押品
  • 平仓以降低保证金要求
  • 应对市场突发波动

清算拍卖

宽限期届满后,荷兰式拍卖开始:

有偿付能力拍卖(权益 > 0)

起始价格 = 权益 ×(1 - 罚金),并随时间递减。

清算人出价接管该账户的仓位,以换取:

  • 账户权益(扣除罚金)
  • 承担所有仓位的责任

罚金为清算人的参与创造激励。

无偿付能力拍卖(权益 < 0)

如果账户资不抵债(权益为负),保险基金会提供奖励,以激励清算人吸收资不抵债的仓位。

仓位转移

清算完成后:

  1. 所有仓位从被清算账户转移至清算人
  2. 清算人收取(有偿付能力)或支付(无偿付能力时获得奖励)结算价值
  3. 保证金根在链上更新
  4. 账户状态转换为 Liquidated

部分清算与全部清算

类型条件行为
部分清算≤ 5 个仓位清算特定仓位直至 MM 恢复
全部清算> 5 个仓位清算整个账户

部分清算是确定性的:

  • 仓位按一致的算法排序(非随机)
  • 清算人按既定顺序接收仓位
  • 当账户恢复健康状态时流程停止

无偿付能力瀑布机制

当清算无法收回全部价值时,损失按以下顺序吸收:

  1. 账户权益:被清算用户在其权益范围内承担损失
  2. 保险基金:当权益不足时弥补缺口
  3. ADL(自动减仓):如果保险基金耗尽,则按比例对盈利对手方进行减仓
  4. 社会化损失:最终兜底机制(目前尚未实施)

保险基金

保险基金:

  • 从清算罚金中累积
  • 覆盖无偿付能力的清算
  • 通过交易手续费和罚金补充
  • 设有最低储备目标

ADL(自动减仓)

如果保险基金无法覆盖损失:

  • 选出持有盈利仓位的对手方
  • 仓位以标记价格被强制平仓
  • 选择时优先考虑利润和杠杆最高者
  • 受影响的用户会收到通知

API 端点

获取清算状态

GET /liquidation/status?wallet=0x...

响应:

{
"success": true,
"data": {
"wallet": "0x...",
"state": "pre_liquidation",
"margin_mode": "portfolio",
"equity": "4500.00",
"mm_required": "5000.00",
"maintenance_margin": "-500.00",
"entered_pre_liq_at": 1737312000000,
"mm_shortfall": "500.00",
"auction_id": null
}
}

获取清算历史

GET /liquidation/history?wallet=0x...&limit=20

返回账户的状态转换历史。

获取公开清算历史

GET /liquidations?limit=50

返回跨钱包的清算状态转换历史,按最新优先排序。该端点为公开端点,采用游标分页,供清算机器人和监控工具使用。

查询参数

  • cursor:上一页返回的不透明游标。
  • limit:每页数量,默认 50,最大 100
  • wallet:可选的钱包过滤条件。
  • statusstate:可选的清算转换状态过滤条件。可接受的值为 healthypre_liquidationin_liquidationliquidated
  • margin_mode:可选的保证金模式过滤条件。可接受的值为 standardportfolio
  • liquidation_mode:可选的清算模式过滤条件。可接受的值为 partialfull

响应PublicLiquidationsResponse,包含清算转换条目以及用于下一次请求的 page.next_cursor

获取拍卖详情

GET /liquidation/auction/{auction_id}

返回拍卖状态、仓位和结算详情。

WebSocket 通知

清算状态变更会在 liquidation 频道广播:

{
"type": "LiquidationStateChange",
"wallet": "0x...",
"previous_state": "healthy",
"new_state": "pre_liquidation",
"equity": "4500.00",
"mm_required": "5000.00",
"shortfall": "500.00",
"auction_id": null,
"timestamp": 1737312000000
}

订阅即可接收您钱包的实时更新。

参数

参数描述
poll_interval5 秒健康检查频率
grace_period60 秒拍卖开始前的时间
min_shortfall_threshold0触发预清算的最小缺口
partial_liquidation_threshold5 个仓位低于此数量时采用部分清算

最佳实践

交易者须知

  1. 监控保证金率:保持权益远高于 MM(建议 2 倍缓冲)
  2. 设置警报:使用 WebSocket 及早发现预清算状态
  3. 准备备用资金:随时准备好可存入的备用抵押品
  4. 使用止损:在强制平仓之前自动减少仓位

查询健康状况

定期检查您的保证金状态:

# Portfolio margin
curl "https://api.hypercall.xyz/portfolio?wallet=0x..."

# Look for:
# - equity vs maintenance_margin_required
# - margin_ratio (equity / IM)

宽限期内的恢复

如果您进入预清算状态:

  1. 通过资金流程存入抵押品
  2. 平仓以降低保证金要求
  3. 取消会增加风险的未成交订单

降低风险的操作始终被允许,即使处于预清算状态也是如此。

链上与链下

组件位置说明
健康监控链下5 秒轮询
状态转换链下记录并持久化
宽限期计时器链下可配置
拍卖执行链上通过 Controller 合约进行仓位转移
结算链上价值转移和保证金根更新

链下引擎负责检测与协调;链上执行确保结算的最终性。


另请参阅: