# APY Calculation

APY shown in frontend is calculated using the following formula.

### Auto-compound APY

First we deduct fee from APR:

$Net APR = Reward APR * (1 - fee)$

Second, we calculate into APY. We use 365 (daily compound):

$Net APY = (1 + Net APR / 365)^{365} - 1$

$Autocompound APY = (1 + Net APY) * (1 + Trade APR) - 1$

NOTE: For Trade APR, we use multiplication here because in auto-compound we grow LP and LP is multiplication of trading APR.

For example:

Net APY = 20%, Trade APR = 10%

Year 0: LP = 100 and 1 LP = 1 Token + 1 UST (Total value is 200 UST)

Year 1: LP = 120 and 1 LP = 1.1 Token + 1.1 UST (Total value is 264 UST)

Year 0-1 Profit = 64 UST

We can apply compound APY formula to get the same result:

Compound APY = (1 + Net APY 20%) * (1 + Trade APR 10%) - 1 = 32%

Investment 200 UST * 32% = 64 UST

#### Full example for auto-compound APY calculation

Reward APR = 87.57%, Fee = 5%, Trade APR = 4.59%

Net APR = 0.8757 * (1 - 0.08) = 0.831915

Net APY = (1 + 0.831915 / 365) ^ 365 - 1 = 1.295541

Auto-compound APY = (1 + 1.295541) * (1 + 0.0459) - 1 + 0.0348 = 140.09%

### Data source and cache interval

The APRs are obtained from the API of each protocol such as Astroport's API. The consolidated data will be provided via Spectrum's API and cached for 5-10 minutes while each protocol might have various cache intervals depending on their update frequency.

Last updated