Failure Modes
System behavior during outages and degraded conditions.
Design Philosophy
Hypercall prioritizes availability over strict consistency. During failures:
- Trading continues where possible
- Failed components are isolated
- Users receive explicit errors rather than stale data
L1 Downtime
If Hyperliquid L1 (HyperCore) becomes unavailable:
| Function | Behavior |
|---|---|
| Order Matching | Continues off-chain |
| Settlements | Queued until L1 recovers |
| Deposits | Blocked until L1 recovers |
| Withdrawals | Blocked until L1 recovers |
| Liquidations | Continue based on last known positions |
Recovery is automatic once L1 is available again.
Oracle Failures
Price Oracle
If the price oracle becomes unavailable:
| Impact | Behavior |
|---|---|
| New Orders | Rejected (no reference price) |
| Margin Calculations | Fail with error |
| Liquidation Checks | Use last known price |
Recovery is automatic when the oracle returns.
IV Oracle
If the IV oracle fails:
| Impact | Behavior |
|---|---|
| New Orders | May be rejected depending on margin mode |
| Option Pricing | Falls back to intrinsic value |
| Margin Calculations | Use conservative estimates |
Settlement Failures
Oracle Down at Expiry
Settlement prices use a 30-minute TWAP window before expiry. If oracle data is unavailable:
- Partial outage: TWAP computed from available samples
- Complete outage: Settlement delayed until data available or manual intervention
Settlement can also be delayed without an outage if the finalized TWAP is not available at the exact expiry tick. In that case, the instrument remains in Expired Pending Price, trading stays disabled, and settlement retries automatically until the finalized price exists.
The TWAP algorithm is designed to resist manipulation. See Oracles for details.
API Downtime
If the Hypercall API becomes unavailable:
| Component | Status |
|---|---|
| On-chain trading | Functional via direct contract calls |
| Positions | Safe on-chain |
| Open Orders | Remain in orderbook |
| WebSocket subscriptions | Disconnected |
Recommendations
- Implement reconnection logic with exponential backoff
- Cache critical data locally
- Check
GET /healthbefore trading - Use on-chain methods as fallback for critical operations
Health Endpoint
| Endpoint | Purpose |
|---|---|
GET /health | Basic liveness check |
GET /ready | Full readiness including dependencies |
Incident Communication
During incidents, updates posted to:
- Discord: #announcements channel
- Twitter: @synapseprotocol