# Many to Many

{% hint style="info" %}

### **Key Features**

* **Discrete Transactions**: No linked trails between transfers
* **Flexible Pairing**: Random or round-robin sender-recipient matching
* **Human-like Delays**: Custom intervals between transactions
* **Bulk Processing**: Supports 100+ addresses via CSV upload
* **Multi-Asset Support**: ETH & ERC-20 tokens
  {% endhint %}

***

## **Setup Guide**

### **1. Configure Transfer Parameters**

**a) Select Asset**

* ETH (default)
* ERC-20 (paste contract address)

**b) Set Amount per Transfer**

text

```
Example: 0.005 ETH → each sender-recipient pair moves this amount  
```

**c) Execution Interval** *(Optional)*

text

```
5-60 seconds recommended to avoid clustering  
```

***

### **2. Import Addresses**

**Sender Wallets** *(Requires private keys)*

text

```
0xPRIVATEKEY1  
0xPRIVATEKEY2  
```

*(Or upload CSV/TXT file)*

**Recipient Wallets** *(Addresses only)*

text

```
0xADDRESS1  
0xADDRESS2  
```

*(Or upload CSV/TXT file)*

> &#x20;**All keys processed locally** — Never stored or transmitted

***

### **3. Preview & Execute**

📊 **Transaction Matrix Preview** Shows:

* Total transfers to execute
* Estimated gas costs
* Simulated timeline

🟢 **Start Transfers** → Approve batch via wallet

***

### **🎯 Advanced Use Cases**

| Scenario            | Strategy                  | Benefit                |
| ------------------- | ------------------------- | ---------------------- |
| Privacy Mixing      | Random pairs + 30s delays | Obfuscates fund trails |
| DAO Payroll         | Round-robin sends         | Fair distribution      |
| Token Shuffling     | Fixed amounts             | Balances portfolio     |
| Airdrop Obfuscation | Staggered intervals       | Avoids detection       |

***

{% hint style="danger" %}

### **Critical Security Notes**

✔ **Test first** with small amounts on testnet\
✔ **Back up all keys** before importing\
✔ **Never use shared devices** for private key entry\
✔ **Verify token approvals** for ERC-20 transfers
{% endhint %}

***

> ### **Pro Tips**
>
> * For large batches, use **15+ second intervals** to avoid mempool congestion
> * Combine with our **Batch Balance Checker** to verify results
> * **CSV templates** available in documentation


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://smart-tools.gitbook.io/smart-tools-docs/transfer-tools/many-to-many.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
