Skip to content

Batch failure isolation is per-transaction (chunk); with the default chunk size one bad recipient fails its chunk-mates #614

Description

@resourcefulmind

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.

Metadata

Metadata

Assignees

Labels

QA improvementsIssues surfaced during the payments QA pass: bugs, gaps, and DX improvements.enhancementNew feature or request

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions