Earn is in private beta. Contact us
to enable it for your organization.
What is Earn
Earn connects Turnkey wallets to ERC-4626 yield vaults. Morpho vaults are supported today; Aave is coming. Users don’t deposit into the raw vault directly. Instead, they deposit into a fee wrapper: a vault contract we deploy once per vault for your organization. The wrapper forwards deposits to the underlying vault and takes the performance fees out of its share price, so users never submit separate fee transactions. Deploying a wrapper is a one-time setup step per vault. After that, deposits, withdrawals, and position queries are each a single API call.How it works
- Query
earn_vaultsfor the vaults available for an asset, with live TVL and APY. - Run
earn_deploy_wrapperonce per vault to enable it for your organization and set your fee. Turnkey pays the deployment gas. - Call
earn_depositto move assets from a user’s wallet into the vault. - Poll the matching status endpoint until the transaction confirms. Deposits, withdrawals, and deployments all confirm asynchronously.
- Query
earn_positionsfor a wallet’s current value and lifetime totals. - Call
earn_withdrawfor a partial amount, the yield only, or the full position.
Supported protocols and chains
Earn is EVM-only in V1. The vault catalog only includes vaults with at least $100k TVL.
Fees
Earn fees are performance fees: a percentage of the yield a position earns. Principal is never charged. Two fees apply, both in basis points of gross yield:- Your fee: you set it per wrapper at deploy time (
clientFeeBps), along with the payout wallet (clientFeeWallet, a wallet account owned by your organization). Payouts accrue on-chain to that wallet. - Turnkey’s fee: resolved automatically when you deploy. The default is 10% of yield (1,000 bps); enterprise customers can have custom rates.
grossApy × (1 - totalFeeBps / 10000). The earn_enabled_vaults endpoint returns gross APY, net APY, and both fee rates for every wrapper you’ve deployed.
API surface
Earn adds three activities:
and six queries:
Earn requests are stamped and submitted like any other Turnkey request. See
Stamps and
Submissions. There are no
Earn-specific SDK methods during the beta, so the examples on these pages
use cURL and the generic
request method of
@turnkey/http’s
TurnkeyClient.Explore
Browse the vault catalog
Discover vaults and check your enabled wrappers.
Deploy a vault wrapper
Enable a vault and set your fee.
Deposit into a vault
One transaction, optionally gas-sponsored.
Withdraw from a vault
Partial, yield-only, or full exit.
Track positions
Current value, lifetime totals, and yield.
End-to-end example
Deploy, deposit, and withdraw USDC on Base.