> ## Documentation Index
> Fetch the complete documentation index at: https://docs.privy.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get wallet action status

> Check the status of asynchronous wallet actions like transfers and swaps

Wallet actions like [transfers](/wallets/actions/transfer/overview) and [swaps](/wallets/actions/swap/overview) are processed asynchronously. When your application initiates an action, the response includes an `id` for the created wallet action. Your application can use this ID to poll for the action's current status.

## Usage

To get the status of a wallet action, make a `GET` request to

```bash theme={"system"}
https://api.privy.io/v1/wallets/{wallet_id}/actions/{action_id}
```

### Response

<ResponseField name="id" type="string">
  The unique identifier for the wallet action.
</ResponseField>

<ResponseField name="wallet_id" type="string">
  The ID of the wallet that initiated the action.
</ResponseField>

<ResponseField name="type" type="'swap' | 'transfer'">
  The type of the wallet action.
</ResponseField>

<ResponseField name="status" type="'pending' | 'succeeded' | 'rejected' | 'failed'">
  The current status of the action.

  | Status        | Description                                                                                                                                                                                                 |
  | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
  | `'created'`   | Wallet action has been queued for execution and resource ID has been returned to the caller.                                                                                                                |
  | `'succeeded'` | All steps of the wallet action have successfully executed. This is a terminal state.                                                                                                                        |
  | `'rejected'`  | The wallet action was rejected prior to executing any steps, e.g. due to a policy violation. This is a terminal state and safe to retry.                                                                    |
  | `'failed'`    | The wallet action failed during execution of one of its steps. Use the [get wallet action](/api-reference/wallets/actions/get) endpoint with `?include=steps` to inspect what went wrong at the step level. |
</ResponseField>

<ResponseField name="steps" type="array">
  The steps of the wallet action. Only returned when `?include=steps` is passed as a query
  parameter. Each step includes its own status, chain identifier, and transaction hash.
</ResponseField>

The response also includes type-specific fields depending on whether the action is a `swap` or `transfer`. See the [API reference](/api-reference/wallets/actions/get) for the full response schema.

### Including step details

By default, the response only returns the overall state of the action to provide visibility into whether it succeeded or failed. For more granular information, such as transaction hashes, chain IDs, and per-step statuses, pass `?include=steps` as a query parameter.

```bash theme={"system"}
curl https://api.privy.io/v1/wallets/{wallet_id}/actions/{action_id}?include=steps \
  -u "<your-privy-app-id>:<your-privy-app-secret>" \
  -H "privy-app-id: <your-privy-app-id>"
```

## Listing all wallet actions

To retrieve all wallet actions for a given wallet, make a `GET` request to

```bash theme={"system"}
https://api.privy.io/v1/wallets/{wallet_id}/actions
```

This endpoint supports cursor-based pagination via `cursor` and `limit` query parameters.

```bash theme={"system"}
curl https://api.privy.io/v1/wallets/{wallet_id}/actions?limit=20 \
  -u "<your-privy-app-id>:<your-privy-app-secret>" \
  -H "privy-app-id: <your-privy-app-id>"
```

The response includes a `data` array of wallet actions and a `next_cursor` field for pagination. See the [API reference](/api-reference/wallets/actions/list) for the full request and response schema.

## Polling recommendations

Wallet actions typically complete within a few seconds, but can take longer depending on network conditions. Poll infrequently and stop once the `status` reaches a terminal value (`succeeded`, `rejected`, or `failed`).

## API reference

See the [API reference](/api-reference/wallets/actions/get) for the full request and response schema, or the [list endpoint](/api-reference/wallets/actions/list) for retrieving all actions for a wallet.
