# Asset sweeping

Asset sweeping consolidates assets from multiple source wallets into a single destination wallet on a schedule. Use it when you receive deposits across many wallets and want Ripple Custody (Wallet) to move those balances into a treasury or operations wallet. Sweeping simplifies treasury management and reduces the number of wallets that hold active balances.

Sweeps create on-chain transactions and incur network fees. Only owners and administrators can configure sweeping operations.

In this section
- [Configure asset sweeping](/products/wallet/vaults-and-wallets/asset-sweeping/configure-asset-sweeping) – Enable source wallets, create a sweep configuration, and manage, monitor, and troubleshoot sweeps


## How source wallets work

You don't select source wallets when you create a sweep configuration. Instead, each wallet has a **Sweeping** setting, and you turn it on for each wallet that acts as a source. A source wallet also needs **Outgoing transactions** turned on. The sweep configuration applies to every enabled source wallet on the selected blockchain.

When a sweep runs, Ripple Custody (Wallet) checks sweep-enabled wallets that are eligible for the configured blockchain. If a source wallet's available balance meets the configured minimum amount for a swept asset, Ripple Custody (Wallet) creates a transaction to move that asset to the destination wallet. Pending or frozen balances don't count toward the sweep amount.

Asset sweeping bypasses transaction policies. Ripple Custody (Wallet) can sweep a wallet without a transaction policy, and existing transaction policies don't block sweep transactions. To restrict sweeping, manage the wallet's **Sweeping** setting and the sweep configurations in **Settings** > **Workflows**. See [Policies](/products/wallet/governance-and-controls/policies).

## What a sweep configuration controls

A sweep configuration defines:

- The **blockchain** to sweep.
- The **assets** to sweep and the **minimum amount** that triggers a sweep.
- The wallet that receives swept funds (**Deposit wallet**).
- The wallet that pays transaction fees (**Fees wallet**).
- The sweep frequency, either **hourly** or **daily**.


You can create only one sweep configuration per blockchain. Add all assets that you want to sweep on that blockchain to the same configuration.

Each time a sweep runs, Ripple Custody (Wallet) creates a **sweep instance** that records the results of the run.

## Supported blockchains

Supported blockchains appear in the blockchain dropdown when you create a sweep in **Settings** > **Workflows**. The list shows the blockchains available to your organization.

You can sweep native assets — BTC, TRX, XRP, and the native asset of EVM chains such as ETH — in addition to supported tokens, and one configuration can sweep both on the same blockchain. For Bitcoin, Ripple Custody (Wallet) sweeps native BTC only. Ripple Custody (Wallet) doesn't sweep native SOL.

## Fee wallet and network fees

Every sweep configuration needs a fee wallet, and the fee wallet must hold the blockchain's native asset. The fee wallet pays or funds the network fees for all sweep transactions in a run. How it pays depends on the blockchain:

| Blockchain | Fee model |
|  --- | --- |
| Bitcoin | The fee wallet pays the network fee directly inside the sweep transaction. Ripple Custody (Wallet) doesn't transfer BTC to the source wallet first. |
| Solana | The fee wallet pays the network fee directly as the transaction fee payer. Ripple Custody (Wallet) doesn't transfer SOL to the source wallet first. |
| Ethereum and other EVM chains, and Tron | Ripple Custody (Wallet) uses just-in-time fee funding. Before the sweep transaction, Ripple Custody (Wallet) estimates the network fee and transfers about three times that amount of native asset from the fee wallet to the source wallet, to account for fee changes before the transaction confirms. The source wallet then pays its own network fee. |
| XRP Ledger | Ripple Custody (Wallet) uses just-in-time fee funding. The fee wallet tops up the source account with the amount it needs to send the sweep, pay the buffered network fee, and keep its reserve, minus what the account already holds. For token sweeps, the fee wallet sends the full buffered fee on every run instead, so the account's existing XRP and reserve are never used for fees. The source account then pays its own network fee. |


For a source wallet on a just-in-time fee-funded blockchain, Ripple Custody (Wallet):

1. Calculates the native asset amount the source wallet needs, as described in the table.
2. Transfers that native asset from the fee wallet to the source wallet.
3. Creates the sweep transactions from the source wallet to the destination wallet. The source wallet pays its own network fees.


Just-in-time fee funding works the same way for token sweeps and native asset sweeps. When Ripple Custody (Wallet) sweeps several assets from the same source wallet in one run, a single fee-funding transfer covers all of them. You can't configure the fee multiplier or set a sweep to pre-fund enough native asset for several future sweeps.

If the fee wallet can't cover the fee funding for a run, Ripple Custody (Wallet) records a failed sweep instance and checks the configuration again on the next scheduled run.

EVM fee wallet role
On Ethereum and other EVM chains, a wallet can't act as both a sweep source and the fee wallet. Choose a dedicated fee wallet that doesn't have sweeping enabled. You also can't turn on sweeping for an EVM wallet that already holds a native asset balance.

## Native asset sweeping

You sweep a blockchain's native asset the same way you sweep a token: add BTC, ETH, TRX, or XRP to the sweep configuration and set a minimum amount.

For each sweep-enabled wallet, Ripple Custody (Wallet) tracks native asset ownership — it separates the balance the wallet received as deposits from the native asset Ripple Custody (Wallet) sent for fee funding. A native sweep moves only the deposited balance to the destination wallet, and Ripple Custody (Wallet) never sweeps its own fee funding to your destination.

On EVM chains and Tron, a native sweep doesn't move native asset that a smart contract sent to the wallet. Ripple Custody (Wallet) doesn't record those deposits, so they stay in the source wallet. See [Native-asset deposits sent by smart contracts](/products/wallet/vaults-and-wallets/supported-blockchains-and-tokens#native-asset-deposits-sent-by-smart-contracts).

Ripple Custody (Wallet) doesn't reduce the swept amount to pay the network fee. The fee follows the blockchain's fee model described in [Fee wallet and network fees](#fee-wallet-and-network-fees): direct payment from the fee wallet on Bitcoin and Solana, and just-in-time fee funding on Ethereum and other EVM chains, Tron, and the XRP Ledger.

On the XRP Ledger, sweeps never touch the account reserve — the base reserve plus the owner reserve for each object the account owns. The source account keeps its reserve and stays activated, and Ripple Custody (Wallet) accounts for the reserve when it calculates fee funding.

If Ripple Custody (Wallet) hasn't finished building a wallet's native ownership records, it doesn't sweep that wallet's native asset in the run and records the sweep instance as failed, although it still sweeps the other wallets. It includes the wallet again after tracking is ready.

## Remaining native asset after a sweep

Some native asset stays in the source wallet after a native sweep:

| Blockchain | What stays in the source wallet |
|  --- | --- |
| Ethereum and other EVM chains, and Tron | Unspent fee funding, and any native asset that a smart contract sent to the wallet. Ripple Custody (Wallet) doesn't record those deposits, so it doesn't sweep them. See [Native-asset deposits sent by smart contracts](/products/wallet/vaults-and-wallets/supported-blockchains-and-tokens#native-asset-deposits-sent-by-smart-contracts). |
| XRP Ledger | The XRP Ledger reserve — the base reserve plus the owner reserve for each object the account owns. Sweeps never touch the reserve, so the account stays activated. |


After Ripple Custody (Wallet) completes a just-in-time fee-funded sweep, unused fee funding remains in the source wallet. Ripple Custody (Wallet) tracks this balance as its own fee funding, doesn't reclaim it or return it to the fee wallet automatically, and never sweeps it to your destination wallet.

When Ripple Custody (Wallet) calculates a later run's fee funding, it offsets the native asset already in the source wallet, so leftover fee funding is spent before the fee wallet sends more. The exception is token sweeps on the XRP Ledger, where Ripple Custody (Wallet) funds the full buffered fee on each run. If you create a new receive wallet for each deposit and sweep each wallet only once, each wallet may retain a small fee-funding balance after its sweep.

## Related pages

- [Configure asset sweeping](/products/wallet/vaults-and-wallets/asset-sweeping/configure-asset-sweeping) - Set up, manage, and monitor sweeps
- [Manage wallets](/products/wallet/vaults-and-wallets/wallets/manage-wallets) - Wallet settings, including **Sweeping** and **Outgoing transactions**
- [Policies](/products/wallet/governance-and-controls/policies) - Understand why sweep transactions bypass policies