View the full API reference for the deposit endpoint.
Deposit flow
- Privy approves the vault to spend the specified amount of the wallet’s ERC-20 tokens.
- The vault converts the deposited assets into vault shares at the current share price.
- Shares are split between the depositing wallet and your app’s admin wallet based on the fee percentage configured during setup.
- The deposit is created as a wallet action with status
pending. Privy prepares, signs, and broadcasts the transaction asynchronously. The status moves tosucceededonce confirmed onchain.
share_amount in the response is null while the action is pending. Once the action succeeds, it reflects the number of shares minted to the depositing wallet. To see the admin wallet’s fee shares, query the admin wallet’s position.
Usage
- Node SDK
- REST API
Use the The method returns an
deposit convenience method on the earn ethereum service to deposit assets into a vault.EarnDepositActionResponse with the pending wallet action. Poll the status with get wallet action, or listen for the wallet_action.earn_deposit.succeeded webhook.A
rejected status means the action failed before any transaction was signed or broadcast — for
example, due to insufficient balance or a policy violation. Your app can safely retry the request.
A failed status means a transaction was broadcast but reverted onchain. Inspect the action’s
steps for details.Next steps
Withdraw assets
Withdraw deposited assets with accrued yield.

