# Earn

Earn interest on idle stablecoins in a workspace's accounts

Earn puts an account's idle stablecoins to work in a yield source. Positions have no lockup, can be withdrawn at any time with no queue, compound automatically (there is nothing to claim), and can be spent directly when sending funds. Splits charges a [performance fee](#fees) on the yield a position earns; **there is no fee on deposits, withdrawals, or principal**.

Deposits are manual (per account, for a chosen amount) or automatic via [Automated Earn](#automated-earn).

## The current offering

Today Earn supports USDC on Base, deposited into [Morpho](https://morpho.org/) through a vault curated by [Steakhouse Financial](https://www.steakhouse.financial/). More assets and yield sources are planned; email support with requests.

For yield on ETH today, swap into Lido's wstETH, available on Ethereum Mainnet and [most L2s](https://lido.fi/lido-multichain); it accrues value as Lido's validators earn staking rewards.

## How it works

Deposits flow into **Splits Earn USDC** ([`0x189A…3C8F`](https://basescan.org/address/0x189A1a23F46321a196646314E6a078a404513C8F)), a [Morpho Vault V2](https://docs.morpho.org/learn/concepts/vault-v2) that Splits operates as a [fee wrapper](https://docs.morpho.org/developers/earn/concepts/fee-wrapper). The wrapper holds a single position: [Steakhouse Prime USDC](https://app.morpho.org/base/vault/0xbeef0e0834849aCC03f0089F01f4F1Eeb06873C9/steakhouse-prime-usdc), a Morpho vault on Base that lends USDC into Morpho markets chosen by its curator, Steakhouse Financial. The account holds **vault shares** (`splitsUSDC`) representing its portion of the pooled USDC:

* **Auto-compounding yield**: interest accrues to the share price, so the position grows without a claim step.
* **One token to track**: each ERC-4626 share maps to a clear amount of USDC; no rebasing tokens.

The APY shown in the app is the wrapper's net APY, after the Splits fee.

### Fees

Splits charges a **20% performance fee** on the yield the vault earns and **no management fee**. The fee is taken inside the vault: as interest accrues, the wrapper issues shares worth 20% of the new yield to Splits' fee account, and the remaining 80% raises the share price for every depositor. Changing the fee or its recipient is an onchain action with a 3-day timelock.

## Automated Earn

Automated Earn is a per-account toggle that deposits idle balances automatically. Enabling it triggers a check immediately; after that, a check runs every 5 minutes. Each check deposits whenever the account's USDC balance exceeds $1.

Enabling it adds the [Auto Earn Module](/docs/accounts/modules) (an open-source [contract](https://github.com/0xSplits/splits-contracts-monorepo/blob/main/packages/smart-vault-modules/src/AutoEarnModule.sol) [deployed on Base](https://basescan.org/address/0x4A5aCfc49597D1D326221cd159d42817918B9F5f)) to the account, authorizing it to move deposits into the vault.

## Legacy positions

Before Morpho, Earn deposited into an [Aave](https://aave.com/) USDC vault on Base ([`0x4EA7…caCc`](https://basescan.org/address/0x4EA71A20e655794051D1eE8b6e4A3269B13ccaCc)). Those positions are labelled *Legacy* in the app and are **withdraw-only**: they keep earning Aave's rate, but accept no new deposits, manual or automated.

To move them, open the Treasury (or any account holding a legacy position) and choose *Upgrade to Earn 2.0*. This builds one transaction from the Treasury that, for every account in the workspace:

1. Withdraws the account's USDC from the Aave vault and deposits it into Splits Earn USDC.
2. Replaces the legacy Auto Earn Module with the current one, if Automated Earn was enabled.

The transaction is approved by the Treasury's signers at its threshold; nothing moves until then. Automated Earn cannot be re-enabled on an account still running the legacy module until the upgrade runs. The Root is not included in the upgrade; withdraw its legacy position manually.

## Risks

Earn is built on overcollateralized lending: borrowers post collateral worth more than the USDC they borrow, and depositors earn the interest borrowers pay. The following risks apply to all overcollateralized lending protocols.

* **Bad debt**: a loan can be liquidated once its loan-to-value (LTV) ratio passes its market's limit, currently 86% or lower in every market Steakhouse Prime USDC lends into. For example, in a market with an 86% limit, someone who borrows 86 USDC can have their collateral liquidated once its value drops below $100. If collateral loses value faster than liquidators clear loans, the market's lenders, including Earn, absorb the shortfall. Steakhouse Prime USDC currently lends only against bitcoin and ETH (including ETH staking tokens). Each vault's current markets are listed on Morpho: [Base](https://app.morpho.org/base/vault/0xbeef0e0834849aCC03f0089F01f4F1Eeb06873C9/steakhouse-prime-usdc), [Ethereum Mainnet](https://app.morpho.org/ethereum/vault/0xbeef088055857739C12CD3765F20b7679Def0f51/steakhouse-prime-usdc).
* **Smart contracts**: a bug in Morpho's markets, the Steakhouse vault, or the Splits wrapper could freeze or lose deposits. Morpho's markets cannot be upgraded by anyone, including Morpho, and have run since January 2024. The Base market that holds most of Steakhouse's USDC has lent over $1 billion against bitcoin. The Steakhouse vault and each Splits wrapper are Morpho's standard Vault V2 contract, not custom code. Vault V2 contracts have run since September 2025 and hold over $4 billion. Both contracts have been audited multiple times: [Morpho markets](https://github.com/morpho-org/morpho-blue/tree/main/audits), [Vault V2](https://github.com/morpho-org/vault-v2/tree/main/audits).
* **Curator**: Steakhouse chooses the markets, collateral, and limits the vault lends into. Adding a market or raising a limit has a 7-day onchain timelock.
* **Splits' control of the wrapper**: Splits administers each wrapper from a multisig account. Splits cannot send deposits anywhere except the Steakhouse vault: it permanently removed the ability to add any other destination onchain.
* **Withdrawal liquidity**: withdrawals draw on USDC that is not lent out. When a market is nearly fully lent, its borrowing rate rises, which pulls in repayments and new deposits, and Steakhouse can move funds between markets. Until then, a withdrawal larger than the available USDC fails. There is no lockup or withdrawal queue.
* **Variable rates**: the APY follows demand, and the app shows the current net APY.

Splits checks each wrapper's owner and fee settings, and each Steakhouse vault's fee settings, every hour and is alerted to any change.

## Accounting and taxes

Using Earn does not require you to manually account for vault shares or calculate the yield yourself. [Accounting](/docs/accounting) treats a deposit as a swap of USDC into vault shares and a withdrawal as a swap back. Vault shares are tracked as their own tax lots, and yield is realized as gain on the shares when you withdraw.

Deposits and withdrawals remain in the transaction history and CSV exports. The displayed yield is net of the performance fee.
