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

# Earning Yield

> Compare live yield markets and use Otto's registry-bound Base USDC deposit rail from Mission Control.

### Key Capabilities

1. **Deposit & Earn:**
   Otto's discovery service compares eligible lending and staking markets across its active protocol adapters and ranks them by net APY.

   From `/app` Mission Control, the **Featured Yield** card shows live stablecoin discovery rows. Its deposit control is available only when the current top row exactly matches one of three server-registry markets: Aave V3 Base USDC, Morpho Gauntlet USDC Prime on Base, or Morpho Steakhouse Prime USDC on Base.

2. **AI-Powered Vault Selection:**
   Active discovery reads Aave, curated Morpho vaults, Syrup (Maple), and Lido. Compound's adapter is currently dormant. Markets are ranked by net APY; rows with reported TVL below \$1 million or APY above 50% are filtered out as data-quality checks.

   The DApp does not accept an arbitrary protocol or vault address for execution.

3. **Withdraw Anytime:**
   The registry-bound server rail supports deposits and withdrawals for its exact Aave and Morpho markets. The current Featured Yield card exposes deposits only; it does not yet expose a withdrawal control.

### Supported Protocols

| Protocol          | Discovery coverage                                     | DApp execution                                                             |
| ----------------- | ------------------------------------------------------ | -------------------------------------------------------------------------- |
| **Aave V3**       | Ethereum, Base, Arbitrum, Polygon, Optimism, Avalanche | Pinned Aave V3 Base USDC market                                            |
| **Morpho**        | Ethereum, Base, Arbitrum, Polygon                      | Two pinned Base USDC vaults: Gauntlet USDC Prime and Steakhouse Prime USDC |
| **Syrup (Maple)** | Ethereum stablecoin discovery                          | Discovery-only                                                             |
| **Lido**          | Ethereum ETH-staking discovery                         | Not included in the stablecoin Featured Yield feed; no DApp execution      |
| **Compound V3**   | Adapter is dormant                                     | No DApp execution                                                          |

### Supported Tokens

Discovery admits configured stablecoins plus ETH, WETH, stETH, and wstETH. The Featured Yield feed requests stablecoin markets, and its registry-bound execution asset is USDC on Base.

### How to Use (DApp)

1. **Open `/app` Mission Control** and inspect the **Featured Yield** card. Its venue table is discovery; a row marked discovery-only cannot move funds.
2. **Check eligibility:** The deposit input activates only when the unified Otto session is `ARMED` and the current top row carries an exact executable-market ID and registry commitment.
3. **Review the target:** Confirm the displayed venue, **Base USDC** asset, APY, and amount. The table is not an arbitrary protocol, chain, or vault picker.
4. **Deploy:** Enter the amount and select **DEPLOY · UNIFIED ARM**. The server revalidates the registry identity and calldata before submitting the deposit.

<Note>
  The standalone **Yield Copilot** mini-agent page remains discovery-only. Registry-bound one-click deposits are live from the **Featured Yield** card for its current exact Aave or Morpho Base USDC row; auto-rebalance and alerts remain disabled.
</Note>

### How to Use (Agent Rails)

For the separate ACP execution rail, request the Trade Execution Agent's `earn_yield` service. The main x402 catalog does not expose a matching yield-execution endpoint.

```
Request `earn_yield`: deposit 500 USDC to the best yield vault on Base
```

Use `acp-cli` or the [ACP Web GUI](https://app.virtuals.io/acp) for that ACP job. Use [MPP](/acp-swarm/mpp) only for read-only yield discovery; it does not move principal.

### How It Works

The DApp discovery service reads protocol-native sources: the Aave client, Morpho's GraphQL API, and onchain Syrup and Lido data. DApp execution uses native Aave or Morpho calldata builders and accepts only an exact server-registry market; the legacy ACP job is a separate rail with its own provider logic.

All deposits and withdrawals go through your **Safe smart account** — agent-custodial on the live rail today (an Otto-managed key signs execution), with the user-owned [Safe7579](/introduction/safe7579-architecture) model rolling out in gated early access. Activating Safe7579 grants either named Otto runtime operator unrestricted, non-expiring authority until revocation. You receive yield-bearing tokens (like aUSDC for Aave deposits) as proof of deposit, and you can withdraw through the applicable owner or live-rail path.

<Note>
  For protocol-specific details, see the [Aave V3 guide](/using-otto-ai/lending-on-aave). The DApp shows broader discovery than it can execute: only the exact Aave and Morpho Base USDC registry rows activate the Featured Yield deposit control.
</Note>
