▓▒░ FUNDAMENTAL

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:

Formula
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.