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

# Wallet automations

> Define policy-controlled wallet actions that Privy runs in response to events.

Wallet automations define how a wallet responds to an event. An automation is a reusable intent: when a configured **trigger** occurs, Privy submits a configured **action**.

Attach the same automation to many wallets while controlling which wallets can run it. Wallet owner authorization and [wallet policies](/controls/policies/overview) continue to apply.

Wallet automations support deposit triggers with `swap` and `earn_deposit` actions. Swap automations can power [crypto deposit addresses](/wallets/funding/crypto-deposits/overview). Earn deposit automations move funds into a configured [Earn vault](/wallets/actions/earn/overview).

## Why use automations

Without an automation, an app's backend must monitor chains, deduplicate events, and submit wallet actions. Wallet automations move that operational loop to Privy while the app retains control over configuration, authorization, and policy.

This is useful for wallet behavior that should run reliably outside your app's lifecycle.

The following flow shows an automation processing an incoming deposit. See [configure triggers and actions](/wallets/automations/configuration) for available trigger and action types.

```mermaid theme={"system"}
flowchart LR
    deposit[Deposit arrives] --> match[Match an enabled attachment]
    match --> execution[Create an automation execution]
    execution --> action[Submit a wallet action]
    action --> outcome[Track the action outcome]
```

## How automations fit together

| Resource | Scope | Purpose |
| - | - | - |
| Automation | App | Defines the trigger, asset filter, and action. |
| Attachment | Wallet | Enables an automation for a wallet and stores action-specific parameters. |
| Execution | Event | Records one matched trigger and the wallet action created to fulfill it. |
| Wallet action | Wallet | Exposes the action's onchain status, steps, and transaction identifiers. |

Each trigger match creates an [automation execution](/wallets/automations/lifecycle), which records why the automation ran and links to the wallet action that carries out the onchain operation.

## Authorization and policies

Authorization applies at three levels:

| Control | Purpose |
| - | - |
| Automation owner | A key quorum can authorize updates or deletion of the shared definition. |
| Wallet owner | The wallet owner authorizes attaching or detaching the automation. |
| Wallet policies | Privy evaluates every generated wallet action against the source wallet's policies. |

An attachment authorizes future actions that match its configured trigger, action, wallet, and parameters. Executions do not require a new wallet-owner signature. An attachment does not grant an automation general-purpose signing authority.

Imported wallets and wallets previously exported from Privy cannot receive automation attachments.

## Fees

Automations are billed for the wallet actions they trigger. There is no separate fee per automation invocation or based on the amount flowing through the automation.

An automated swap follows the same [fees](/wallets/actions/swap/overview#fees) and app sponsorship settings as other swaps. For crypto deposit addresses, use the [deposit quote API](/api-reference/crypto-deposits/quote) to preview current conversion pricing. [App-pays gas sponsorship](/wallets/funding/crypto-deposits/setup) is required for crypto deposit addresses.

## Matching behavior

A wallet can have several attached automations, but Privy selects only the oldest enabled attachment that matches a detected deposit. Overlapping automations do not all run. Use non-overlapping asset filters unless attachment order intentionally defines priority.

## Next steps

> **[Configure an automation](/wallets/automations/configuration)**
>
> Choose a trigger, filter, action, and per-wallet parameters.

> **[Create and attach an automation](/wallets/automations/create-and-attach)**
>
> Configure a deposit trigger and enable it for a wallet.

> **[Automate Earn deposits](/wallets/automations/earn-deposits)**
>
> Deposit a wallet's full balance into an Earn vault when funds arrive.

> **[Understand the lifecycle](/wallets/automations/lifecycle)**
>
> Monitor automation executions and their wallet actions.

> **[Use webhooks](/wallets/automations/webhooks)**
>
> Receive an event when an automation submits a wallet action.

> **[Manage automations](/wallets/automations/manage)**
>
> Update, pause, detach, and delete automations safely.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.