Skip to main content
POST
Validate a batch (dry-run)
Check a mass-payout batch before you submit it. Nothing moves, no MFA needed — you get per-row verdicts and a single canSubmit answer. The validator reports per-row address validity, whitelist membership (mass-payout recipients must be whitelisted — the validator rejects a non-whitelisted address), per-currency totals and fees vs your balance, and the final canSubmit verdict.
Always run validate before Queue a batch: it costs nothing, needs no MFA, and its canSubmit verdict tells you whether the batch as submitted would be accepted.
200 OK
The example shows one non-whitelisted row and one invalid address.

Authorization

Dashboard-only (JWT) with the mass-payouts:manage permission. No MFA required — nothing moves. API keys are not accepted: an API key gets 401 {"error":"Invalid or expired token"}. Rate limit: 30/min.

Body parameters

array
required
The payout rows to check — the same rows you would submit to Queue a 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), echoed back per-row in the response.

Response fields

array
Per-row verdicts.
object
Per-currency gross totals of the batch, as exact decimal strings ({"BTC": "0.50000000"}). Parse them with a decimal library — parseFloat on an 18-decimal total loses precision, and this is the figure compared against your balance.
object
Per-currency network-fee totals, as exact decimal strings.
object
Your available balance per currency, for comparison against the totals.
boolean
Single verdict: whether the batch as submitted would be accepted by Queue a batch.
array
Currencies whose batch total exceeds your available balance.

Errors

See also