> For the complete documentation index, see [llms.txt](https://docs.efficientdex.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.efficientdex.com/use-efficient/provide-liquidity/understanding-returns.md).

# Understanding returns

What moves an Efficient pool's value per share: swap fees, the book's inventory, interest and any debt, and the performance fee charged on gains.

**A depositor's return in an Efficient pool is the change in value per share, measured in the pool asset.** Swap fees and inventory move it. In a pool that uses lending markets, interest and any debt move it too. A pool can also charge a performance fee, which takes part of any gain above the high-water mark.

The share accounting is the same in every pool, whichever hooks it runs. For Everlong vaults, [Where the yield comes from](https://docs.foreverlong.io/everlong/where-the-yield-comes-from) covers how the Everlong hook earns.

## Value per share

**Value per share is the pool's net asset value (NAV) divided by its share supply.** So every share carries the same slice of the book. NAV is everything the pool holds less everything it owes, valued in the pool asset. See [The pool and its book](/how-pools-work/the-pool-and-its-book.md#net-asset-value).

The feed-price valuations below assume the pool has a [price band](/how-pools-work/hooks.md#the-price-band). A pool with no price band reads no price. So its NAV can't be read while it holds any loan asset. A loan asset is the other token in the pool's pair, or any extra token the pool can borrow. In an Efficient pool that trades cbBTC against USDC, the loan asset is USDC.

$$
v = \frac{\text{NAV}}{s}, \qquad R = \frac{v\_T}{v\_0} - 1
$$

Here $$v$$ is value per share and $$s$$ is the share supply. The return $$R$$ runs from value per share $$v\_0$$ at the start of a period to $$v\_T$$ at its end.

A pool mints its first shares at one share per unit of its pool asset. So value per share starts at 1. The return is in the pool asset, so it compares a depositor with holding that asset, however its dollar price moved.

Proportional deposits and exits leave value per share unchanged. The pool rounds each one against the depositor entering or exiting. A depositor who converts on the [asset router](/use-efficient/provide-liquidity.md#single-asset-deposits-and-exits) or accepts a discount on the entry market also bears that [cost](/use-efficient/fees.md#costs-of-entering-and-exiting).

## What moves value per share

**Between deposits and exits, swap fees and inventory change NAV.** In a pool with lending markets, interest and debt change it too. A performance fee changes the share supply instead.

### Swap fees

**Each fill adds the trader's input to NAV and removes the net output.** Both are valued at the feed price. The difference is the fill's fee plus any gap between the hooks' price and the feed price. The pool's hooks set the fee, and the gap can go either way.

In a pool with a [price band](/how-pools-work/hooks.md#the-price-band), the band caps that difference either way. The cap is a set percentage of the input's value, fee included. NAV counts a fee in either asset at the feed price.

Take the [example book](/how-pools-work/the-pool-and-its-book.md#the-book) of a hypothetical Efficient pool that trades cbBTC against USDC. A trader sells 1 cbBTC at the $100,000 feed price, with an illustrative fee of 25 bps. The trader receives 99,750 USDC. NAV rises by the 250 USDC fee, or 0.0025 cbBTC.

### Inventory and debt

**NAV counts each loan asset's net position at the feed price.** So the book's mix decides how its value moves with the pool asset's price. After the price rises, net debt is worth less of the pool asset. So a book that owes the loan asset gains, and a book holding a surplus of it loses.

The table starts from three hypothetical Efficient pools that trade cbBTC against USDC. Each book is worth 80 cbBTC at $100,000. Only a pool that borrows can carry the second book.

Exposure is the percentage change in the shares' dollar value per 1% change in the price. It's the [gross holding](/how-pools-work/the-pool-and-its-book.md#the-book) divided by NAV. The gross holding is the pool asset held directly, plus any posted as collateral where the pool borrows.

| Book at $100,000                 | Exposure | NAV at $90,000 | NAV at $100,000 | NAV at $110,000 |
| -------------------------------- | -------- | -------------- | --------------- | --------------- |
| 80 cbBTC, no USDC and no debt    | 1        | 80 cbBTC       | 80 cbBTC        | 80 cbBTC        |
| 100 cbBTC and $2,000,000 of debt | 1.25     | 77.78 cbBTC    | 80 cbBTC        | 81.82 cbBTC     |
| 60 cbBTC and $2,000,000 of USDC  | 0.75     | 82.22 cbBTC    | 80 cbBTC        | 78.18 cbBTC     |

In a pool that borrows, debt reaches a depositor only through value per share. Each exit repays the redeemed shares' slice of the debt in the same transaction. The redeemer provides the shares' slice of any net debt. So the depositor ends with the shares' net value and never owes the pool's debt.

### Interest

**In a pool with lending markets, interest moves NAV continuously.** Borrow interest adds to any debt. Supply interest adds to the loan asset the pool has lent. [The pool and its book](/how-pools-work/the-pool-and-its-book.md#interest-before-each-swap) explains how.

Loan asset held in the execution buffer earns no interest. Nor does collateral a borrowing pool posts on Morpho Blue.

Take the [example book](/how-pools-work/the-pool-and-its-book.md#the-book) again, with its $2,000,000 of debt. A year at an illustrative borrow rate of 5% adds about $100,000 to that debt. At $100,000 per cbBTC, NAV falls by about 1 cbBTC.

## Fees against later price moves

**The pool books a fee once, at the fill.** But it revalues the fill's change to its loan asset position at every later feed price. After the example sell, the book holds 1 more cbBTC and owes 99,750 more USDC. A pool that pays the sell from USDC it holds or has lent ends with 99,750 USDC less instead. That moves NAV the same way.

| cbBTC price after the sell | New debt in cbBTC | Effect on NAV       |
| -------------------------- | ----------------- | ------------------- |
| $99,000, down 1%           | 1.0076            | 0.0076 cbBTC lost   |
| $100,000, unchanged        | 0.9975            | 0.0025 cbBTC gained |
| $101,000, up 1%            | 0.9876            | 0.0124 cbBTC gained |

A 1% fall turns the fill's fee into a loss. A return to $100,000 restores it. So a feed price move after a fill can cost the pool more than the fee the fill earned. The pool's hooks decide how much of that reaches value per share, by managing the book's mix.

In an Everlong vault that quotes leverage, the leverage curve inside each swap quote pulls exposure back towards 1:1, as [Maintaining 1:1 exposure](https://docs.foreverlong.io/everlong/maintaining-btc-exposure) explains.

{% hint style="warning" %}
**Swap fees don't guarantee a positive return in the pool asset.** Price moves on the book's mix can lower value per share. In a pool that borrows, so can borrowing interest and a liquidation at a lending market. [Risks and safeguards](/use-efficient/risks-and-safeguards.md) covers each of these risks.
{% endhint %}

## The performance fee's effect

**A performance fee lowers value per share without moving NAV.** It does this by minting new shares on a gain above the high-water mark. A pool with no price band charges no performance fee. [Fees](/use-efficient/fees.md#the-performance-fee) covers the rates, how the mark moves and when the pool charges the fee.

If a charge mints $$\Delta s$$ shares, value per share after it is:

$$
v\_{\text{after}} = v,\frac{s}{s + \Delta s}
$$

For example, take a hypothetical Efficient pool with value per share of 1.10, a mark of 1.00 and an illustrative combined rate of 10%. A charge mints about 0.91% more shares. Value per share falls to about 1.0901, so depositors keep about 90.1% of the gain. That's slightly more than 90%, because the minted shares bear part of their own dilution.

## Reading returns

| Read                          | What it shows                                                          |
| ----------------------------- | ---------------------------------------------------------------------- |
| `convertToAssets(shares)`     | Value of a number of shares at NAV, before any pending performance fee |
| Lens `nav(pool)`              | NAV and the checked feed price, with an `ok` flag instead of a revert  |
| `PerformanceFeeCharged` event | Shares minted to each part of the fee, and the mark before and after   |

The pool's `totalAssets` and `convertToAssets` revert with `PriceUnchecked` while a loan asset with a position has no checked feed price. A pool with no price band reads no feed price. So both revert whenever it holds any loan asset.

They also revert with `VenueFrozen` while a lending market that can refuse actions holds a position and allows none. [The pool and its book](/how-pools-work/the-pool-and-its-book.md#when-a-position-cant-be-read) explains this case. Morpho Blue, the only venue type in the code, never reaches that state.
