> ## 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.

# Lifecycle of an intent

Every intent moves through a series of statuses from creation to resolution. Understanding these statuses helps your app track proposals and build automation around intent outcomes.

## Status overview

| Status                        | Description                                                                                 |
| ----------------------------- | ------------------------------------------------------------------------------------------- |
| [**Pending**](#pending)       | Awaiting authorization. The collected signatures have not yet met the threshold.            |
| [**Granted**](#granted)       | Authorized by the current signer, but still awaiting more signatures to meet the threshold. |
| [**Processing**](#processing) | The threshold is met and the action is executing.                                           |
| [**Executed**](#executed)     | The threshold was met and the action completed successfully.                                |
| [**Failed**](#failed)         | The threshold was met, but the action failed during execution.                              |
| [**Rejected**](#rejected)     | The intent was cancelled.                                                                   |
| [**Expired**](#expired)       | The authorization window elapsed without enough signatures.                                 |
| [**Dismissed**](#dismissed)   | The underlying resource changed or was deleted, invalidating the intent.                    |

### Pending

When an intent is proposed, via the API or the Dashboard, it starts in the **Pending** status. The intent remains pending until one of the following occurs:

* Enough signers authorize it to meet the threshold (transitions to **Processing**, **Executed**, or **Failed**).
* The intent is cancelled (transitions to **Rejected**).
* The authorization window elapses without enough signatures (transitions to **Expired**).
* The underlying resource is modified or deleted (transitions to **Dismissed**).

### Granted

An intent moves to **Granted** when the current signer has authorized it but the threshold is not yet met.

*This state is specific to the current signer and is not shared across all authorizers.*

The intent remains pending, awaiting authorization from more owners or signers.

### Processing

An intent moves to **Processing** when the authorization threshold is met and execution begins. This applies to asynchronous actions such as transfers.

### Executed

An intent moves to **Executed** when the authorization threshold is met and execution succeeds. The proposed action completes automatically -- the transaction is signed and broadcasted, or the wallet or policy is updated.

After execution, the intent's `action_result` field contains the response. For transaction intents, this includes the transaction hash. [Fetch the intent](/transaction-management/intents/fetch-intent) or listen to the `intent.executed` webhook to retrieve these results.

### Failed

An intent moves to **Failed** when the authorization threshold is met, but execution fails.

Intent execution can fail for various reasons, such as a policy blocking the transaction or insufficient gas or balance to transact.

At this point, the intent is in a terminal state and must be recreated to try again.

### Rejected

An intent can be cancelled before it executes, moving it to **Rejected**. In the Dashboard, cancel an intent from the [Approvals](https://dashboard.privy.io/apps?page=approvals) page by selecting **Cancel proposal**.

Once rejected, the intent is in a terminal state and cannot execute.

### Expired

Intents expire 72 hours after creation by default. If the authorization threshold has not been met within that window, the intent moves to **Expired** and can no longer accept authorizations.

Once expired, the intent is in a terminal state and cannot execute.

<Tip>To retry an expired intent, propose a new intent with the same parameters.</Tip>

### Dismissed

An intent is automatically dismissed when the underlying resource changes or is deleted. This prevents stale proposals from executing against a resource that no longer matches the original intent.

When this may happen:

* Updating a wallet dismisses all pending intents for that wallet.
* Deleting a policy dismisses all pending policy and rule intents for that policy.

## Next steps

<CardGroup cols={2}>
  <Card title="Sign intents" icon="signature" href="/transaction-management/intents/sign-intents">
    Add authorization signatures to execute a proposed intent.
  </Card>

  <Card title="Fetch intent" icon="code" href="/transaction-management/intents/fetch-intent">
    Retrieve intent status and execution results via the API.
  </Card>
</CardGroup>
