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

# Sweep Overview

> Dedicated deposit addresses for your users, with real-time webhooks and automatic USDC/USDT sweeping.

Sweep creates dedicated on-chain deposit addresses for your users (one or more per user). Transfers on an address trigger real-time webhooks. USDC/USDT deposits are swept automatically to your configured sweep address.

Supported networks: EVM (Ethereum, Arbitrum, Base, Polygon, BSC) and Solana. For the product introduction, see [Deposit & Sweep](/guides/36-deposit-and-sweep).

<Note>
  Sweep uses a separate API token issued by MPCVault - not a token created from the web console. Contact your MPCVault account manager to enable Sweep and configure your sweep parameters.
</Note>

## Preparation

You provide:

* Sweep address (one for EVM, one for Solana)
* Webhook URL
* Outbound IPs (if IP allowlisting is enabled)

MPCVault provides:

* API base URL: `https://api.mpcvault.com`
* API token, sent in the `x-mtoken` header
* Webhook verification public key ([see Webhooks](/api-reference/sweep/webhooks))

## How It Works

```mermaid theme={null}
sequenceDiagram
    participant User as End User
    participant App as Your Server
    participant API as MPCVault
    participant Chain as Blockchain

    App->>API: Create Deposit Wallet (ref)
    API-->>App: Deposit Address
    User->>Chain: Deposit to Address
    API-->>App: Webhook (CONFIRMED / FINALIZED)
    App->>App: Credit User
    API->>Chain: Sweep USDC/USDT to Your Sweep Address
```

1. [Create one or more deposit wallets](/api-reference/sweep/create-deposit-wallet) for each user.
2. The user deposits at any time; MPCVault sends [webhooks](/api-reference/sweep/webhooks) in real time for each transfer, and you credit users based on lifecycle events.
3. USDC/USDT deposits are transferred to your sweep address automatically per the [sweep rules below](#when-a-sweep-triggers), net of a small network fee.

Crediting users is driven entirely by webhooks and is independent of sweep progress.

## When a Sweep Triggers

Sweeps are evaluated hourly, per address per token. Only `FINALIZED` deposits count toward the balance; `CONFIRMED` does not.

| Condition                                               | Result                       |
| ------------------------------------------------------- | ---------------------------- |
| Balance ≥ 100 USDC/USDT                                 | Swept in the next hourly run |
| Balance ≥ 10 USDC/USDT, and no new deposit for 24 hours | Swept in the next hourly run |
| Balance \< 10 USDC/USDT                                 | Not swept                    |

Only the USDC/USDT contracts below are swept; other assets (including native coins) are notified but not swept.

## Network Fees

The network fee covers the on-chain Gas of the sweep; it is deducted from the swept amount, per address per token.

| Network  | Network Fee |
| -------- | ----------- |
| Ethereum | 2 USDC/USDT |
| Arbitrum | 1 USDC/USDT |
| Base     | 1 USDC/USDT |
| Polygon  | 1 USDC/USDT |
| BSC      | 1 USDC/USDT |
| Solana   | 1 USDC/USDT |

A large-sweep fee of an extra 10 USDC/USDT applies on any network when a single sweep is ≥ 5,000.

Examples:

* Arbitrum address accumulates 120 USDC → sweep address receives 119 USDC
* Arbitrum address accumulates 6,000 USDC → sweep address receives 5,989 USDC

## Swept Token Contracts

| Network  | USDC                                           | USDT                                           |
| -------- | ---------------------------------------------- | ---------------------------------------------- |
| ETHEREUM | `0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48`   | `0xdac17f958d2ee523a2206206994597c13d831ec7`   |
| ARBITRUM | `0xaf88d065e77c8cc2239327c5edb3a432268e5831`   | `0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9`   |
| BASE     | `0x833589fcd6edb6e08f4c7c32d4f71b54bda02913`   | `0xfde4c96c8593536e31f229ea8f37b2ada2699bb2`   |
| POLYGON  | `0x3c499c542cef5e3811e1192ce70d8cc03d5c3359`   | `0xc2132d05d31c914a87c6611c10748aeb04b58e8f`   |
| BSC      | `0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d`   | `0x55d398326f99059ff775485246999027b3197955`   |
| SOLANA   | `EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v` | `Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB` |
