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

# Payroll

> Batch payments to multiple recipients in USDC or USDT

# Payroll

Distribute USDC or USDT to multiple recipients efficiently. Choose between single-transaction batch payments or privacy-enhanced distribution that fans out through independent routing.

## Supported Assets

<CardGroup cols={2}>
  <Card title="USDC" icon="dollar-sign">
    Batch up to 12 recipients
  </Card>

  <Card title="USDT" icon="dollar-sign">
    Batch up to 12 recipients
  </Card>
</CardGroup>

## Execution Modes

### Wallet Mode

Single transaction with multiple recipients. Enter up to 12 recipient addresses and amounts. Each row is validated independently. Single signature covers all transfers in the batch. One signed transaction, one Solscan link on success.

```typescript theme={null}
// Each recipient becomes an instruction
const instructions = recipients.map(recipient => [
  // Create ATA if needed (idempotent)
  createAssociatedTokenAccountIdempotentInstruction(...),
  // Transfer tokens
  createTransferCheckedInstruction(...)
]);
```

### Private Mode

Independent private transfers to each recipient. Same interface as wallet mode, but each recipient gets independent privacy. Routing layer provides N ephemeral addresses for N recipients. You send the total amount, which gets distributed across ephemeral addresses. Each recipient's transfer is tracked independently in the status stepper.

**Privacy Benefits:**

* Each recipient receives funds from a different routing address
* No single transaction links you to all recipients
* Recipients cannot see other recipients in the batch

## Recipient Management

| Field       | Validation           | Required |
| ----------- | -------------------- | -------- |
| **Address** | Valid Solana address | ✅        |
| **Amount**  | Positive number      | ✅        |
| **Label**   | Optional description | ❌        |

### Batch Limits

| Mode             | Max Recipients | Transaction Limit      |
| ---------------- | -------------- | ---------------------- |
| **Wallet Mode**  | 12             | Solana 1232-byte limit |
| **Private Mode** | No limit       | Scales linearly        |

<Note>
  Wallet mode is capped at 12 recipients to stay within Solana's transaction size limit.
</Note>

## CSV Import/Export

Upload a CSV file with recipient data:

```csv theme={null}
address,amount,label
7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU,100.50,Alice
9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM,250.00,Bob
```

## ATA Management

All payroll transactions include idempotent Associated Token Account (ATA) creation. Creates ATA only if it doesn't exist. Recipients don't need to pre-create token accounts.
