Wallet Actions

Earn fee collect

Changed on

Collect accumulated fees from an Aave vault. Only the vault admin wallet can collect fees. Morpho vaults are not supported (use the standard withdraw endpoint instead).

post/v1/wallets/{wallet_id}/earn/ethereum/fees/collect

Request

  • Base URL
    https://api.privy.io
  • URL
    https://api.privy.io/v1/wallets/{wallet_id}/earn/ethereum/fees/collect
  • 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 collect fees from.

reference_idstring

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

Example request

{
  "vault_id": "cm7oxq1el000e11o8iwp7d0d0"
}

Response

Earn fee collect 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_fee_collect' 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 nullable

Human-readable decimal amount of fees collected (e.g. "1.5"). Omitted when the token is not in the asset registry. Null while the action is pending; populated after on-chain confirmation.

raw_amountstring nullable required

Base-unit amount of fees collected (e.g. "1500000"). 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