Risk Scoring
Risk Score is a composite metric designed to reflect the likelihood and impact of an operator experiencing slashing across their active AVS deployments.
Overview
The EigenWatch Risk Score ranges from 0–100, where:
- 0–20 = Low risk (strong track record, minimal slashing likelihood)
- 21–50 = Medium risk (acceptable but requires monitoring)
- 51–80 = High risk (notable concerns, operators should be evaluated carefully)
- 81–100 = Critical risk (recent slashing events or severe conditions)
Scores are updated in real-time as new events occur.
Methodology
Risk Score is computed as a weighted combination of four dimensions:
1. Slashing History (40% weight)
Reflects whether an operator has experienced slashing events and their frequency/recency.
Inputs:
- Number of slashing events in the last 30/90/180 days
- Severity of each event (partial vs. full stake loss)
- Time decay (recent events weighted more heavily)
Example:
- No slashing in 6 months → ~5 points
- 1 minor slashing event in last 30 days → ~35 points
- Multiple slashing events → ~70+ points
2. Operator Uptime (25% weight)
Reflects whether an operator's infrastructure is consistently available.
Inputs:
- Percentage of blocks proposed/signed by the operator
- Missed attestations or duties
- Downtime incidents (detected from beacon chain)
Example:
- Greater than 99.5% uptime → ~5 points
- 95–99% uptime → ~25 points
- Less than 95% uptime → ~60 points
3. AVS Concentration Risk (20% weight)
Reflects whether an operator is over-exposed to a single AVS or correlated services.
Inputs:
- Percentage of stake deployed on any single AVS
- Cross-AVS correlation (if multiple AVSs rely on similar validators)
- Total capital deployed
Example:
- Greater than or equal to 60% on single AVS → ~40 points
4. Operator Reputation (15% weight)
Reflects historical governance participation, slashing incidents, and community sentiment.
Inputs:
- Governance participation score
- Historical performance across multiple networks
- Slashing events on other protocols (if available)
Example:
- Strong multi-network track record → ~5 points
- New operator with limited history → ~35 points
- Previous slashing on other protocols → ~60 points
Calculation Example
Assume an operator:
- Slashing History: 35 points × 0.40 = 14
- Uptime: 25 points × 0.25 = 6.25
- AVS Concentration: 40 points × 0.20 = 8
- Reputation: 20 points × 0.15 = 3
Total Risk Score = 14 + 6.25 + 8 + 3 = 31.25 → Medium Risk
Real-Time Updates
Risk Scores update when:
- New slashing event detected on-chain
- Uptime metrics change significantly
- Operator's AVS portfolio changes
- Reputation signal updates
Updates propagate to:
- APIs within 30 seconds
- Oracle feeds within 1 block
- Alert subscribers immediately
Using Risk Scores
For Restakers
Use Risk Score to filter operators before delegating:
# Pseudocode: Query operators below medium risk
operators = fetch_operators(risk_score_max=50)
for op in operators:
if op['risk_score'] < 50:
delegate_stake(op)
For AVSs
Monitor your operator set's average risk:
avg_risk = mean([op['risk_score'] for op in my_avs_operators])
if avg_risk > 60:
send_alert("Your AVS has high-risk operators, consider replacement")
For Insurance
Price premiums based on risk profile:
premium_multiplier = operator['risk_score'] / 50 # 2x premium at 100 risk
annual_premium = base_premium * premium_multiplier
Limitations & Assumptions
- Risk Score is not a guarantee of safety; it reflects historical patterns and current state.
- Score is based on available on-chain data; off-chain behavior and performance monitoring is not captured.
- Methodology may change as EigenLayer matures and new risk dimensions emerge.
- Scores reflect correlation, not causation—high score doesn't explain why an operator is risky.
- Score computation latency means scores can lag behind real-time conditions.
API Integration
Query Risk Scores via REST or WebSocket:
curl https://api.eigenwatch.xyz/v1/operators/0x123abc/risk-score
# Response:
{
"operator_address": "0x123abc",
"risk_score": 31,
"risk_category": "MEDIUM",
"components": {
"slashing_history": 35,
"uptime": 25,
"avs_concentration": 40,
"reputation": 20
},
"last_updated": "2024-01-21T14:32:00Z",
"confidence": 0.92
}
See Risk Scoring API for full endpoint documentation.