Area: Payments / batch transfers · Type: enhancement (payout safety) / documentation
Recipients are bundled into Solana transactions (default ~20 per tx). The failure unit is the transaction: if one recipient in a chunk makes its transaction fail, all recipients in that chunk fail with it. Per-recipient isolation requires maxRecipientsPerTransaction: 1.
Reproduce
# isolated (tested): maxRecipientsPerTransaction=1, one underfunded recipient -> only that one fails
# bundled (by design): default chunk size, one recipient fails at execution -> its whole chunk fails
Impact: for a payroll run, one bad account can fail up to ~19 innocent colleagues bundled in the same transaction; the safe pattern (chunk size 1) is not the default and is not surfaced.
Suggested fix: document the isolation model; consider defaulting payout batches to per-recipient isolation or surfacing the tradeoff in the API and dashboard.
Area: Payments / batch transfers · Type: enhancement (payout safety) / documentation
Recipients are bundled into Solana transactions (default ~20 per tx). The failure unit is the transaction: if one recipient in a chunk makes its transaction fail, all recipients in that chunk fail with it. Per-recipient isolation requires
maxRecipientsPerTransaction: 1.Reproduce
Impact: for a payroll run, one bad account can fail up to ~19 innocent colleagues bundled in the same transaction; the safe pattern (chunk size 1) is not the default and is not surfaced.
Suggested fix: document the isolation model; consider defaulting payout batches to per-recipient isolation or surfacing the tradeoff in the API and dashboard.