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

# OAV v3 (Production)

> Single-strategy Optimized Allocator Vaults with automatic compounding and configurable fees

## Overview

**OAV v3** is the current production standard for Optimized Allocator Vaults. Each v3 vault wraps a single DeFi strategy with automatic compounding, configurable fee logic, and ERC-4626 compliance — enabling partners to monetize yield with zero custom fee infrastructure.

The key advancement is **automatic offramping and reinvestment of incentive tokens**: vaults claim, swap, and reinvest rewards automatically, compounding returns without manual intervention.

<Info>
  OAV v3 is the recommended architecture for all new single-strategy deployments. For multi-strategy allocation, see [OAV v4 (Meta Vaults)](/documentation/oavs/oav-v4).
</Info>

***

## Key Features

| Feature            | v3 Capability                             |
| ------------------ | ----------------------------------------- |
| Strategy model     | Single strategy per vault                 |
| Fee types          | Deposit, performance, and management fees |
| Compounding        | **Automatic** via offramping pipeline     |
| Incentive handling | Claim → Swap → Reinvest (on-chain)        |
| ERC-4626           | Compliant                                 |

<CardGroup cols={2}>
  <Card title="Auto-compounding" icon="arrows-rotate">
    Incentive tokens automatically converted to deposit asset and reinvested
  </Card>

  <Card title="Full fee support" icon="percent">
    Deposit, performance, and management fees — all on-chain
  </Card>

  <Card title="Clean yield" icon="broom">
    Users receive pure yield in their deposit token — no manual claiming or swapping
  </Card>

  <Card title="Non-custodial execution" icon="link">
    All offramping logic runs on-chain with no custody requirement
  </Card>
</CardGroup>

***

## Automatic Offramping

The `offrampIncentives()` function automates the multi-step reward reinvestment process:

<Steps>
  <Step title="Harvest">
    Vault claims all incentive tokens from the underlying strategy
  </Step>

  <Step title="Swap">
    Incentives are swapped to the vault's underlying token via whitelisted routes
  </Step>

  <Step title="Validate">
    Slippage is validated against `maxSlippageBps` configuration
  </Step>

  <Step title="Reinvest">
    Proceeds are deposited back into the strategy, increasing vault asset balance
  </Step>
</Steps>

<Tip>
  The offramping function can be triggered automatically during user interactions (deposit, redeem), enabling seamless compounding without external infrastructure.
</Tip>

***

## IncentiveOfframpRoute Configuration

Each allowed swap path is registered as an `IncentiveOfframpRoute`:

```solidity theme={null}
struct IncentiveOfframpRoute {
  address inputToken;
  address outputToken;
  address router;
  bytes functionCallData;
  uint256 maxSlippageBps;
  bool active;
}
```

* Routes are **whitelisted by vault admin** and referenced by route ID
* Swaps execute deterministically with on-chain slippage enforcement
* No off-chain signing or custodial control required

***

## Offramping Options

<Tabs>
  <Tab title="Automatic (Recommended)">
    **Fully on-chain, non-custodial**

    The `offrampIncentives()` function executes entirely within the vault contract:

    * Triggered during user actions or by harvester role
    * Uses predefined `IncentiveOfframpRoute` configurations
    * All tokens remain under vault control from harvest through reinvestment
  </Tab>

  <Tab title="Manual (Multi-sig)">
    **For custom control or compliance requirements**

    <Steps>
      <Step title="Claim rewards">
        ADMIN\_ROLE executes `claimAdditionalRewards()` — tokens transfer to designated wallet
      </Step>

      <Step title="Swap via DEX">
        Incentive tokens swapped to underlying (e.g., MORPHO → USDC via Aerodrome)
      </Step>

      <Step title="Deposit into strategy">
        Underlying deposited into strategy, receiving yield-bearing receipt token
      </Step>

      <Step title="Transfer to vault">
        Receipt tokens transferred to vault, increasing total assets without minting new shares
      </Step>
    </Steps>

    Each step requires multi-sig approval (e.g., Safe with Fireblocks signer).
  </Tab>
</Tabs>

***

## Fee Model

Fees are configured per vault and enforced on-chain:

| Fee Type            | Mechanism                                           | Timing     |
| ------------------- | --------------------------------------------------- | ---------- |
| **Deposit fee**     | Deducted at entry as shares minted to fee recipient | On deposit |
| **Performance fee** | Calculated on realized profits since last harvest   | At harvest |
| **Management fee**  | Accrued continuously based on AUM and elapsed time  | At harvest |

All fees are applied by **minting new vault shares** to the configured `feeRecipient`, ensuring fees are collected via proportional dilution without pulling underlying assets out of the vault.

<Info>
  The `computedRewardRate` field in API responses reflects net APY after performance fees, providing transparent yield expectations.
</Info>

***

## Security

* Transactions only use **whitelisted IncentiveOfframpRoute** definitions
* Offramping logic is access-controlled and can be paused per vault
* On-chain execution with no external custody reduces operational risk
* All routes subject to `maxSlippageBps` validation
* Funds are strictly limited to the whitelisted strategy

***

## Integration

OAV v3 vaults are integrated via the standard Yield.xyz API:

```bash theme={null}
# Discover OAV v3 yields
GET https://api.yield.xyz/v1/yields?type=vault

# Enter position
POST https://api.yield.xyz/v1/actions/enter
{
  "yieldId": "ethereum-usdc-morpho-oav",
  "address": "0x...",
  "arguments": { "amount": "1000000000" }
}
```

Or integrate directly with the deployed ERC-4626 contracts using `deposit()`, `withdraw()`, and `redeem()`.

***

## Next Steps

<CardGroup cols={2}>
  <Card title="OAV Overview" icon="vault" href="/documentation/oavs/overview">
    Introduction, off-the-shelf OAVs, and API endpoints
  </Card>

  <Card title="OAV v4 (Meta Vaults)" icon="layer-group" href="/documentation/oavs/oav-v4">
    Multi-strategy allocation and dynamic rebalancing
  </Card>

  <Card title="Fees" icon="percent" href="/documentation/core-concepts/fees">
    Fee configuration details
  </Card>

  <Card title="DeFiKit" icon="chart-line" href="/documentation/kits/defikit">
    Full DeFi integration guide
  </Card>
</CardGroup>
