Skip to content

How we calculate

Every formula, rule and number behind DefiLab, in plain words. Everything here is an estimate, not advice. We never predict payouts or prices.

1. What DefiLab estimates

For each yield we estimate what you would keep: the earnings, minus gas, minus a small allowance for the risk of losing your deposit.

kept = earnings - gas - risk allowance

We then turn that into a verdict by dividing what you keep by the time you spend setting it up and getting out (10 min, 20 min, 1 hour, 3 hours are the choices in the lab). The answer is dollars kept per hour of your time.

These are estimates from today's data and your inputs. We do not predict future rates, token prices or airdrop payouts. Airdrop payouts are always numbers you type in, never forecasts.

2. Earnings

  • We take today's APY and hold it for your whole period. Real rates move, so treat it as a snapshot.
  • APY already includes compounding. We assume it is quoted as compounding daily, so 365 days at a 5% APY earns exactly 5%.
  • Fixed-rate Pendle pools earn only until their maturity date. If your period is longer, we count earnings up to maturity only.
  • Rewards paid in extra tokens are part of the APY we show. We do not guess how the reward token price will move, so no drop is applied by default.
  • A looped yield can have a negative net APY. In that case we count it as a loss, not as zero.

3. Costs

Gas

Gas is what the blockchain charges for each transaction. We price one round trip: an approval (EVM chains only), the deposit, and the withdrawal. The values below are placeholders for typical prices, not live prices, and are marked as estimated in the lab.

Gas for one round trip by chain
ChainRound trip
Ethereum$6.09
Base$0.027
Arbitrum$0.027
Optimism$0.027
Polygon$0.005
BNB Chain$0.24
Avalanche$0.020
Solana$0.005
Any other chainabout $0.050 (flagged as estimated)

Risk allowance

Any protocol can be hacked. We do not know if or when, so we set aside a small yearly amount as if the chance were fixed. It is an expected cost you may never pay, shown so safer pools are not penalised for paying less. For your period it is: deposit x yearly % x (days / 365), assuming a total loss if an exploit happens.

Risk tiers
TierA yearWhich protocols
1 Established1%Aave, when the pool holds $10M or more.
2 Mature2%Morpho and Kamino, when the pool holds $10M or more.
3 Developing5%All Pendle pools, and any pool under $10M.
4 Unproven10%Any other protocol.
5 Very high risk2% x leverage + 3%Looped yields only (section 5).

The size rule comes first: a small pool is tier 3 even on a protocol that would otherwise be higher.

What is not included

  • Protocol fees beyond the quoted APY.
  • Impermanent loss on pools that pair two assets.
  • Taxes.
  • Reward-token price moves.
  • Bridging to the chain, and the price of the time you spend (that is the verdict, not a cost).

4. Verdict thresholds

The verdict compares what you keep against doing nothing, divided by the hours you spend.

Verdict thresholds
VerdictRule
Not worth itYou keep nothing, or under $5 per hour of your time.
Worth itAt least $25 per hour and at least $10 kept.
MarginalEverything in between.

5. Looped yields

A loop deposits a staked token, borrows SOL against it, buys more of the token and repeats. It earns more when borrowing is cheap and loses money when it is not. We show Kamino SOL loops only, hidden until you switch them on.

net APY = staking yield x leverage - SOL borrow rate x (leverage - 1)

Example: 7% staking yield, 5% borrow rate, 2x leverage gives 9% a year. The net APY turns negative when the borrow rate rises above staking yield x leverage / (leverage - 1).

  • Leverage options: we offer 1.5x, 2x and 2.5x, up to what the maximum loan-to-value allows (keeping a 0.05x margin), plus that maximum when it is a little higher than the last option. For example, a 1.5x, 1.9x set for a 50% maximum.
  • Loan-to-value at a given leverage is (leverage - 1) / leverage.
  • Liquidation distance: 1 - loan-to-value / liquidation threshold. This is how far the token can fall against SOL before you are liquidated.
  • When the feed gives no liquidation threshold we assume it is 5 points above the maximum loan-to-value, and say so next to the number.
  • Safety charge: 2% x leverage + 3% a year (so 7% at 2x): the usual protocol allowance on the whole leveraged position, plus an extra for liquidation and depeg.
  • Gas is the normal round trip x 3 (open, one rebalance, close).
  • Loops are always labelled "Very high risk", and earnings are in SOL. Kamino's own fees are not included.

6. Health factor calculator

You type your collateral and debt. Prices and protocol terms are examples you should change to the real ones. Nothing is read from your wallet.

health factor = collateral value x liquidation threshold / debt value

  • Below 1.00 the position can be liquidated.
  • Liquidation price, both directions: if the collateral falls, it is debt value / (collateral amount x threshold). If the debt asset rises, it is collateral value x threshold / debt amount. The what-if moves whichever price can hurt you.
  • Extra you could borrow to reach a target health factor (1.25, 1.5, 2, 3): collateral value x threshold / target - debt value.
  • To get back to the target you can repay debt, or add collateral. We show both amounts.
  • Morpho liquidation penalty: 1 / (0.3 x LLTV + 0.7) - 1, capped at 15%. At 86% LLTV that is 4.38%.
  • Interest drift: debt grows at the borrow rate and collateral at its yield, compounded continuously. We show how the health factor slides if prices stand still, and how long until it reaches your target or 1.00.
  • Penalty loss: if you are liquidated, the liquidator takes the repaid value plus the penalty. That bonus is what you lose.
  • Close factor: Aave can only liquidate 50% of the debt at a time. We use that single figure as a simplification and do not model Aave's rules that allow more.
  • The prefilled thresholds and penalties for Aave and Kamino are examples, not live market values.

7. Data sources and refresh

Pool rows come from mydefilife's own refined data first, then from our own daily feeds of the Kamino, Morpho and Pendle public APIs. Looped yields also use Kamino staking yields. Everything is refreshed daily at 02:00 UTC, so a rate can be up to a day old.

Data sources and licences
SourceUsed forLicence
mydefilife's own refined dataPool rows (rate, size, chain, asset), tried first.Ours.
Kamino public APILending pools, and staking yields and borrow rates for looped yields.Public API. We show rates and link to the protocol.
Morpho public APIVault pools.Public API. We show rates and link to the protocol.
Pendle public APIFixed-rate pools and their maturity.Public API. We show rates and link to the protocol.
AaveCollected, but hidden until we have confirmed the terms for showing it.Not shown yet.
DefiLlamaNot used. No DefiLlama data is shown.Not applicable.

Aave pools are collected but hidden until we have confirmed the display terms. No DefiLlama data is shown.

8. The sanity filter

Before any number is used, each row must pass these checks. A row that fails any of them is left out and counted in the "hidden" note in the lab. It is never silently used.

  • Freshness: not reported in over 48 hours, and not dated more than 60 minutes in the future.
  • Complete: APY, pool size and date must be present, and neither may be negative.
  • Size: at least $10,000 in the pool.
  • APY cap: stable assets over 50%, and volatile or unclassified assets over 500%.
  • Minimum APY: yields paying under 0.1% are hidden and counted (looped yields are exempt, since a low or negative result is the point).
  • Outliers: a large pool paying far more than is plausible for its size is dropped (limits in the table below).
  • Cross-check: if a second source disagrees by more than the larger of 5 points or 50% of its rate, the row is left out. No second source is connected today, so this check does not fire.
Maximum APY by pool size
Asset typeCapSize-based limits
Stable assets50%$1B+ pool: over 10%; $100M+ pool: over 25%
Volatile assets500%$1B+ pool: over 50%; $100M+ pool: over 150%
Not classified500%$1B+ pool: over 50%; $100M+ pool: over 150%

Looped yields follow the same 48-hour freshness rule and are dropped if a number they need is missing.

9. Yield check

The yield check at /check runs nine checks on a pool's rate, size, deposits and protocol, and says why each one passed or not. A pool is flagged when one check is red or two are amber. It replaces the small flag hints the lab showed before.

Yield check thresholds
CheckAmberRed
Rate vs its own average1.5x its 30-day average3x
Rate vs similar pools2x the median for the same asset3x
Pool sizeunder $5Munder $1M
Deposits leavingdown 15% in 7 days, or 30% in 30 daysdown 30% in 7 days
Where the yield comes from50% paid in reward tokens80%
Rate swingsspread over 50% of its averageover 100% of it
Fixed-rate termmatures within 14 daysnever red
Protocol track recordunder a year liveunaudited, or under 6 months
How long we have tracked itunder 14 daysnever red
  • Today's rate and pool size are the pool's latest numbers. Earlier days come from our daily snapshots of the last 30 days. The own-average check needs 7 earlier readings and the rate-swing check needs 14.
  • Similar pools: the median rate of the pools on the same asset when at least 3 share it, otherwise the median of all stablecoin pools. Looped yields are not part of it.
  • Deposits leaving compares today's pool size with the reading closest to 7 and to 30 days back. With no reading that old, that comparison is skipped.
  • Protocol track record uses a short hand-kept list of audits and launch dates (Aave, Morpho, Kamino and Pendle). We have no protocol-wide deposit totals, so size is judged on the pool only. An audit means a contract was reviewed, not that it is safe.
  • A check we can't run is shown as can't check. It never counts as passed.
  • Pools paying under 0.1% and looped yields are left out of the list. Looped yields carry their own very-high-risk warning.
  • Nothing unusual found is not a safety rating. Smart-contract and depeg risks do not show up in these numbers. Estimate, not advice.

10. What we never do

  • We never hold your funds.
  • We never ask for a token approval.
  • We never read your wallet.
  • We link out to the protocol, and you do the deposit there yourself.

11. Changelog

When a number or rule that changes results changes, it is listed here. Dates are UTC.

  1. Shared links now show a preview card with the result. Card numbers are worked out with the same code as the page, at the time the card is made.
  2. Yield check added: nine checks per pool, flagged when one is red or two are amber. Replaces the earlier screener flag hints.
  3. Rate-history charts added. Kamino, Morpho and Pendle pools include up to 180 days from each protocol's own published history, marked as such on the chart.
  4. Health factor calculator added.
  5. Looped Kamino SOL yields added, with a yearly safety charge of 2% times leverage plus 3%.
  6. "Use this yield" links added.
  7. Calculator defaults set: risk allowance 1, 2, 5 and 10% a year; verdict red under $5 an hour, green at $25 an hour and $10 kept or more. The lab does not price impermanent loss yet.

Assumptions

  • All figures on this page are the defaults the calculators use today, read from the same code.
  • Gas values are placeholders. Risk tiers are allowances, not forecasts of hacks.
  • Payouts and prices are never predicted.

Estimate based on your inputs and current data. Not investment advice.