<!-- tempo-docs-context -->
> Source: [/docs/earn/vaults](https://tempo.xyz/developers/docs/earn/vaults.md)
> Section: [Earn](https://tempo.xyz/developers/docs/earn.md). Choose a vault, deposit stablecoins, read positions, and withdraw. Earn is in beta; see the introduction for access.
> [Documentation index](https://tempo.xyz/developers/llms.txt) · [Docs skill](https://tempo.xyz/developers/SKILL.md)

> Tempo MCP: Use `search`, `find_pages`, `read_page`, and `code` at `https://mcp.tempo.xyz` for Tempo and related documentation.
> If an indexed page is missing or reflects an older site, read this site’s [documentation index](https://tempo.xyz/developers/llms.txt) and Markdown pages directly.

<span id="choose-a-vault" />

# Vaults

Choose a vault that accepts the stablecoin your customers hold and supports the access and withdrawal requirements of your product.

<span id="available-vaults" />

## Find a vault

Start with the [verified vault directory](https://tempo.xyz/developers/docs/api/earn#getverifiedearnvaults). Check each vault's accepted asset, strategy, access restrictions, fees, and withdrawal capabilities. The directory's `verified` flag identifies a curated listing; it does not describe the strategy's risk or guarantee a return.

<span id="inspect-the-selected-vault" />

### Inspect a vault

The demo loads verified vaults from Moderato testnet and selects the deposit demo’s pathUSD vault when available. Choose another vault or network to inspect its current configuration. All values come from live Tempo API responses.

In the interactive web page, inspect the automatically loaded verified Earn vault directory, starting with the testnet demo vault when available, or select another network and vault to inspect its asset, access rules, deposit status, withdrawal capabilities, and available liquidity. The demo makes read-only requests to Tempo API and starts on Moderato testnet. See the [verified vault API reference](https://tempo.xyz/developers/docs/api/earn#getverifiedearnvaults) for the request and response fields.

Save the selected vault's `id` (its contract address) and network together. The directory uses public read access; the [verified vault API reference](https://tempo.xyz/developers/docs/api/earn#getverifiedearnvaults) includes request fields, code samples, and authenticated access.

<span id="where-yield-comes-from" />

## How vaults generate returns

An engine is the contract that connects an Earn vault to its underlying strategy.

| Source | How it connects to Earn |
| --- | --- |
| **Lending** | An engine deposits into an underlying lending vault. |
| **Managed strategies** | An engine connects to a provider-managed vault that allocates funds across its strategy. |
| **Tokenized assets** | An engine accesses an asset, such as tokenized treasuries or private credit, through a supported liquidity pool. |

## Eligibility and risk

Before enabling a deposit, check the accepted asset, the account's eligibility, `state.depositsPaused`, and the operations listed in `capabilities`. Use the deployed vault’s supported operations through [Viem’s Earn actions](https://tempo.xyz/developers/docs/earn/integrate). The Earn read API does not submit deposits or withdrawals.

## Liquidity and fees

Check withdrawal support before the first deposit. `capabilities.redeem` and `capabilities.asyncRedeem` distinguish immediate and queued redemption support. `instantLiquidity` describes vault-wide liquidity, not a user-specific quote; `null` means a reliable value is unavailable.

Read the provider's deposit, management, and withdrawal fees before presenting a rate. An observed APY describes a measurement window; it is not a promised return.

Continue with [Deposit](https://tempo.xyz/developers/docs/earn/integrate). See [Withdraw](https://tempo.xyz/developers/docs/earn/withdraw) for the exit flow your application needs to support.
