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

# How Earn fees work

> Vault, deposit, and withdrawal fees that apply when using Earn with the App Kit SDK

Earn applies vault fees set by the underlying protocol. Same-chain deposits do
not charge an Earn deposit fee. Crosschain deposits incur CCTP bridge fees on
the source blockchain. Preview fees with `getDepositQuote` and
`getWithdrawalQuote` before you submit.

## Fee breakdown

The following fees can apply:

| Fee             | When it applies                                                         | Amount                                                        | Recipient      |
| --------------- | ----------------------------------------------------------------------- | ------------------------------------------------------------- | -------------- |
| Performance fee | On yield earned while deposited                                         | A percentage of yield; varies by vault                        | Vault protocol |
| Management fee  | While assets are deposited                                              | An annualized percentage of deposited assets; varies by vault | Vault protocol |
| Deposit fee     | Only on a crosschain deposit when burning USDC on the source blockchain | Varies based on CCTP bridge fees                              | Circle CCTP    |
| Withdrawal fee  | On withdrawal                                                           | 0, subject to change                                          | Circle         |

### Performance fee

The performance fee is taken as a percentage of the yield your deposit earns and
is set by the vault's underlying protocol. For Morpho vaults, the performance
fee ranges from 0% to 50%, configurable by the vault curator.

For example, a 10% performance fee on 1.00 USDC of yield would result in 0.90
USDC returned to you.

The performance fee is reflected in the vault's current exchange rate between
USDC and vault shares.

### Management fee

The management fee is an annualized fee charged on your deposited balance and is
set by the vault's underlying protocol. For Morpho vaults, the management fee
ranges from 0% to 5%, configurable by the vault curator.

For example, a 0.5% annual management fee on a 1,000 USDC deposit is
approximately 5.00 USDC per year.

The management fee is reflected in the vault's current exchange rate between
USDC and vault shares.

### Deposit fees

There is no deposit fee for same-chain deposits. Vault performance and
management fees still apply to yield over time.

Crosschain deposits incur CCTP bridge fees on the source blockchain. To preview
them before depositing, see
[Preview a crosschain deposit](/app-kit/tutorials/earn/preview-operations#preview-a-crosschain-deposit).

The CCTP transfer speed (Standard Transfer or Fast Transfer) changes which fees
apply. See CCTP
[fee tables](https://developers.circle.com/cctp/concepts/fees#fee-tables) by
transfer speed for the amounts per blockchain.

### Withdrawal fee

The withdrawal fee is 0 and subject to change. Preview it before withdrawing
with `getWithdrawalQuote` — see
[Preview a withdrawal](/app-kit/tutorials/earn/preview-operations#preview-a-withdrawal).

## Who pays the fees

Vault fees (performance and management) are collected from accrued yield inside
the vault, so they don't touch your principal. Crosschain deposit fees are
collected on the source blockchain at burn time. Any withdrawal fee is deducted
from the principal returned at withdrawal.

```mermaid theme={null}
flowchart TB
    Deposit["Wallet<br/>Deposits 1,000 USDC"] --> Vault["Morpho vault"]
    Vault --> Yield["Accrued yield (example):<br/>50 USDC"]
    Yield --> PerfFee["Performance fee (10%):<br/>-5 USDC"]
    Yield --> MgmtFee["Management fee (0.5%):<br/>-5 USDC"]
    PerfFee --> Curator["Vault curator"]
    MgmtFee --> Curator
    Yield --> NetYield["Net yield:<br/>40 USDC"]
    NetYield --> Withdraw["On withdrawal:<br/>1,040 USDC"]
    Withdraw --> CircleFee["Withdrawal fee:<br/>0 USDC"]
    CircleFee --> Circle["Circle"]
    Withdraw --> NetReturn["Net amount returned:<br/>1,040 USDC"]
    NetReturn --> WalletOut["Wallet"]
```

## How fees affect your returned amount

The amount returned when you withdraw may differ from your original deposit for
two reasons:

* **Upside**: Vault yield accumulates over time and is reflected in the value of
  your shares.
* **Downside**: Vault fees reduce yield. In extreme market conditions, vault
  asset value can decrease enough to reduce your principal below what you
  originally deposited.

The `currentBalance` field in
[`getPosition`](/app-kit/tutorials/earn/check-position) always reflects the
current redemption value of your shares after accounting for vault fees.
