Skip to main content

Overview

Compare a single staking entity against the network average across BeaconScore, APY, missed rewards, and sub-entity performance.
Premium access: entities, entity/sub-entities, validators/apy-roi (with entity selector), validators/rewards-aggregate (with entity selector), and validators/metadata require a Scale or Enterprise plan. performance-aggregate (network baseline) is available on all plans.
Attribution required: If you display BeaconScore publicly, follow the BeaconScore License and License Materials.
Configurable evaluation window: All examples below use 30d, but you can change evaluation_window to 24h, 7d, 30d, or 90d depending on your use case. Use consistent windows across all calls in the same comparison. See Evaluation Windows for guidance.

Why Benchmark vs Network?

Baseline Performance Check

A BeaconScore of 99.5% is only meaningful in context. Comparing to the network average reveals whether that score represents outperformance, peer performance, or lagging performance.

Incident Validation

If an entity’s score drops, compare against the network delta first. A simultaneous network-wide drop indicates an external event; an entity-only drop points to operational issues.

Stakeholder Reporting

Produce clear entity-vs-network deltas for customer SLAs, quarterly reports, or public transparency disclosures.

Sub-Entity Diagnosis

When a parent entity score changes, drill into sub-entities (node operators) to identify which operators are driving the change.
For the full BeaconScore methodology, see BeaconScore vs. 3rd Party Metrics.

Step 1: Get the Entity BeaconScore

Fetch the entity list and select your target:
From the response, use the target entity’s beaconscore field (decimal, e.g. 0.9947).

Step 2: Get the Network Baseline

Fetch the network-wide performance aggregate over the same evaluation window:
Known behavior: This endpoint does not filter by entity. Any entity parameter is silently ignored. The response always represents the full network. This is the intended behavior for computing the baseline.
Use the total and component scores as the benchmark values. See Network Performance Aggregate.

Step 3: Compute BeaconScore Delta

Threshold Reference

These same thresholds apply to all three component deltas (attestation, sync committee, proposal).

Step 4: Fetch APY and Compare vs Network

Fetch APY for the target entity:
Then fetch APY for the network baseline (no entity selector):
Compare the combined, consensus-layer, and execution-layer APY totals. Use the same ±0.25pp thresholds for coloring. See APY & ROI.
Interpreting EL APY: A high EL APY vs the network in short windows typically reflects proposal luck (favorable MEV), not operational efficiency. Always check whether EL outperformance aligns with an above-average proposal count before attributing it to operator quality.

Step 5: Fetch Missed Rewards and Compute Efficiency

Fetch missed rewards for the entity:
Wei values are JSON strings. All reward values are returned as strings representing large integers. Always cast with int(str(v)) before dividing by 1e18.
Compute per-component efficiency and total missed:

Missed % of Earned Thresholds (lower = better)

Absolute ETH missed scales with validator count. Use % of earned for fair cross-entity comparisons.

Step 6: Drill Into Sub-Entities

When parent performance changes, identify which operators are driving it:
Compare each sub-entity’s beaconscore against the network baseline. Sub-entities with delta <= -0.0025 warrant investigation. Sortable fields: beaconscore, net_share, validator_count.

Step 7: Map Validators to Entities (Optional)

If you start from validator indices rather than an entity name, resolve entity assignments first:
Use the assignment to route validators to the correct entity benchmarking queries. See Validator Metadata.

Example: Full Entity Benchmark Script (Python)


Best Practices

Use 30d or 90d Windows

Short windows introduce noise from proposal luck. Use 30d minimum for stable benchmarking.

Track Delta History

Store entity - network deltas over time to distinguish persistent underperformance from temporary variance.

Inspect Sub-Entities

A parent-level score change can mask improvement in some operators and degradation in others.

Separate CL and EL APY

When APY diverges from peers, check whether the gap is in CL APY (operational) or EL APY (proposal luck). CL APY differences are operationally significant; EL APY differences in short windows often are not.