Which Indexer Should I Delegate To?
Introducing the Indexer Score by Graphtronauts
As Graphtronauts, one of the most frequently asked questions from our vast community of delegators in The Graph ecosystem is:
“Which Indexer should I delegate to?”
What should I look for? Reliability? APR? Customer support?
Well, we truly believe that as web3 is evolving into a new era—one that will bring more crypto adoption—the most important metric is to support Indexers who do the real work for The Graph Network.
If The Graph is powering web3, it’s thanks to Indexers—the backbone of the network—providing indexing and search capabilities to thousands of dapps across 90+ blockchains.
Welcome to the Indexer Score
We’ve created a brand-new metric you can now explore directly in our dashboard:
Access the Indexer Score Dashboard
Read the Full Documentation
Documentation
Thresholds Used
- Small Indexer: < 1,000,000 GRT allocated
- Medium Indexer: ≥ 1,000,000 and < 20,000,000 GRT
- Large Indexer: ≥ 20,000,000 GRT
- Underserving Subgraphs Threshold: 10 subgraphs
How the Indexer Score is Calculated
The Indexer Score is a weighted combination of two critical performance metrics:
- AER (Allocation Efficiency Ratio) – Weight: 70%
- QFR (Query Fee Ratio) – Weight: 30%
This blended metric evaluates an indexer’s overall performance by balancing allocation efficiency and query fee generation.
The final score is adjusted to a uniform scale where 1 = best and 10 = worst.
How AER is Calculated
Formula:
AER = Total GRT Allocated / (Number of Allocations × Avg GRT per Allocation)
A lower AER reflects more efficient allocation; a higher AER suggests over-concentration.
Average allocation targets per subgraph:
- Small Indexers: 5,000 GRT
- Medium Indexers: 10,000 GRT
- Large Indexers: 20,000 GRT
AER Normalization:
Normalized AER = 1 + 9 × (min(AER, 500) / 500)
- AER = 0 → Score = 1 (best)
- AER ≥ 500 → Score = 10 (worst)
- Example: AER = 23.788 → Normalized ≈ 1.43
How QFR is Calculated
Formula:
QFR = Query Fees Generated / Total GRT Allocated
A higher QFR indicates better performance.
QFR Normalization:
Normalized QFR = 10 - 9 × (min(QFR, 1.0) / 1.0)
- QFR = 1 → Score = 10 (best)
- QFR = 0 → Score = 1 (worst)
- Example: QFR = 0.002856 → Normalized ≈ 9.97
Final Indexer Score
To combine AER and QFR into a unified score:
Example Calculations:
- Best Case: AER = 0, QFR = 1 → Final = 1.0
- Worst Case: AER = 500, QFR = 0 → Final = 10.0
- Mixed Case: AER = 23.788, QFR = 0.002856 → Final ≈ 1.31
This ensures that both efficient allocation and strong query performance drive the score closer to 1.
Underserving Penalty
Indexers serving fewer than 10 subgraphs are considered underserving and receive a penalty to their final Indexer Score.
The penalty is calculated as:
Penalty = 2.0 × (10 - number_of_subgraphs) / 10
The final score is capped at 10.
Examples:
- An indexer with 1 subgraph receives a penalty of 1.8
- An indexer with 5 subgraphs receives a penalty of 1.0
This rule encourages indexers to support a broader and more diverse set of subgraphs, which strengthens the health, resilience, and decentralization of The Graph Network.
Performance Flags
Each indexer is assigned a flag based on its final Indexer Score:
Excellent (1.0 – 1.25)
Fair (1.26 – 2.5)
Poor (2.51 – 10.0)
These flags help delegators instantly identify high performers vs those needing optimization.
Feedback Needed and Conclusion
We consider this an open and evolving framework, and we’d love feedback from Indexers, Delegators, and community members on a few key design decisions:
1. Thresholds
- Are the allocation ranges for Small, Medium, and Large Indexers appropriate?
- Is the current Underserving Subgraphs Threshold of 10 subgraphs sufficient to flag underperformance?
- Should it scale with indexer size?
- Should it account for subgraph activity or diversity?
2. Score Weighting
- Should AER continue to be weighted at 70% and QFR at 30%?
- Would a different balance better reflect the actual value indexers bring to the network?
Your input is essential to fine-tune this scoring model and ensure it aligns with what truly matters for The Graph’s sustainability and growth.
We built this tool to help delegators go beyond chasing APR and support the indexers powering The Graph network and we’re committed to making this tool as useful and fair as possible for the entire ecosystem.
We’d love to hear your feedback!
Together, let’s make the network stronger, more transparent, and more effective!
— The Graphtronauts Core Team
- App: graphtronauts.app
- Telegram: t.me/graphtronauts
- Twitter: twitter.com/graphtronauts_c
- YouTube: youtube.com/@graphtronauts
- Blog: blog.graphtronauts.com