清算
清算は、証拠金債務を履行できなくなったアカウントからシステムを保護します。アカウントのエクイティが維持証拠金要件を下回ると、清算プロセスによってポジションが支払能力のあるカウンターパーティに移転されます。
トリガー条件
清算は、アカウントがアンダーウォーター(債務超過状態)になったときにトリガーされます:
ポートフォリオ証拠金:
スタンダード証拠金:
ここで、維持証拠金 = エクイティ - 必要MM です。
システムはポジションを持つすべてのアカウントを継続的にポーリングして健全性をチェックします。
ステートマシン
アカウントは4つの清算ステートを遷移します:
| ステート | 説明 | 注文制限 |
|---|---|---|
| Healthy | エクイティ > 必要MM | なし |
| PreLiquidation | エクイティ < MM、猶予期間が有効 | リスクを増加させる注文はブロック |
| InLiquidation | オークション進行中 | すべての注文がブロック |
| Liquidated | オークション完了 | アカウントはクリア済み |
ステート遷移
- Healthy → PreLiquidation: アカウントがMMのしきい値を下回る
- PreLiquidation → Healthy: アカウントがMMを上回るまで回復(ユーザーが資金を追加、またはポジションをクローズ)
- PreLiquidation → InLiquidation: 回復しないまま猶予期間が終了
- InLiquidation → Liquidated: オークションが正常に完了
清算前の猶予期間
アカウントが清算前(プレ・リクイデーション)状態に入ると:
- リスクを増加させる注文は即座にブロックされます
- リスクを減少させる注文(ポジションのクローズ)は引き続き許可されます
- 60秒の猶予期間が開始されます
- 猶予期間が終了する前にアカウントが回復した場合(エクイティ > MM)、Healthyに戻ります
- 猶予期間後もアンダーウォーターの場合、清算オークションが開始されます
猶予期間は、ユーザーに以下の時間を与えます:
- 追加担保の入金
- ポジションをクローズして証拠金要件を削減
- 急激な市場変動への対応
清算オークション
猶予期間が終了すると、ダッチオークションが開始されます:
支払能力ありのオークション(エクイティ > 0)
開始価格 = エクイティ × (1 - ペナルティ) で、時間とともに低下します。
清算人(リクイデーター)は、以下と引き換えにアカウントのポジションの引き受けに入札します:
- アカウントのエクイティ(ペナルティ控除後)
- すべてのポジションに対する責任
ペナルティは、清算人が参加するインセンティブを生み出します。
支払不能のオークション(エクイティ < 0)
アカウントが支払不能(エクイティがマイナス)の場合、保険基金がボーナスを提供し、清算人がアンダーウォーターのポジションを引き受けるインセンティブを与えます。
ポジション移転
清算が完了すると:
- すべてのポジションが清算対象アカウントから清算人に移転されます
- 清算人は決済価値を受け取る(支払能力あり)または支払う(支払不能の場合はボーナスを受け取る)
- 証拠金ルートがオンチェーンで更新されます
- アカウントのステートが
Liquidatedに遷移します
部分清算と全体清算
| 種類 | 条件 | 動作 |
|---|---|---|
| 部分清算 | ポジション5件以下 | MMが回復するまで特定のポジションを清算 |
| 全体清算 | ポジション5件超 | アカウント全体を清算 |
部分清算は決定論的です:
- ポジションは一貫したアルゴリズムで順序付けられます(ランダムではありません)
- 清算人は定義された順序でポジションを受け取ります
- アカウントが健全な状態に戻るとプロセスは停止します
支払不能時のウォーターフォール
清算で全額を回収できない場合、損失は以下の順序で吸収されます:
- アカウントのエクイティ: 清算対象ユーザーがエクイティの範囲で損失を吸収
- 保険基金: エクイティが不足する場合の不足分をカバー
- ADL(自動デレバレッジ): 保険基金が枯渇した場合、利益の出ているカウンターパーティが比例的にデレバレッジされます
- 損失の社会化: 最終的なバックストップ(現在未実装)
保険基金
保険基金は:
- 清算ペナルティから積み立てられます
- 支払不能の清算をカバーします
- 取引手数料とペナルティにより補充されます
- 最低準備金目標が設定されています
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: オプションのウォレットフィルタ。statusまたはstate: オプションの清算遷移ステートフィルタ。指定可能な値はhealthy、pre_liquidation、in_liquidation、liquidatedです。margin_mode: オプションの証拠金モードフィルタ。指定可能な値はstandardとportfolioです。liquidation_mode: オプションの清算モードフィルタ。指定可能な値はpartialとfullです。
レスポンス: 清算遷移エントリと次のリクエスト用の page.next_cursor を含む PublicLiquidationsResponse。
オークション詳細の取得
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_interval | 5秒 | 健全性チェックの頻度 |
grace_period | 60秒 | オークション開始までの時間 |
min_shortfall_threshold | 0 | 清算前状態をトリガーする最小不足額 |
partial_liquidation_threshold | ポジション5件 | これ未満の場合、部分清算が使用されます |
ベストプラクティス
トレーダー向け
- 証拠金比率を監視する: エクイティをMMより十分に高く維持する(2倍のバッファを推奨)
- アラートを設定する: WebSocketを使用して清算前状態を早期に検知する
- 予備資金を用意する: いつでも入金できる予備の担保を確保しておく
- ストップロスを使用する: 清算前にポジション削減を自動化する
健全性の照会
証拠金ステータスを定期的に確認してください:
# Portfolio margin
curl "https://api.hypercall.xyz/portfolio?wallet=0x..."
# Look for:
# - equity vs maintenance_margin_required
# - margin_ratio (equity / IM)
猶予期間中の回復
清算前状態に入った場合:
- 資金フローを通じて担保を入金する
- ポジションをクローズして証拠金要件を削減する
- リスクを増加させる未約定注文をキャンセルする
リスクを減少させるアクションは、清算前状態であっても常に許可されます。
オンチェーンとオフチェーン
| コンポーネント | 場所 | 備考 |
|---|---|---|
| 健全性の監視 | オフチェーン | 5秒間隔のポーリング |
| ステート遷移 | オフチェーン | ログ記録・永続化 |
| 猶予期間タイマー | オフチェーン | 設定可能 |
| オークション実行 | オンチェーン | Controllerコントラクト上でのポジション移転 |
| 決済 | オンチェーン | 価値の移転と証拠金ルートの更新 |
オフチェーンエンジンが検知とオーケストレーションを担当し、オンチェーン実行が決済のファイナリティを保証します。
関連情報:
- ポートフォリオ証拠金: ポートフォリオアカウントのMM計算
- スタンダード証拠金: スタンダードアカウントのMM計算
- 証拠金フロア: 清算しきい値に影響するセーフティフロア