Skip to main content
Earn lets wallets in your organization deposit into DeFi yield vaults, query position data to track their positions, and withdraw, all through Turnkey activities with the corresponding audit trail and policy controls. You can take your own fee on the yield your users earn, paid onchain to a wallet you control.
Earn is currently an Early Access Product. Contact us to enable it for your organization.

What is Earn

Earn connects Turnkey wallets to ERC-4626 yield vaults. The vaults are deployed and operated by independent third-party protocols; Turnkey provides the API infrastructure to interact with them but does not operate, manage, or guarantee them. Morpho vaults are supported today and Aave support is coming soon. Users don’t deposit into vaults directly. They deposit into a fee wrapper, a smart contract that holds the position in the underlying vault. A vault may be enabled via either the dashboard or the API. Once you enable a vault, a wrapper is automatically deployed with your fee parameters. The wrapper collects fees as yield accrues. Fees come out of yield only, never principal, and users never sign a separate fee transaction. A wrapper is deployed once per vault and fee configuration. After that, deposits, withdrawals, and position queries are each a single API call.
If your application presents Earn functionality to end users, you should clearly disclose that: (1) yield is generated by independent third-party DeFi protocols and do not claim or imply that yield is generated by your application or by Turnkey; (2) deposited assets are subject to risks including smart-contract risk, liquidity risk, and potential loss of principal; (3) yield is variable and not guaranteed; and (4) the user is directing the deposit action and retaining control of their assets. Depending on your jurisdiction and the nature of the assets involved, additional regulatory disclosures may apply.
Vault deposits interact with smart contracts deployed on public blockchains. Deposited assets are subject to smart-contract risk, including the possibility of bugs, exploits, or protocol governance changes that could result in partial or total loss of deposited funds. Turnkey does not audit or guarantee the security of any third-party vault contract.

How it works

  1. Query list_earn_vaults for the vaults available for an asset, with live TVL and APY.
  2. Run earn_deploy_wrapper once per vault to enable it for your organization and set your fee. Turnkey pays the deployment gas.
  3. Call earn_deposit to initiate a transfer of assets from a wallet into the vault.
  4. Poll the matching status endpoint until the transaction confirms. Deposits, withdrawals, and deployments all confirm asynchronously.
  5. Query list_earn_positions for a wallet’s current value and lifetime totals.
  6. Call earn_withdraw for a partial amount 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 charged only on yield: a percentage of the yield a position earns. Principal is never charged. Two fees apply, both in basis points of gross yield:
  • Your fee (the “Client Fee”): you set it per wrapper at deploy time (clientFeeBps), along with the payout wallet (clientFeeWallet, a wallet account owned by your organization). Fees accrue onchain and are released to that wallet when you claim them.
  • Turnkey’s fee (The “Turnkey fee”): resolved automatically when you deploy. The Turnkey Fee is up to 10% of yield (1,000 bps).
Client fees are capped at 4,000 bps (40% of yield). Deployments above this cap are rejected. Both Client fees and Turnkey’s fee are taken from yield as wrapper shares minted to a payment splitter contract deployed alongside the wrapper, which splits them onchain between you and Turnkey. The net yield your users earn is grossApy × (1 - totalFeeBps / 10000). The list_earn_enabled_vaults endpoint returns gross APY, net APY, and your fee rate for every wrapper you’ve deployed, along with claimableClientFee: the fee amount accrued to your organization that is actively claimable. Claim it onchain with the claim_earn_fees activity; the claimed amount is paid out to your fee wallet.
The fee configuration is fixed per wrapper. To change your fee, deploy a new wrapper for the same vault. Existing positions in the old wrapper remain fully withdrawable, and new deposits go to the new wrapper. See Deploy a vault wrapper.
Important: The Client Fee and the Turnkey Fee are infrastructure fees charged on yield generated by third-party vault protocols. Neither fee constitutes a fee for investment advice, asset management, or discretionary portfolio allocation. Turnkey does not exercise discretion over how vault assets are deployed, allocated, or managed. All allocation decisions are made by the vault’s curator or governing protocol.

API surface

Earn adds five activities: and seven queries:
Earn requests are stamped and submitted like any other Turnkey request. See Stamps and Submissions. Full request/response schemas and cURL examples live in the API reference pages linked above.

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 or full exit.

Track positions

— Current value, lifetime totals, and yield.

End-to-end example

— Deploy, deposit, and withdraw USDC on Base.
Important: Turnkey does not operate, control, or audit the DeFi vaults or underlying protocols accessible through the Earn feature. Vault data, including APY and TVL figures, is sourced from third-party providers and may be inaccurate, delayed, or subject to change without notice. Yield is generated by independent third-party protocols, not by Turnkey. Yield is variable, not guaranteed, and past rates are not indicative of future performance. Depositing into DeFi vaults involves risk, including the potential loss of deposited assets due to smart-contract vulnerabilities, market conditions, liquidity constraints, or protocol failures. These materials are provided for informational and technical integration purposes only. Nothing in this documentation constitutes investment, financial, legal, or tax advice, or a recommendation or solicitation to engage in any particular transaction. You and your end users are solely responsible for evaluating the suitability and risks of any vault.