TWAP Architecture
Time-Weighted Average Price Implementation
The Oracle uses cumulative price tracking for manipulation-resistant TWAP calculations:TWAP Calculation Method
Multi-Timeframe Strategy
TWAP Timeframe Strategy
Timeframe Selection Logic:- Trading: 5-minute TWAP for immediate execution
- Borrowing: 15-minute TWAP for balanced pricing
- Collateral: 1-hour TWAP for conservative safety
- Critical Operations: 6-hour TWAP for maximum protection
- Fast response for trading operations
- Stable collateral valuations for lending
- Maximum protection against manipulation
- Gradual price filtering prevents flash crashes
- Trading: 5-minute TWAP for immediate execution
- Borrowing: 15-minute TWAP for balanced pricing
- Collateral: 1-hour TWAP for conservative safety
- Critical Operations: 6-hour TWAP for maximum protection
Price Update Validation
Constants and Configuration
Technical Implementation
Price Accumulation
TWAP Calculation
Price Selection Logic
Order Book Integration
Internal Price Generation
Unlike external oracle dependencies, our system uses the protocol’s own order book data:- Native price feeds from actual trading activity
- No external dependencies for critical pricing
- Real-time accuracy based on market transactions
Price Update Process
Security Mechanisms
Price Validation
Ensures price feeds remain within reasonable bounds:Volatility Detection
Automatic detection of unusual market conditions:Benefits Over Traditional Oracles
vs Spot Price Oracles
| Feature | Spot Price | TWAP Oracle |
|---|---|---|
| Manipulation Resistance | Low | High |
| Flash Crash Protection | None | Complete |
| Price Stability | Volatile | Smoothed |
| Consistency | Variable | Reliable |
vs External Oracles
- No external dependencies for critical pricing
- Lower costs (no subscription fees)
- Faster updates (direct from trading activity)
- Greater reliability (internal data source)
Integration Points
BalanceManager
- Provides asset valuations for collateral calculations
- Updates user borrowing power based on prices
LendingManager
- Supplies pricing for loan-to-value calculations
- Triggers liquidations based on collateral values
OrderBook
- Receives price feeds from trading activity
- Validates prices against manipulation attempts
