> ## Documentation Index
> Fetch the complete documentation index at: https://docs.yield.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Monetization

> How you earn on Earn yields: deposit, management, and performance fees, validator revenue share, where fees are configured, and how they are paid on-chain.

You set your own fees on Earn: a deposit fee, a management fee, and a performance fee. On top of these fees, you can receive a share of the revenue earned by validators and vault curators. Every fee is paid to you on-chain as it is collected.

Fees are set through **fee configurations**: fee terms in basis points (bps), attached to a project and a yield and applied in the transactions Yield.xyz constructs or by the vault the yield runs through. This page covers the concepts; for the dashboard workflow see [Discretionary fees](/documentation/advanced-setup/dashboard/discretionary-fees.md), and for automating it, [Programmatic Access](/documentation/advanced-setup/programmatic-access.md). [Trade](/documentation/trade/monetization.md) and [Borrow](/documentation/borrow/monetization.md) have their own monetization models.

## Fee-taking mechanisms

Each yield's `mechanics.possibleFeeTakingMechanisms` flags which fee types you can configure to earn on it: `depositFee`, `managementFee`, `performanceFee`, and `validatorRebates`. Not every mechanism applies to every yield, and a yield with a flag set to `false` can't take that fee type.

| Mechanism | What it means | How it's applied |
| - | - | - |
| Deposit fee | A cut taken from the amount at entry, once | Deducted when the enter transaction is constructed: split out of the deposit amount before the remainder reaches the protocol. On EVM yields this runs through a FeeWrapper contract; other chains add a fee-transfer instruction to the same transaction. For yields that run through an OAV, the vault takes the deposit fee by minting fee shares to the fee recipient |
| Management fee | An annualized fee on assets under management, accruing regardless of performance | Charged inside an Optimized Allocator Vault (OAV): collected at harvest as newly minted vault shares to the fee recipient |
| Performance fee | A fee on realized gains only, principal untouched | Charged inside an OAV at harvest, computed against the last checkpoint. For a small set of supported Solana lending positions, Yield.xyz also tracks a performance-fee position off-chain to compute this |
| Validator rebates | A share of validator revenue, for staking yields | Flagged only on staking yields whose provider has revenue sharing enabled. It is not a field in `feeConfigurations[]`, so you don't configure it with bps |

Management and performance fees run through an OAV (a Meta Vault, Sentinel Vault or single-strategy OAV), apart from the Solana lending case above, and the vault pays them by minting new vault shares to you. A deposit fee doesn't need a vault: on EVM yields it can be charged through the FeeWrapper contract. See [OAVs](/documentation/earn/oavs/index.md) and [Off-the-shelf OAVs](/documentation/earn/oavs/off-the-shelf-oavs.md) for how the vaults are built and deployed.

> [!NOTE]
>
> `mechanics.fee` (on the same `YieldDto`) reports the deposit, withdrawal, management, and performance fee percentages charged to the user for the yield itself. It is read-only metadata about the yield's own terms, separate from the fee configurations you attach as an integrator. See [Yield metadata](/documentation/earn/core-concepts/yield-metadata.md#mechanics) for the full field.

## Where fee configuration lives

A fee configuration is scoped to a project and a yield, never to a single request. Every enabled, fee-supported yield can carry one or more `feeConfigurations[]` entries, each with:

| Field | What it is |
| - | - |
| `id` | The fee configuration's identifier |
| `default` | Whether this is the configuration applied when a request doesn't pick one |
| `depositFeeBps` / `managementFeeBps` / `performanceFeeBps` | The configured rate for each fee type, in basis points |
| `allocatorVaultContractAddress` | The OAV backing this configuration, when one exists |
| `statistics` | Partner-scoped metrics (TVL, position count) for assets that entered through this configuration |

A balance can carry a `feeConfigurationId`, showing which configuration that position is under. An enter, exit, or manage action can optionally pass a `feeConfigurationId` argument to pick a non-default configuration when a yield has more than one; omitting it applies the project's default. Bps values themselves are never request parameters: they're set once, at the project and yield level, through the dashboard or the Programmatic API.

## Configuration lifecycle

A fee configuration moves from `REQUESTED` through `PROCESSING` to `LIVE`; confirm changes to a live configuration with Yield.xyz. Only `LIVE` configurations appear in `feeConfigurations[]`. See [Discretionary fees](/documentation/advanced-setup/dashboard/discretionary-fees.md) for setting these up from the dashboard, and [Programmatic Access](/documentation/advanced-setup/programmatic-access.md) for doing it from your own backend.

## Payout

Collected fees are sent on-chain to the fee recipient address Yield.xyz sets on the `LIVE` fee configuration, at the moment each mechanism collects them; nothing accrues with Yield.xyz for later withdrawal. Register a payout wallet for each network you charge fees on so Yield.xyz knows where to direct them: see [Payout Wallets](/documentation/advanced-setup/dashboard/payout-wallets.md). Transaction and activity reporting for reconciliation is covered in [Reporting](/documentation/advanced-setup/reporting.md).

## Next steps

> **[Discretionary fees](/documentation/advanced-setup/dashboard/discretionary-fees.md)**
>
> Set deposit, management, and performance fees from the dashboard.

> **[Programmatic access](/documentation/advanced-setup/programmatic-access.md)**
>
> Configure fees across projects from your own backend.

> **[Payout wallets](/documentation/advanced-setup/dashboard/payout-wallets.md)**
>
> Tell Yield.xyz where your fees should go, per network.

> **[OAV overview](/documentation/earn/oavs/index.md)**
>
> How Optimized Allocator Vaults enforce management and performance fees.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.