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
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