> For the complete documentation index, see [llms.txt](https://docs.viridus.fi/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.viridus.fi/real-yield.md).

# How returns work

Trading fees, changing stock prices, and the choices behind the portfolio.

Viridus supplies stock tokens and USDG to trading pools. When traders swap through that liquidity, they pay a fee. Viridus earns a share of those fees alongside other liquidity providers.

Your return depends on **fees earned, changes in asset value, and costs**. A position can earn fees while its stock tokens fall in value. If that fall outweighs the income, the portfolio loses money.

## The price range matters

Each position operates within a chosen price range, measured in USDG per stock token. Inside the range, it holds a changing mixture of stock tokens and USDG. It earns fees when trades use its liquidity.

Below the range, the invested assets are all stock tokens; above it, they are all USDG. Outside the range, the position stops earning new trading fees.

![A position holds stock below its range, a mixture inside it, and USDG above it. It can earn trading fees while in range.](https://83069525-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5Io2Y6LnMD4uKh1XlRwV%2Fuploads%2Flg7HsLQGYP8YQEtEadfI%2Frange-states-simple.svg?alt=media)

## The manager chooses where to invest

The manager selects markets, position sizes and ranges using price data, available liquidity and estimated costs. It can leave money in USDG when an opportunity does not meet its checks. The portfolio can be concentrated in one market, so those choices matter. Passing the checks cannot prevent losses.

[Next: Your vUSDG →](/vault.md)
