---
title: "List wallet actions"
method: GET
path: "/v1/wallets/{wallet_id}/actions"
tags: ["Wallet Actions"]
---

# List wallet actions

`GET /v1/wallets/{wallet_id}/actions`

List all wallet actions for a wallet, with optional filtering by type and status. Supports cursor-based pagination.

## Path parameters

- `wallet_id` string, required — ID of the wallet.

## Query parameters

- `cursor` string
- `limit` number, nullable
- `type` 'swap' | 'transfer' | 'earn_deposit' | 'earn_withdraw' | 'earn_incentive_claim' | 'earn_fee_collect' — Type of wallet action

## Headers

- `privy-app-id` string, required — ID of your Privy app.
- `privy-authorization-signature` string — Request authorization signature. If multiple signatures are required, they should be comma separated.

## Response `200`

Paginated list of wallet actions.

- ListWalletActionsResponse — Paginated list of wallet actions.
  - `data` WalletActionResponse[], required
    - union — Response for a wallet action, discriminated on type.
      - object — Response for a swap action.
        - `caip2` string, required — CAIP-2 chain identifier for the swap.
        - `created_at` string, date-time, required — ISO 8601 timestamp of when the wallet action was created.
        - `destination_address` string — Recipient address on the destination chain. Present for cross-chain swaps. May differ from the source wallet address when swapping between chain types (e.g. EVM to Solana).
        - `destination_caip2` string — Destination chain CAIP-2 identifier. Present for cross-chain swaps.
        - `estimated_fees` FeeLineItem[], nullable — Estimated fee breakdown from the provider quote. Only present for cross-chain swaps. Populated after on-chain confirmation.
          - union — An individual fee assessed on a transfer.
            - object — Estimated fee paid to the relayer.
              - …
            - object — Estimated fee paid to Privy.
              - …
            - object — Estimated fee paid to the developer.
              - …
        - `estimated_gas` Gas — Gas cost for a blockchain action. Includes both raw base-unit amount and a human-readable decimal string, plus the gas token symbol.
          - `amount` string, required — Gas cost in the gas token as a human-readable decimal string (e.g. "0.0001").
          - `base_amount` string, required — Gas cost in the gas token's base units (e.g. wei).
          - `gas_asset` string, required — Gas token symbol (e.g. "ETH", "USDC").
        - `failure_reason` object — Top-level failure context for the wallet action. Present on rejected or failed actions when available.
          - `details` unknown
          - `message` string, required — Human-readable failure message.
        - `fees` FeeLineItem[], nullable — Actual fees paid for the swap. Populated after on-chain confirmation. Only present for cross-chain swaps.
          - union — An individual fee assessed on a transfer.
            - object — Estimated fee paid to the relayer.
              - …
            - object — Estimated fee paid to Privy.
              - …
            - object — Estimated fee paid to the developer.
              - …
        - `gas` Gas — Gas cost for a blockchain action. Includes both raw base-unit amount and a human-readable decimal string, plus the gas token symbol.
          - `amount` string, required — Gas cost in the gas token as a human-readable decimal string (e.g. "0.0001").
          - `base_amount` string, required — Gas cost in the gas token's base units (e.g. wei).
          - `gas_asset` string, required — Gas token symbol (e.g. "ETH", "USDC").
        - `id` string, required — The ID of the wallet action.
        - `input_amount` string, nullable, required — Exact base-unit amount of input token. Populated after on-chain confirmation.
        - `input_token` string, required — Token address or "native" for the token being sold.
        - `output_amount` string, nullable, required — Exact base-unit amount of output token. Populated after on-chain confirmation.
        - `output_token` string, required — Token address or "native" for the token being bought.
        - `status` 'pending' | 'succeeded' | 'rejected' | 'failed', required — The current status of the wallet action.
        - `steps` WalletActionStep[] — The steps of the wallet action. Only returned if `?include=steps` is provided.
          - union — A step within a wallet action, representing a single onchain action.
            - object — A wallet action step consisting of an EVM transaction.
              - …
            - object — A wallet action step consisting of an EVM user operation.
              - …
            - object — A wallet action step consisting of an SVM (Solana) transaction.
              - …
            - object — A wallet action step consisting of a TVM (Tron) transaction.
              - …
            - object — A wallet action step representing a cross-chain/cross-asset fill by an external provider.
              - …
            - object — A wallet action step representing a transaction executed by a custodian (e.g. Bridge).
              - …
        - `type` 'swap', required
        - `wallet_id` string, required — The ID of the wallet involved in the action.
      - object — Response for a transfer action.
        - `amount_type` 'exact_input' | 'exact_output' — Whether the amount refers to the input token or output token.
        - `created_at` string, date-time, required — ISO 8601 timestamp of when the wallet action was created.
        - `destination_address` string, required — Recipient address.
        - `destination_amount` string, nullable, required — Amount received on the destination chain. For exact_output cross-chain transfers, set at creation (the guaranteed exact amount). For exact_input cross-chain transfers, null until fill confirmation.
        - `destination_asset` string — Destination asset for cross-asset transfers. Omitted for same-asset transfers.
        - `destination_chain` string — Destination chain for cross-chain transfers. Omitted for same-chain transfers.
        - `estimated_fees` FeeLineItem[], nullable — Estimated fee breakdown from the provider quote. Only present for cross-chain or cross-asset transfers. Populated after on-chain confirmation.
          - union — An individual fee assessed on a transfer.
            - object — Estimated fee paid to the relayer.
              - …
            - object — Estimated fee paid to Privy.
              - …
            - object — Estimated fee paid to the developer.
              - …
        - `estimated_gas` Gas — Gas cost for a blockchain action. Includes both raw base-unit amount and a human-readable decimal string, plus the gas token symbol.
          - `amount` string, required — Gas cost in the gas token as a human-readable decimal string (e.g. "0.0001").
          - `base_amount` string, required — Gas cost in the gas token's base units (e.g. wei).
          - `gas_asset` string, required — Gas token symbol (e.g. "ETH", "USDC").
        - `failure_reason` object — Top-level failure context for the wallet action. Present on rejected or failed actions when available.
          - `details` unknown
          - `message` string, required — Human-readable failure message.
        - `fees` FeeLineItem[], nullable — Actual fees paid for the transfer. Populated after on-chain confirmation. Only present for cross-chain transfers.
          - union — An individual fee assessed on a transfer.
            - object — Estimated fee paid to the relayer.
              - …
            - object — Estimated fee paid to Privy.
              - …
            - object — Estimated fee paid to the developer.
              - …
        - `gas` Gas — Gas cost for a blockchain action. Includes both raw base-unit amount and a human-readable decimal string, plus the gas token symbol.
          - `amount` string, required — Gas cost in the gas token as a human-readable decimal string (e.g. "0.0001").
          - `base_amount` string, required — Gas cost in the gas token's base units (e.g. wei).
          - `gas_asset` string, required — Gas token symbol (e.g. "ETH", "USDC").
        - `id` string, required — The ID of the wallet action.
        - `source_amount` string — Decimal amount sent on the source chain (e.g. "1.5"). For exact_output cross-chain transfers, null until fill confirmation.
        - `source_asset` string — Asset identifier (e.g. "usdc", "eth"). Present when the transfer was initiated with a named asset; omitted for custom-token transfers.
        - `source_asset_address` string — Token contract address (EVM) or mint address (Solana). Present when the transfer was initiated with `asset_address`.
        - `source_asset_decimals` integer — Number of decimals for the transferred token. Present when the transfer was initiated with `asset_address` and the decimals were resolved on-chain.
        - `source_chain` string, required — Chain name (e.g. "base", "ethereum").
        - `status` 'pending' | 'succeeded' | 'rejected' | 'failed', required — The current status of the wallet action.
        - `steps` WalletActionStep[] — The steps of the wallet action. Only returned if `?include=steps` is provided.
          - union — A step within a wallet action, representing a single onchain action.
            - object — A wallet action step consisting of an EVM transaction.
              - …
            - object — A wallet action step consisting of an EVM user operation.
              - …
            - object — A wallet action step consisting of an SVM (Solana) transaction.
              - …
            - object — A wallet action step consisting of a TVM (Tron) transaction.
              - …
            - object — A wallet action step representing a cross-chain/cross-asset fill by an external provider.
              - …
            - object — A wallet action step representing a transaction executed by a custodian (e.g. Bridge).
              - …
        - `type` 'transfer', required
        - `wallet_id` string, required — The ID of the wallet involved in the action.
      - object — Response for an earn deposit action.
        - `amount` string — Human-readable decimal amount of asset deposited (e.g. "1.5"). Only present when the token is known in the asset registry.
        - `asset` string — Asset identifier (e.g. "usdc", "eth"). Only present when the token is known in the asset registry.
        - `asset_address` string, required — Underlying asset token address.
        - `caip2` string, required — CAIP-2 chain identifier.
        - `created_at` string, date-time, required — ISO 8601 timestamp of when the wallet action was created.
        - `decimals` integer — 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.
        - `failure_reason` object — Top-level failure context for the wallet action. Present on rejected or failed actions when available.
          - `details` unknown
          - `message` string, required — Human-readable failure message.
        - `id` string, required — The ID of the wallet action.
        - `raw_amount` string, required — Base-unit amount of asset deposited (e.g. "1500000").
        - `share_amount` string, nullable, required — Vault shares received in base units. Populated after on-chain confirmation.
        - `status` 'pending' | 'succeeded' | 'rejected' | 'failed', required — The current status of the wallet action.
        - `steps` WalletActionStep[] — The steps of the wallet action. Only returned if `?include=steps` is provided.
          - union — A step within a wallet action, representing a single onchain action.
            - object — A wallet action step consisting of an EVM transaction.
              - …
            - object — A wallet action step consisting of an EVM user operation.
              - …
            - object — A wallet action step consisting of an SVM (Solana) transaction.
              - …
            - object — A wallet action step consisting of a TVM (Tron) transaction.
              - …
            - object — A wallet action step representing a cross-chain/cross-asset fill by an external provider.
              - …
            - object — A wallet action step representing a transaction executed by a custodian (e.g. Bridge).
              - …
        - `type` 'earn_deposit', required
        - `vault_address` string, required — ERC-4626 vault contract address.
        - `vault_id` string, required — The vault ID.
        - `wallet_id` string, required — The ID of the wallet involved in the action.
      - object — Response for an earn withdraw action.
        - `amount` string — Human-readable decimal amount of asset withdrawn (e.g. "1.5"). Only present when the token is known in the asset registry.
        - `asset` string — Asset identifier (e.g. "usdc", "eth"). Only present when the token is known in the asset registry.
        - `asset_address` string, required — Underlying asset token address.
        - `caip2` string, required — CAIP-2 chain identifier.
        - `created_at` string, date-time, required — ISO 8601 timestamp of when the wallet action was created.
        - `decimals` integer — 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.
        - `failure_reason` object — Top-level failure context for the wallet action. Present on rejected or failed actions when available.
          - `details` unknown
          - `message` string, required — Human-readable failure message.
        - `id` string, required — The ID of the wallet action.
        - `raw_amount` string, required — Base-unit amount of asset withdrawn (e.g. "1500000").
        - `share_amount` string, nullable, required — Vault shares burned in base units. Populated after on-chain confirmation.
        - `status` 'pending' | 'succeeded' | 'rejected' | 'failed', required — The current status of the wallet action.
        - `steps` WalletActionStep[] — The steps of the wallet action. Only returned if `?include=steps` is provided.
          - union — A step within a wallet action, representing a single onchain action.
            - object — A wallet action step consisting of an EVM transaction.
              - …
            - object — A wallet action step consisting of an EVM user operation.
              - …
            - object — A wallet action step consisting of an SVM (Solana) transaction.
              - …
            - object — A wallet action step consisting of a TVM (Tron) transaction.
              - …
            - object — A wallet action step representing a cross-chain/cross-asset fill by an external provider.
              - …
            - object — A wallet action step representing a transaction executed by a custodian (e.g. Bridge).
              - …
        - `type` 'earn_withdraw', required
        - `vault_address` string, required — ERC-4626 vault contract address.
        - `vault_id` string, required — The vault ID.
        - `wallet_id` string, required — The ID of the wallet involved in the action.
      - object — Response for an earn incentive claim action.
        - `chain` string, required — EVM chain name (e.g. "base", "ethereum").
        - `created_at` string, date-time, required — ISO 8601 timestamp of when the wallet action was created.
        - `failure_reason` object — Top-level failure context for the wallet action. Present on rejected or failed actions when available.
          - `details` unknown
          - `message` string, required — Human-readable failure message.
        - `id` string, required — The ID of the wallet action.
        - `rewards` EarnIncetiveClaimRewardEntry[], nullable, required — Claimed reward tokens. Populated after the preparation step fetches from Merkl.
          - `amount` string, required — Claimable amount in base units.
          - `token_address` string, required — Address of the reward token.
          - `token_decimals` integer — Number of decimal places for the reward token.
          - `token_symbol` string, required — Symbol of the reward token (e.g. "MORPHO").
        - `status` 'pending' | 'succeeded' | 'rejected' | 'failed', required — The current status of the wallet action.
        - `steps` WalletActionStep[] — The steps of the wallet action. Only returned if `?include=steps` is provided.
          - union — A step within a wallet action, representing a single onchain action.
            - object — A wallet action step consisting of an EVM transaction.
              - …
            - object — A wallet action step consisting of an EVM user operation.
              - …
            - object — A wallet action step consisting of an SVM (Solana) transaction.
              - …
            - object — A wallet action step consisting of a TVM (Tron) transaction.
              - …
            - object — A wallet action step representing a cross-chain/cross-asset fill by an external provider.
              - …
            - object — A wallet action step representing a transaction executed by a custodian (e.g. Bridge).
              - …
        - `type` 'earn_incentive_claim', required
        - `wallet_id` string, required — The ID of the wallet involved in the action.
      - object — Response for an earn fee collect action.
        - `amount` string, 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.
        - `asset` string — Asset identifier (e.g. "usdc", "eth"). Only present when the token is known in the asset registry.
        - `asset_address` string, required — Underlying asset token address.
        - `caip2` string, required — CAIP-2 chain identifier.
        - `created_at` string, date-time, required — ISO 8601 timestamp of when the wallet action was created.
        - `decimals` integer — 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.
        - `failure_reason` object — Top-level failure context for the wallet action. Present on rejected or failed actions when available.
          - `details` unknown
          - `message` string, required — Human-readable failure message.
        - `id` string, required — The ID of the wallet action.
        - `raw_amount` string, nullable, required — Base-unit amount of fees collected (e.g. "1500000"). Populated after on-chain confirmation.
        - `status` 'pending' | 'succeeded' | 'rejected' | 'failed', required — The current status of the wallet action.
        - `steps` WalletActionStep[] — The steps of the wallet action. Only returned if `?include=steps` is provided.
          - union — A step within a wallet action, representing a single onchain action.
            - object — A wallet action step consisting of an EVM transaction.
              - …
            - object — A wallet action step consisting of an EVM user operation.
              - …
            - object — A wallet action step consisting of an SVM (Solana) transaction.
              - …
            - object — A wallet action step consisting of a TVM (Tron) transaction.
              - …
            - object — A wallet action step representing a cross-chain/cross-asset fill by an external provider.
              - …
            - object — A wallet action step representing a transaction executed by a custodian (e.g. Bridge).
              - …
        - `type` 'earn_fee_collect', required
        - `vault_address` string, required — ERC-4626 vault contract address.
        - `vault_id` string, required — The vault ID.
        - `wallet_id` string, required — The ID of the wallet involved in the action.
  - `next_cursor` string, nullable, required

---

[API](https://skmtc.net/privy-io/apis/privy-api.md) · [All operations](https://skmtc.net/privy-io/apis/privy-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/privy-io/privy-api/versions/bb2eb34156cc/schema)
