Methodology
How we measure realised yield across Solana protocols, normalise it, and report it net of fees, so the number you see is the number you can receive.
True-value measurement
We deposit directly into each tracked protocol and measure the growth of that position over time. Every APY we publish is rooted in a real position we could redeem at any moment, not a number scraped from a marketing page. Measuring directly closes the gap between advertised and realised yield that appears once protocol fees, oracle drift, or utilisation limits are taken into account.
Daily tracking & data quality
Snapshots are taken once per day at 02:15 UTC and written to the database the charts read on every render. Per protocol we use whichever method most faithfully reflects a real withdrawal:
- On-chain reads: direct vault / share-rate inspection.
- Protocol APIs: when the upstream is the source of truth.
- Simulated withdrawals: when account state alone is ambiguous.
Standardised APY
Protocols disclose returns in many shapes: APR, APY, weekly compounding, epoch yield. We compute APY ourselves from the observed change in position value, on one fixed daily-compounding convention:
APY = (1 + APR / 365) ^ 365 − 1
A protocol's headline APY may differ from ours by a small amount, by design. One identical formula is what makes venues comparable.
Net of fees
All figures are net of fees by default; the Gross / Net toggle shows the pre-fee number. One-time fees assume a one-year holding period, so their annual impact is comparable to ongoing fees.
- Entry
- Charged on deposit, before yield accrues.
- Performance
- A share of realised profit, after management.
- Management
- Continuous percentage of assets under management.
- Exit
- Charged on the withdrawn balance at redemption.
Governance risk grade
Beyond yield, each protocol is scored by its weakest authority; an attacker needs only one. Safe configuration accrues points toward a 0–100 score:
- Program: immutable ⇒ near-max; upgradeable behind a strong multisig + timelock ⇒ high; single key ⇒ zero.
- Timelock: ≥48h > ≥24h > <24h > none.
- Token authority: mint & freeze revoked ⇒ full; a live mint on a receipt token ⇒ zero.
- Config authority: autonomous (member-voted) > controlled by an external key.
Buckets: Low ≥75 Medium 45–74 High <45. Any qualifying change (timelock removed, threshold lowered, authority transferred) fires an alert regardless of the static score.