
Secure stablecoin yield: our journey to Earn 2.0
We launched Earn back in February 2025, with the goal of giving our customers easy access to earning interest on their stablecoins, right from within our app. We wanted to keep it as simple and secure as possible, so we went with the largest lender, Aave.
In July 2026, we decided it was time to start generating revenue from our product, and sharing in the interest from Earn felt like the most aligned path. Because deposits sit in our customers’ own self-custodied accounts, taking a fee required deploying a new contract and helping each team migrate their funds to it. We took the opportunity to explore the current stablecoin yield offerings and decide what made the most sense.
What we kept from Earn 1.0
We wanted Earn 2.0 to continue to work like savings, not an investment: stable principal, and there when you need it. Overcollateralized onchain lending is what we had used for the original Earn product, and it was still the simplest option for the safest yield. Borrowers post collateral worth more than what they borrow, and lenders earn the interest.
Another important feature of our Earn product is that customers can spend directly from it. The withdrawal and the subsequent swap, bridge, or send happen in a single transaction. Many yield products queue withdrawals for hours or days, so this requirement ruled them out.

We also wanted smart contracts that had been battle-tested. Lending contracts earn trust the longer they have run and the more money that has moved through them. No amount of audits can beat time in production and volume.
Earning a fee
Most large lending protocols don’t pay the apps that bring them deposits. If we wanted to earn a fee, we had to take it at our own layer. We looked at four ways to do that:
- Curate our own vault: Choosing markets, managing their risk, and incident response are all dedicated work. It did not make sense for us to take on that much complexity at this stage.
- Hire a curator to run a private vault: Not worth the cost at our scale.
- White-label yield infrastructure: A new provider to integrate with. We did not find one that paid more than public lending vaults, at a level of risk and complexity we were comfortable with.
- Wrap an existing vault: A curator we trust manages the lending, and a simple wrapper contract on top takes a fee.
We chose the wrapper, using Morpho’s standard wrapper contract, and configured it with a 20% performance fee on interest earned (not on principal balance). The Morpho vault was earning a higher gross APY than the old Aave vault, so after our fee, customers’ net APY stayed in line with what they were receiving before.
Where the yield comes from
Underneath our wrapper is Steakhouse’s Prime USDC vault. As of September 2026, Steakhouse is one of the largest curators on Morpho, and this vault holds over $400 million. It lends only against bitcoin and ETH, and charges no fee of its own.
97% of the vault lends into one market: USDC loans against bitcoin. Coinbase’s bitcoin-backed loans run on the same market. Borrowers have posted over $3 billion of bitcoin against $1.5 billion of loans, and any loan that reaches 86% of its collateral’s value is liquidated.
That collateral protects deposits. Lenders lose money only if bitcoin’s price falls faster than liquidations can keep up. Every overcollateralized lending market carries this risk, including the Aave market behind Earn 1.0. Our docs cover the risks in full.
Security and immutability
We set up the wrapper contract so that almost nothing about it can change. No one, including us, can send deposits anywhere except the Steakhouse Prime USDC vault. We gave up that ability permanently. The fee can change, but only after a 72-hour waiting period, which leaves time to detect, notify users, and withdraw if desired. The few settings that remain available on the contract cannot send funds anywhere else.
The tradeoff is that we can’t move Earn deposits to a new vault for you. We don’t have access to customer funds, so every team has to approve a transfer. We accepted that tradeoff because, in our view, stolen keys are a bigger security risk than bugs in contracts with meaningful production use. Even if someone stole the keys that administer our wrapper, they could not take deposits.
Every setting on both vaults is onchain and public. We check both every hour and get an alert if anything changes.
What’s next
Earn 2.0 is coming to Ethereum Mainnet, and we’re adding USDT alongside USDC. We’re also exploring higher-yield strategies, which may mean riskier markets or less liquidity. If you or your team is interested in any of this, let us know.