障害モード
障害発生時および機能低下時のシステムの挙動について説明します。
設計思想
Hypercallは、可能な範囲では取引を継続し、価格や証拠金の入力値が欠けている場合はフェイルクローズします。障害発生時には次のように動作します。
- 必要な入力値が有効な範囲では取引を継続します
- 障害が発生したコンポーネントは隔離されます
- ユーザーには、古いデータや推測による価格ではなく、明示的なエラーが返されます
L1のダウンタイム
Hyperliquid L1 (HyperCore) が利用できなくなった場合:
| 機能 | 挙動 |
|---|---|
| オプションのマッチング | 価格およびボラティリティの入力値が有効である限り、Hypercallのオーダーブック上で継続されます |
| パーペチュアル注文 | 利用できません。パーペチュアルはHyperliquid上で執行されます。 |
| 決済 | 十分なオラクルのサンプルが揃うまで遅延します(下記参照) |
| 入金 | L1が復旧するまでブロックされます |
| 出金 | L1が復旧するまでブロックされます |
L1が再び利用可能になると、自動的に復旧します。
オラクルの障害
価格オラクル
価格オラクルが利用できなくなった場合:
| 影響 | 挙動 |
|---|---|
| リスクを増加させる注文 | 最後に記録された現物価格が30秒以上古くなった時点で拒否されます |
| リスクを削減する注文 | 受け付けられ、最後に記録された価格で評価されます |
| 証拠金および清算の評価 | 最後に記録された価格で継続されます。代替価格は生成されません。 |
| 満期決済価格 | 最後に記録された価格から取られることはありません。満期時のオラクル停止をご覧ください。 |
正常なフィードは、価格が変わらなくても少なくとも10秒ごとに価格を再記録するため、値動きのない相場で30秒の制限に抵触することはありません。オラクルが復帰すると自動的に復旧します。
IVオラクル
IVオラクルに障害が発生した場合:
| 影響 | 挙動 |
|---|---|
| 新規注文 | 影響を受ける原資産について、リスクを増加させる注文は拒否されます |
| オプション価格の算出 | フォールバック価格はありません。欠落したIVを必要とする計算は失敗します。 |
| 証拠金の計算 | 代替のボラティリティを使用せず、フェイルクローズします |
正確な条件についてはボラティリティ・オラクルを参照してください。
決済の障害
満期時のオラクル停止
決済価格には、満期前の30分間のTWAPウィンドウが使用されます。上記の評価に関する停止時のルールは、決済価格には適用されません。オラクルデータが利用できない場合:
- 部分的な停止: ウィンドウ内に少なくとも500件のサンプルがある場合にのみTWAPが算出されます。Hypercallは、同じ最低件数の条件のもとで、アーカイブされたHyperliquidのオラクル履歴から短いウィンドウを再構築できます。
- 完全な停止: 少なくとも500件のサンプルを含むウィンドウが得られるまで、決済は待機します。最後に記録された価格、不完全なウィンドウ、代替価格で決済されることはありません。
障害がなくても、確定したTWAPが満期の正確なティック時点で利用できない場合は、決済が遅延することがあります。その場合、銘柄はExpired Pending Priceの状態のままとなり、取引は無効化されたまま、確定価格が得られるまで決済が自動的に再試行されます。
TWAPアルゴリズムは価格操作に耐性を持つよう設計されています。詳細はオラクルを参照してください。
APIのダウンタイム
Hypercall APIが利用できなくなった場合:
| コンポーネント | ステータス |
|---|---|
| 取引 | 利用できません。オプションの注文、キャンセル、パーペチュアル注文はすべてHypercall APIを経由します。 |
| ポジションと残高 | エンジンの永続ジャーナルに保持され、再起動時に復元されます |
| 未約定注文 | エンジンの状態の一部として保持され、再起動時に復元されます。APIが復旧するまでキャンセルすることはできません。 |
| パーペチュアルのポジション | お客様のHyperliquidアカウント上に残ります |
| WebSocketサブスクリプション | 切断されます |
推奨事項
- 指数バックオフによる再接続ロジックを実装してください
- 重要なデータはローカルにキャッシュしてください
- 取引前に
GET /healthを確認してください - 板に置かれた注文はAPI障害中も有効なまま残ると想定し、それを前提に指値クオートのサイズを設定してください
ヘルスエンドポイント
| エンドポイント | 目的 |
|---|---|
GET /health | 基本的な死活監視 |
GET /ready | 依存関係を含む完全な準備状態の確認 |
インシデント時の連絡
インシデント発生時は、以下をご確認ください。
- ステータスページ: status.hypercall.xyz
- X: @SynapseProtocol
- Telegram: t.me/hypercall_trollbox
- Discord: discord.gg/4rMzuEnKqe