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

# batch-send Command

> Send USDC to multiple users at once

The `batch-send` command allows you to send USDC to multiple users in a single operation. This is ideal for airdrops, bulk payments, or rewarding multiple contributors.

## Syntax

```bash theme={null}
snackmoney batch-send <input> [options]
```

## Input Formats

The `batch-send` command supports multiple input formats for flexibility:

### 1. Comma-Separated Format

```bash theme={null}
snackmoney batch-send <platform/user1:amount1,user2:amount2,...>
```

### 2. JSON File

```bash theme={null}
snackmoney batch-send ./payments.json
snackmoney batch-send file:./payments.json
```

### 3. URL

```bash theme={null}
snackmoney batch-send https://example.com/payments.json
```

### 4. Inline JSON

```bash theme={null}
snackmoney batch-send '{"platform":"x","payments":[...]}'
```

## Options

### --network

Specify which blockchain network to use:

```bash theme={null}
snackmoney batch-send input --network base
snackmoney batch-send input --network solana
```

## Examples

### Comma-Separated Format

Send to multiple users on the same platform:

```bash theme={null}
# Solana network
snackmoney batch-send x/aeyakovenko:7¢,0xMert_:3¢,0xmesuthere:5¢ --network solana

# Base network
snackmoney batch-send x/MurrLincoln:2¢,kleffew94:9¢,jessepollak:4¢ --network base

# With domain extensions
snackmoney batch-send twitter.com/user1:1¢,user2:$0.5

# Farcaster users
snackmoney batch-send farcaster.xyz/toly:50¢,mesut:25¢

# GitHub users
snackmoney batch-send github/user1:$1,user2:$2,user3:$3

# Email addresses
snackmoney batch-send email/user1@example.com:$0.25,user2@example.com:$0.50

# Web domains
snackmoney batch-send web/site1.com:0.5,site2.com:1
```

### JSON File Format

Create a `payments.json` file:

```json theme={null}
{
  "platform": "x",
  "payments": [
    { "receiver": "aeyakovenko", "amount": "7¢" },
    { "receiver": "0xMert_", "amount": "3¢" },
    { "receiver": "0xmesuthere", "amount": "5¢" }
  ]
}
```

Then run:

```bash theme={null}
snackmoney batch-send ./payments.json
```

**Platform-specific examples:**

**X (Twitter)** - `payments-x.json`:

```json theme={null}
{
  "platform": "x",
  "payments": [
    { "receiver": "user1", "amount": "1¢" },
    { "receiver": "user2", "amount": "$0.50" },
    { "receiver": "user3", "amount": "0.25" }
  ]
}
```

**Farcaster** - `payments-farcaster.json`:

```json theme={null}
{
  "platform": "farcaster",
  "payments": [
    { "receiver": "toly", "amount": "$1" },
    { "receiver": "mesut", "amount": "50¢" }
  ]
}
```

**GitHub** - `payments-github.json`:

```json theme={null}
{
  "platform": "github",
  "payments": [
    { "receiver": "octocat", "amount": "$5" },
    { "receiver": "torvalds", "amount": "$10" }
  ]
}
```

**Email** - `payments-email.json`:

```json theme={null}
{
  "platform": "email",
  "payments": [
    { "receiver": "user1@example.com", "amount": "$0.25" },
    { "receiver": "user2@example.com", "amount": "$0.50" }
  ]
}
```

**Web** - `payments-web.json`:

```json theme={null}
{
  "platform": "web",
  "payments": [
    { "receiver": "site1.com", "amount": "$0.50" },
    { "receiver": "site2.com", "amount": "$1" }
  ]
}
```

### From URL

Host your payment file and reference it by URL:

```bash theme={null}
snackmoney batch-send https://example.com/payments.json
snackmoney batch-send http://localhost:3000/team-rewards.json
```

### Inline JSON

Pass JSON directly as a command argument:

```bash theme={null}
snackmoney batch-send '{"platform":"x","payments":[{"receiver":"aeyakovenko","amount":"1¢"}]}'
```

## Supported Platforms

| Platform        | Format in JSON            | Comma-separated Format      |
| --------------- | ------------------------- | --------------------------- |
| **X (Twitter)** | `"platform": "x"`         | `x/username:amount`         |
| **Farcaster**   | `"platform": "farcaster"` | `farcaster/username:amount` |
| **GitHub**      | `"platform": "github"`    | `github/username:amount`    |
| **Email**       | `"platform": "email"`     | `email/address:amount`      |
| **Web**         | `"platform": "web"`       | `web/domain:amount`         |

## Amount Formats

All the same amount formats from the `send` command work:

* **Cents**: `1¢`, `50¢`, `99¢`
* **Dollars**: `$0.01`, `$0.50`, `$1`
* **Decimal**: `0.01`, `0.50`, `1`

## Output

The command processes payments sequentially and shows progress:

```
🚀 Processing batch payment...

[1/3] Sending 0.07 USDC to @aeyakovenko on X...
✅ Success - txn: 0xabc...

[2/3] Sending 0.03 USDC to @0xMert_ on X...
✅ Success - txn: 0xdef...

[3/3] Sending 0.05 USDC to @0xmesuthere on X...
✅ Success - txn: 0xghi...

📊 Batch Summary:
   Total payments: 3
   Successful: 3
   Failed: 0
   Total sent: 0.15 USDC
   Network: Solana

🧾 All receipts:
   https://snack.money/x/aeyakovenko?txn=...
   https://snack.money/x/0xMert_?txn=...
   https://snack.money/x/0xmesuthere?txn=...
```

## Use Cases

### Airdrop Rewards

Distribute tokens to community members:

```json theme={null}
{
  "platform": "x",
  "payments": [
    { "receiver": "community_member1", "amount": "$5" },
    { "receiver": "community_member2", "amount": "$5" },
    { "receiver": "community_member3", "amount": "$5" }
  ]
}
```

### Team Payments

Pay multiple team members:

```json theme={null}
{
  "platform": "farcaster",
  "payments": [
    { "receiver": "designer", "amount": "$100" },
    { "receiver": "developer", "amount": "$150" },
    { "receiver": "marketer", "amount": "$75" }
  ]
}
```

### Open Source Contributions

Reward GitHub contributors:

```json theme={null}
{
  "platform": "github",
  "payments": [
    { "receiver": "contributor1", "amount": "$25" },
    { "receiver": "contributor2", "amount": "$50" },
    { "receiver": "contributor3", "amount": "$25" }
  ]
}
```

### Contest Winners

Distribute prizes:

```bash theme={null}
snackmoney batch-send x/winner1:$100,winner2:$50,winner3:$25
```

## Prerequisites

1. **Set private key**:
   ```bash theme={null}
   export EVM_PRIVATE_KEY="0x..."  # For Base
   # OR
   export SVM_PRIVATE_KEY="..."    # For Solana
   ```

2. **Sufficient USDC balance**: Ensure your wallet has enough USDC for all payments plus network fees.

3. **Valid recipients**: All usernames must exist on the specified platform.

## Error Handling

If a payment fails, the command continues with remaining payments:

```
[2/5] Sending 0.05 USDC to @invalid_user on X...
❌ Failed - User not found

[3/5] Sending 0.10 USDC to @valid_user on X...
✅ Success - txn: 0xabc...
```

The final summary shows success/failure counts.

## Limits

* **Minimum per payment**: 0.01 USDC (1¢)
* **Recommended batch size**: Up to 100 payments per batch
* **Rate limits**: May apply for very large batches

## Tips

1. **Test first**: Start with a small batch to test your setup
2. **Check balance**: Calculate total amount + fees before running
3. **Validate JSON**: Ensure JSON files are properly formatted
4. **Save receipts**: Keep the receipt URLs for records
5. **Use files**: For large batches, JSON files are more manageable than comma-separated

## Related Commands

* [**send**](/cli/send) - Send to a single user
* [**ai-agent**](/cli/ai-agent) - Use natural language for batch payments

## Getting Help

```bash theme={null}
snackmoney batch-send --help
```

## Example Files

View example payment files on GitHub:

* [payments-solana.json](https://github.com/snack-money/snackmoney-cli/blob/main/examples/payments-solana.json)
* [payments-base.json](https://github.com/snack-money/snackmoney-cli/blob/main/examples/payments-base.json)

## Additional Resources

* [CLI Overview](/cli/overview) - All CLI features
* [Quick Start](/cli/quick-start) - Getting started
* [GitHub Repository](https://github.com/snack-money/snackmoney-cli) - Source code and examples
