障害モード
障害発生時および性能低下時のシステム動作について説明します。
設計思想
Hypercallは厳密な整合性よりも可用性を優先します。障害発生時には以下のように動作します。
- 可能な限り取引を継続します
- 障害が発生したコンポーネントは隔離されます
- ユーザーには古いデータではなく明示的なエラーが返されます
L1のダウンタイム
Hyperliquid L1(HyperCore)が利用できなくなった場合:
| 機能 | 動作 |
|---|---|
| 注文マッチング | オフチェーンで継続 |
| 決済 | L1の復旧までキューに保持 |
| 入金 | L1の復旧までブロック |
| 出金 | L1の復旧までブロック |
| 清算 | 最後に確認されたポジションに基づいて継続 |
L1が再び利用可能になると、自動的に復旧します。
オラクルの障害
価格オラクル
価格オラクルが利用できなくなった場合:
| 影響 | 動作 |
|---|---|
| 新規注文 | 拒否されます(参照価格がないため) |
| 証拠金計算 | エラーで失敗します |
| 清算チェック | 最後に確認された価格を使用します |
オラクルが復旧すると、自動的に回復します。
IVオラクル
IVオラクルに障害が発生した場合:
| 影響 | 動作 |
|---|---|
| 新規注文 | 証拠金モードによっては拒否される場合があります |
| オプション価格算出 | 本質的価値にフォールバックします |
| 証拠金計算 | 保守的な推定値を使用します |
決済の障害
満期時のオラクル停止
決済価格には満期前の30分間のTWAPウィンドウを使用します。オラクルデータが利用できない場合:
- 部分的な停止: 利用可能なサンプルからTWAPを計算します
- 完全な停止: データが利用可能になるか手動での対応が行われるまで、決済を延期します
停止が発生していなくても、満期の正確なタイミングで確定済みTWAPが利用できない場合は決済が延期されることがあります。その場合、当該銘柄は Expired Pending Price 状態のまま維持され、取引は無効化されたままとなり、確定価格が存在するまで決済が自動的に再試行されます。
TWAPアルゴリズムは価格操作に耐えるよう設計されています。詳細はオラクルをご覧ください。
APIのダウンタイム
Hypercall APIが利用できなくなった場合:
| コンポーネント | ステータス |
|---|---|
| オンチェーン取引 | コントラクトの直接呼び出しにより機能します |
| ポジション | オンチェーン上で安全に保持されます |
| 未約定注文 | オーダーブックに残ります |
| WebSocketサブスクリプション | 切断されます |
推奨事項
- 指数バックオフを用いた再接続ロジックを実装してください
- 重要なデータをローカルにキャッシュしてください
- 取引前に
GET /healthを確認してください - 重要な操作にはフォールバックとしてオンチェーンの手段を使用してください
ヘルスエンドポイント
| エンドポイント | 目的 |
|---|---|
GET /health | 基本的な稼働確認 |
GET /ready | 依存関係を含む完全な稼働準備状態の確認 |
インシデント時の情報共有
インシデント発生時には、以下に最新情報が投稿されます。
- Discord: #announcements チャンネル
- Twitter: @synapseprotocol