Give your agent a wallet you control.
Let your agents pay online using one-time-use cards or with machine payment protocols. You approve every request.
Measuring which Solana stake pools actually help decentralize the network vs. concentrate power. Built by Mythx.
FinanceGitHub @projectnamedateOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
Solana stake pool health dashboard - measuring which pools help decentralize the network
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗Solana stake pool health dashboard — scoring how multi-validator stake pools impact network decentralization.
Live at coefficient.mythx.art
Stake pools control tens of millions of SOL and decide which validators receive delegation. Some pools genuinely support small validators and geographic diversity. Others concentrate stake in the superminority or require validators to buy tokens for delegation.
Coefficient scores each pool on how well it distributes stake, not just how much yield it generates. It's pool-centric, not validator-centric — answering: "Where is each pool's SOL going, and is that good or bad for the network?"
Coefficient tracks multi-validator stake pools with 10+ validators. Single-validator Sanctum wrappers (~170+) are excluded since they don't make delegation decisions.
| Pool | LST | Program |
|---|---|---|
| Jito | JitoSOL | SPL Stake Pool |
| DoubleZero | dSOL | SPL Stake Pool |
| BlazeStake | bSOL | SPL Stake Pool |
| JPool | JSOL | SPL Stake Pool |
| Phase Delegation | phaseSOL | SPL Stake Pool |
| Vault | vSOL | SPL Stake Pool |
| dynoSOL | dynoSOL | SPL Stake Pool |
| JagPool | jagSOL | SPL Stake Pool |
| STKE | stkeSOL | SPL Stake Pool |
| Marinade | mSOL | Marinade |
| Shinobi | shinSOL | SPL Stake Pool |
| Definity | dfSOL | Sanctum Multi |
| IndieSOL | indSOL | SPL Stake Pool |
Each pool receives a Network Health Score (0–100) composed of 7 weighted sub-scores:
| Sub-Score | Weight | What It Measures |
|---|---|---|
| Small Validator Bias | 20% | Stake to validators below median vs. superminority |
| Nakamoto Impact | 20% | Would removing this pool's delegation hurt the Nakamoto Coefficient? |
| Sandwich Policy | 15% | Exposure to known sandwich validators |
| Stake Distribution | 15% | How evenly stake is spread across validators (Shannon entropy + count bonus) |
| Self-Dealing | 10% | Token purchase or LST staking requirements for delegation |
| Geographic Diversity | 10% | Shannon entropy of stake-weighted country distribution |
| Commission Discipline | 10% | Percentage of validators at ≤10% commission |
Scores are normalized to a [55, 95] curve. Grades: A (≥90), A- (≥85), B+ (≥80), B (≥75), B- (≥70), C+ (≥65), C (≥60), D (<60).
A Delegation Transparency grade (A–D) is also shown on each pool's detail page but carries 0% weight in the composite.
| Source | What It Provides |
|---|---|
| Solana RPC | On-chain stake pool accounts, delegation lists, epoch data |
| StakeWiz | Validator names, geography, datacenter, skip rates, APY |
| Trillium | Per-epoch validator profitability and revenue breakdown |
| Marinade API | Marinade-specific delegation data |
| sandwiched.me | Sandwich validator blacklist |
| a-guard | Additional sandwich validator data |
| Solana Config Program | On-chain validator names (ValidatorInfo) |
src/
├── app/ # Next.js pages and API routes
│ ├── api/ # /api/pools, /api/cron, /api/search, /api/embed
│ ├── pool/[id]/ # Pool detail pages
│ ├── validator/ # Validator detail pages
│ └── ... # Other pages
├── components/ # React components
├── db/ # Drizzle schema, queries, seed data
├── indexer/ # Data pipeline
│ ├── fetchers/ # Solana RPC, StakeWiz, Marinade, ValidatorInfo
│ ├── scoring/ # 7 sub-score algorithms + composite
│ ├── data/ # Pool registry, overrides, sandwich list
│ └── run.ts # CLI entry point
└── lib/ # Shared types, utilities, grade computation
The indexer runs daily via Vercel cron (/api/cron):
# Install dependencies
npm install
# Run development server
npm run dev
# Run indexer (requires .env with TURSO_DATABASE_URL, TURSO_AUTH_TOKEN)
npm run index
# Dry run (no DB writes)
npm run index:dry
# Force reindex current epoch
npm run index:force
# Build for production
npm run build
| Variable | Required | Description |
|---|---|---|
SOLANA_RPC_URL | No | Primary Solana mainnet RPC (e.g. Helius); falls back to the public api.mainnet-beta.solana.com on errors, and is used alone when unset |
TURSO_DATABASE_URL | Yes | Turso database URL |
TURSO_AUTH_TOKEN | Yes | Turso authentication token |
CRON_SECRET | Yes | Secret for Vercel cron authentication |
ALERT_WEBHOOK_URL | No | Telegram, Discord, or Slack webhook for cron error alerts |
Coefficient is an open-source project by Mythx, a Solana validator operator.