Batch API with idempotency
Submit hundreds of payouts in one call. Retrying the exact same call is a no-op — no address ever receives twice.
For DAOs and treasuries
SwapZilla is a non-custodial payout infrastructure for DAOs and treasuries. Send grants, rewards, and airdrops to hundreds of wallets in one operation — with idempotency-safe API guarantees and any-to-any routing so contributors receive the asset they asked for.
Your treasury holds one or two reserve assets, but contributors want to be paid in different coins. Manual conversion is a full-time job.
Sending to 500 addresses one-by-one means partial failures, missed retries, double-sends, and a lot of Etherscan-refreshing to reconcile.
Using a custodial processor for grant distribution means you're trusting them with treasury funds. Not ideal for DAOs that promised non-custodial ops.
Submit a batch payout — a JSON array of recipients with their asset, network, and amount. SwapZilla routes each swap from your treasury asset into the recipient's requested asset, and executes all payouts under one idempotency key. If the call is retried, no address is paid twice. Everything is on-chain, verifiable, and non-custodial.
Submit hundreds of payouts in one call. Retrying the exact same call is a no-op — no address ever receives twice.
Treasury holds USDT; contributor A wants BTC, contributor B wants XMR, contributor C wants ETH. Every leg is routed individually at the best available rate.
Each payout is a direct wallet-to-wallet transfer via an exchange provider. Treasury funds never touch SwapZilla.
Every payout has an on-chain transaction, a client_order_id you supplied, and a status you can query anytime.
A JSON array: address, asset, network, amount, client_order_id per recipient.
POST the batch with a single Idempotency-Key header. Retries are safe.
Each recipient's asset is quoted against every provider; the best route is picked automatically.
Each payout is executed as a separate swap from your treasury asset, sending the recipient's requested asset directly to their wallet.
Poll the batch endpoint to see per-recipient status — completed, pending, failed with reason.
Up to several hundred recipients per call. If you need more, split into multiple batches under distinct idempotency keys.
You supply an Idempotency-Key header. If you retry the exact same call, SwapZilla returns the original result without executing any payouts a second time. This prevents duplicate sends during network flakes or retries.
Yes. Each recipient specifies their target asset and network. SwapZilla routes each one independently.
The rest of the batch continues. Failed recipients are returned with a reason (invalid address, provider unavailable, etc.) — you can retry just those without re-executing the successful ones.
No. Each payout is a direct swap through an exchange provider; treasury funds are pulled from your source wallet only as each individual payout executes. There is no intermediate SwapZilla balance.
We'll help you scope the integration and walk through the batch API. Most treasuries have their first payout live within a week.