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

# Setting up earn

> Deploy a fee wrapper and configure your vault in the Privy Dashboard.

Your app configures earn settings from the [Privy Dashboard](https://dashboard.privy.io), under **Wallet infrastructure > Earn**. There are two ways to get a vault: deploy one yourself, or have Privy deploy one for you.

## Prerequisites

* A Privy app with [embedded wallets](/wallets/overview) configured
* API credentials (your app ID and app secret)
* A [webhook endpoint](/api-reference/webhooks/overview) registered in the Privy Dashboard (recommended)

## Deploy a vault yourself

Open the **Wallet infrastructure > Earn** page in the [Privy Dashboard](https://dashboard.privy.io) and create a Morpho or Aave vault. During setup, your app selects:

1. A Morpho vault or **Aave USDC on Base** to allocate assets into
2. The percentage of generated yield your app receives: 0–50% for Morpho or 0–100% for Aave
3. An admin wallet to claim fees and manage the vault configuration

See the [Aave guide](/wallets/actions/earn/providers/aave) for self-serve setup and fee details.

Do your own research when selecting a vault. You can find more information on the vaults supported in the Dashboard, including details on the liquidity and allocation below:

* [Sentora PathUSD (PathUSD on Tempo)](https://app.morpho.org/tempo/vault/0x9a044AE05E5e6290DcF56afd69548565e957a626/sentora-pathusd)
* [Gauntlet USDC Prime (USDC on Base)](https://app.morpho.org/base/vault/0x050cE30b927Da55177A4914EC73480238BAD56f0/gauntlet-usdc-prime)
* [Steakhouse Prime Instant (USDC on Base)](https://app.morpho.org/base/vault/0xbeef0e0834849aCC03f0089F01f4F1Eeb06873C9/steakhouse-prime-instant)

<AccordionGroup>
  <Accordion title="Using an external wallet as an admin wallet (advanced)">
    The admin wallet must sign onchain transactions to manage the vault and claim fees. Exchange
    wallets, cold storage, and other non-signing wallets do not work. Privy cannot reassign the
    admin wallet after creation.
  </Accordion>

  <Accordion title="Updating the Morpho fee wrapper configuration (advanced)">
    Privy assigns all fee wrapper roles to the admin wallet. Developers can update fee wrapper
    configurations in the future. Learn more about fee wrapper roles
    [here](https://docs.morpho.org/curate/concepts/roles/). Contact
    [sales@privy.io](mailto:sales@privy.io) to change the fee wrapper configuration.
  </Accordion>
</AccordionGroup>

<Warning title="Secure the admin wallet before production">
  Privy-generated admin wallets have no owner by default, and your app secret alone authorizes them.
  [Assign an authorization key](/controls/authorization-keys/using-owners/assign) to require a
  second factor. See the [security checklist](/security/implementation-guide/security-checklist) for
  more details.
</Warning>

## Reach out to Privy for other vaults

Contact [sales@privy.io](mailto:sales@privy.io) to enable any Aave, Veda, or Morpho vault not shown in the self-serve setup flow in the Privy Dashboard. These vaults will appear in the Dashboard. See the [Aave](/wallets/actions/earn/providers/aave) and [Veda](/wallets/actions/earn/providers/veda) integration guides for more information.

## Copy the vault ID

After setup, Privy provides a unique `vault_id` for the vault. Copy this value — all deposit and withdraw API calls require it.

To verify the vault is live, query its details with the [get vault details](/api-reference/wallets/earn/get-vault-details) endpoint:

```bash theme={"system"}
curl https://api.privy.io/api/v1/earn/ethereum/vaults/{vault_id} \
  -H "privy-app-id: <your-app-id>" \
  -H "Authorization: Basic <credentials>"
```

<Info>
  The earn API is provider- and chain-agnostic: your app passes a `vault_id` and uses the same
  endpoints for every vault. Privy namespaces EVM endpoints under `/earn/ethereum/...`, which
  applies to vaults on any supported EVM chain — not just Ethereum mainnet. Privy routes each
  request to the vault's configured chain.
</Info>

## Next steps

<Card title="Deposit funds" icon="arrow-down-to-bracket" href="/wallets/actions/earn/deposit" arrow>
  Deposit assets from a wallet into a yield vault.
</Card>

<Card title="Automate deposits" icon="chart-line" href="/wallets/automations/earn-deposits" arrow>
  Deposit a wallet's balance into a vault when matching funds arrive.
</Card>

<Warning title="Disclaimer">
  Privy does not control DeFi vaults or underlying protocols. Vault information is provided for
  reference only and may change or be inaccurate. Earnings are generated from third-party vaults and
  are not guaranteed. Using vaults involves risk, including loss of funds. These materials are for
  general information purposes only and are not investment advice or a recommendation or
  solicitation to engage in any specific transaction. You are responsible for evaluating vaults at
  your own discretion. Privy does not provide investment, financial, legal, or tax advice.
</Warning>


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