Wallet Actions

Deposit assets into an ERC-4626 vault.

post/v1/wallets/{wallet_id}/earn/ethereum/deposit

Request

  • Base URL
    https://api.privy.io
  • URL
    https://api.privy.io/v1/wallets/{wallet_id}/earn/ethereum/deposit
  • Auth
    HTTP basic

Path parameters

wallet_idstring required

ID of the wallet.

Headers

privy-app-idstring required

ID of your Privy app.

privy-authorization-signaturestring

Request authorization signature. If multiple signatures are required, they should be comma separated.

privy-request-expirystring

Request expiry. Value is a Unix timestamp in milliseconds representing the deadline by which the request must be processed.

privy-idempotency-keystring

Idempotency keys ensure API requests are executed only once within a 24-hour window.

Request body

noncestring

Unique caller-generated nonce used to prevent replaying a signed wallet action request. Must be at least 24 characters (e.g. a cuid2 or UUID).

vault_idstring required

The ID of the vault to deposit into.

amountstring

Human-readable decimal amount to deposit (e.g. "1.5" for 1.5 USDC). Exactly one of amount or raw_amount must be provided.

raw_amountstring

Amount in smallest unit to deposit (e.g. "1500000" for 1.5 USDC with 6 decimals). Exactly one of amount or raw_amount must be provided.

reference_idstring

Developer-provided identifier for this request. Must be unique per app.

Example request

{
  "vault_id": "cm7oxq1el000e11o8iwp7d0d0",
  "amount": "1.5"
}

Response

Earn deposit initiated successfully.

idstring required

The ID of the wallet action.

status'pending' | 'succeeded' | 'rejected' | 'failed' required

The current status of the wallet action.

wallet_idstring required

The ID of the wallet involved in the action.

created_atstring date-time required

ISO 8601 timestamp of when the wallet action was created.

reference_idstring nullable

Developer-provided reference ID, if one was included in the request.

type'earn_deposit' required
caip2string required

CAIP-2 chain identifier.

vault_idstring required

The vault ID.

vault_addressstring required

ERC-4626 vault contract address.

assetstring

Asset identifier (e.g. "usdc", "eth"). Only present when the token is known in the asset registry.

asset_addressstring required

Underlying asset token address.

decimalsinteger

Number of decimals for the underlying asset (e.g. 6 for USDC, 18 for ETH). Only present when the token is known in the asset registry.

amountstring

Human-readable decimal amount of asset deposited (e.g. "1.5"). Only present when the token is known in the asset registry.

raw_amountstring required

Base-unit amount of asset deposited (e.g. "1500000").

share_amountstring nullable required

Vault shares received in base units. Populated after on-chain confirmation.

Example response

{
  "steps": [
    {
      "gas_credits_charged": {
        "value": "100.00",
        "currency": "usd"
      }
    }
  ]
}

Changes

    • breaking

      the response property /// became nullable for the status

    • breaking

      the response property /// became nullable for the status

    • breaking

      the response property /// became nullable for the status

    • breaking

      the response property /// became nullable for the status

    • info

      added the optional property /// to the response with the status

    • info

      added the optional property /// to the response with the status

    • info

      added the optional property /// to the response with the status

    • info

      added the optional property /// to the response with the status

    • info

      response property steps/items/oneOf[subschema #1: EVMTransactionWalletActionStep]/gas_credits_charged_usd deprecated

    • info

      response property steps/items/oneOf[subschema #2: EVMUserOperationWalletActionStep]/gas_credits_charged_usd deprecated

    • info

      response property steps/items/oneOf[subschema #3: SVMTransactionWalletActionStep]/gas_credits_charged_usd deprecated

    • info

      response property steps/items/oneOf[subschema #4: TVMTransactionWalletActionStep]/gas_credits_charged_usd deprecated

    • info

      added the optional property /// to the response with the status