Skip to main content
POST
Queue a mass payout batch
Queue a batch payout — one request sends money out to up to 500 recipients at once.
This moves money out of your account. Run Validate a batch (dry-run) first to get a canSubmit verdict, and always send an idempotencyKey so a network retry can’t queue the same batch twice.
Every recipient address must be on your withdrawal whitelist — Liddie checks this server-side. Egress is fee-free: you pay the network cost only, no platform markup.

Authorization

Dashboard-only (JWT) with the mass-payouts:manage team permission. API keys are not accepted — an API key gets 401 {"error":"Invalid or expired token"}. Because this call moves money, the body must carry one fresh MFA factor (passkey / TOTP / emailed code — the VERIFICATION_PROPS fields; see the Authentication guide). Email codes come from Send mass-payout email code. Rate limit: 6/min.

Body parameters

array
required
The payout rows — up to 500 recipients per batch. Each row carries the recipient’s currency, address, and amount as strings (an optional destinationTag string is supported for tag-based currencies like XRP), the same row shape the validator echoes back.
string
Optional label for the batch. Max 100 characters.
string
Optional idempotency key (8–100 characters) so a retried submit does not queue the batch twice.
In addition to the fields above, the body must include one fresh MFA factor:
string
The single-use emailed code.
string
A 6-digit code from your authenticator app — an alternative to emailCode. Backup codes are not accepted here: the field is validated against ^[0-9]{6}$ and backup codes are 16 hexadecimal characters. They work only at login (POST /2fa/validate). If you have lost your authenticator, request an emailed code instead.
object
WebAuthn assertion, used together with challengeKey.
string
Accompanies passkeyResponse.

Errors

See also