清算流程详解
概述
清算是永续合约风控的最后一道防线。当用户保证金率低于维持保证金要求(110%)时,系统自动触发清算流程,由Liquidation Keeper接管仓位并强制平仓。
完整清算流程
流程图
时间节点
监控检测: 每10秒检查一次所有持仓(Keeper轮询)
触发判断: <100ms (实时计算保证金率)
Keeper接管: <500ms (并发控制+锁定仓位)
提交订单: <200ms (生成清算订单)
订单成交: 1-5秒 (取决于市场流动性)
资金结算: <100ms (链下计算)
链上结算: 1-2秒 (批量上链)
用户通知: <1秒 (WebSocket推送)
总耗时目标: <10秒 (从触发到完成)
清算优先级
排序规则
当多个用户同时触发清算时,按以下优先级处理:
保证金率最低: 最危险的先清算
持仓规模最大: 系统性风险优先
触发时间最早: 先到先得
用户等级: 新手用户优先保护(尽量避免清算)
批量处理
每批最多处理10个清算
批次间隔100ms
避免同时大量清算冲击市场
用户可见的清算状态
状态流转
状态说明
🟢 正常
>200%
无特殊提示
所有操作
🟡 警告
150-200%
橙色警告提示
所有操作
🔴 危险
110-150%
红色强警告
建议充值/平仓
⚫ 清算中
<110%
"清算进行中"
无法操作
✅ 清算完成
-
清算结果通知
查看详情
清算中界面
清算执行机制
Keeper工作原理
并发控制
全局最多10个并发清算
每个用户同时只能清算1个仓位
使用Redis分布式锁防止重复清算
重试机制
清算订单提交后如果未成交:
第1次重试: 等待1秒
第2次重试: 等待2秒
第3次重试: 等待5秒
仍失败: 标记为"清算异常",人工介入
清算费用
费用构成
清算费率: 仓位价值的1%
收取方: 从清算收益中扣除
用途: 激励Keeper运行,部分注入保险基金
示例计算
清算后处理
资金结算
清算通知
清算完成后立即通知用户:
WebSocket实时推送
邮件通知(如已绑定)
Telegram通知(如已绑定)
站内消息
清算记录
所有清算事件永久记录:
清算时间
触发价格
清算数量
资金结算明细
用户可查询历史
性能指标
目标指标
监控频率: 10秒/次
触发延迟: <100ms
清算延迟: <10秒
成功率: >99%
穿仓率: <0.1%
实际表现(MVP测试)
平均清算时间: 6.8秒
清算成功率: 99.7%
穿仓率: 0.08%
保险基金使用率: 0.3%/月
相关文档
Last updated