# Piggybank Disperse Builder

> Piggybank Disperse Builder is a paid API for AI agents from piggybank.loth2023ys.workers.dev, paid per call via x402, $0.004/call, status unknown (last checked 2026-10-24).

Generates gas-optimized calldata for multi-recipient token payouts — either native ETH transfers or a Multicall3 aggregate3 batch of ERC20 transfer() calls — without signing or broadcasting.

## Facts

- Endpoint: GET https://piggybank.loth2023ys.workers.dev/v1/defi/disperse-builder?utm_source=zero.xyz
- Price: $0.004/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-24
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/piggybank-disperse-builder-4ec33406
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_pddH09RwHHla1cTEIg7T3

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability piggybank-disperse-builder-4ec33406
```

Example prompt: Build me a gas-optimized payout plan on Ethereum mainnet to distribute USDC (0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48) to three recipients: 0xAAA...111 gets 500000000 wei, 0xBBB...222 gets 250000000 wei, and 0xCCC...333 gets 250000000 wei — give me the Multicall3 calldata I can sign myself.

## When to prefer this

Choose this endpoint when you need to batch-distribute tokens or native currency to many recipients in a single gas-efficient transaction and want to handle signing and broadcasting yourself. It is ideal for DAO payroll, airdrops, and reward distributions where the caller controls the private key and wants to avoid per-transfer gas overhead via Multicall3. Prefer this over on-chain disperse contracts when you need the raw calldata for inspection or custom signing flows.

## Known failure modes

- Invalid chain identifier returns an error
- Malformed or mismatched recipients/amountsWei arrays cause a validation error
- Unsupported token address may result in unknown token type error
- Extremely large recipient lists may hit payload size limits
- Native transfer mode requested with an ERC20 token address may cause conflict

## How this service works

Builds a gas-optimized multi-recipient payout plan: either a list of native transfers or a single Multicall3 aggregate3 batch of ERC20 transfer() calls. Returns calldata only - this service never signs or broadcasts.

## Output

Returns calldata only — either an ordered list of native transfer objects (to, value) or a single Multicall3 aggregate3 encoded call bundling all ERC20 transfer() invocations. No signing or broadcasting is performed; the caller is responsible for submitting the transaction.

## Request schema (JSON Schema)

```json
{
 "input": {
  "type": "object",
  "properties": {
   "chain": {
    "type": "string"
   },
   "token": {
    "type": "string"
   },
   "amountsWei": {
    "type": "string"
   },
   "recipients": {
    "type": "string"
   }
  }
 },
 "output": {
  "type": "object"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/piggybank-disperse-builder-4ec33406/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from piggybank.loth2023ys.workers.dev](https://www.zero.xyz/host/piggybank.loth2023ys.workers.dev/llms.txt)
