Skip to main content
An automation’s config pairs one trigger with one action. Triggers define when an automation runs; actions define what it does. New actions can reuse existing triggers whenever the combination is compatible. The config is reusable across wallets. Values that differ by wallet belong to the attachment instead.

Triggers

Deposit

The deposit trigger activates when Privy detects a deposit to a wallet with an enabled attachment and the deposited asset matches the configured filter. A deposit that does not match an enabled attachment does not create an execution. If multiple attachments match, Privy selects the oldest matching attachment. Privy evaluates recipient-side asset transfers. Outgoing activity does not activate a deposit trigger. Deposit matching has no minimum amount, and the transferred amount does not determine the action amount. Attaching an automation to a funded wallet does not process its existing balance. A new matching deposit or a reindex request must start the execution.

Supported chains

Wallet automations can detect deposits on the following mainnet chains: Tron deposit automations are available to apps with Tron support enabled. Detection support does not guarantee that every action route is available. Use the swap quote endpoint to confirm the source and destination before creating an automation.

Filter assets

The assets.mode field controls which deposits match: Each include or exclude value identifies an asset using a human-readable alias or canonical identifiers: Provide exactly one of asset or asset_address per value. A raw asset_address must include either chain or caip2. The all and exclude modes can match arbitrary deposited tokens. A matching action can still fail when the asset or route is unsupported.
A matching deposit acts on the triggering asset’s full current wallet balance, not only the amount from the latest deposit. Any earlier balance of that asset can be included.
If the balance is zero when the execution runs, Privy marks the execution as skipped and does not create a wallet action.

Actions

Swap

The swap action converts the triggering asset into one configured destination asset and chain. destination_chain_asset accepts aliases or canonical identifiers, but it must identify exactly one asset on exactly one chain.
Generated actions follow the Swap API’s behavior and considerations, including route, fee, and slippage behavior. The source wallet’s policies continue to apply. The app must also have swaps enabled. Create-time validation does not quote the route or guarantee liquidity. Route, provider, balance, and policy errors can occur when an execution runs. Review the supported chains and cross-chain routes before configuring the action.

Per-wallet parameters

Swap output addresses belong to attachments rather than the reusable action config. This allows one automation to send each wallet’s output to a different destination.
Privy verifies that an automated swap uses the destination asset from the automation and the destination_address from the matched attachment.

Example configuration

This config swaps USDC deposits on any chain into pathUSD on Tempo:
Continue to create and attach an automation after choosing the trigger, filter, destination asset, and per-wallet destination address.