Available in version 0.6.0 and later.
Example workflow
One sender, many recipients is pretty common: a payroll run, a marketplace split, or a refund that returns funds to several customer wallets at once. For example, Sarah is sending USD 30,000 out of her balance. She routes 20% to Alice, a fixed $10,000 to Bob, and assigns"left" to Charlie so whatever remains after the first two legs goes to Charlie automatically.
Money movement would look like this:

From a product perspective, that usually maps to one user-facing action (“Send $30k”) while your ledger still exposes each recipient line for reporting, disputes, or partial reversals.
Create multiple destinations transaction
Call the Create Transaction endpoint with these fields:Atomic split processing
By default, Blnk processes a multiple destinations split withatomic: false. Each destination leg is evaluated independently. Legs that pass validation are marked APPLIED, while legs that fail are marked REJECTED. This can result in a partial split, where some destinations are credited and others are not.
Set atomic: true to enable all-or-nothing processing. All destination legs must succeed for the split to be completed. If any leg fails, Blnk rolls back any previously APPLIED or INFLIGHT legs, reversing the credits so the split is fully cancelled and no partial state remains on the ledger.
API response structure
When you create a multiple destinations transaction, Blnk creates separate transaction records for each destination. Blnk returns a response containing:- A main transaction ID for the overall split transaction. If
inflight: true, it can be used to commit or void all transactions at once. - A destinations array with individual transaction IDs for each destination.
Response
Retrieving child transactions
You can retrieve all transactions in the split by searching for the main transaction ID in themeta_data.QUEUED_PARENT_TRANSACTION field:
Response
Distribution types
You can specify distribution amounts in three ways:Using precise_distribution with precise_amount
When a transaction uses precise_amount, use precise_distribution in place of distribution only for destinations that specify an exact value.
For example:
Example with precise_amount
Transaction references
Blnk automatically generates unique references for each transaction record by appending a counter to your original reference (starting from1).
Example: If your reference is ref_001adcfgf, the generated references will be:
ref_001adcfgf_1(first destination)ref_001adcfgf_2(second destination)ref_001adcfgf_3(third destination)
Multiple sources
Multiple sources, one destination.