Atomically transfer assets from one participant to one or more recipients.
AVAILABLE balance is debited by the exact total credited across all recipients. You can include up to 100 recipients in a single call.
The transfer is atomic. If any leg fails (insufficient balance, inactive participant, inactive program), the entire transfer is rolled back and nothing moves. Both the source and every recipient must have ACTIVE status, and the program itself must be ACTIVE.
For assets using LOT mode, lots are consumed FIFO from the source and new lots are created for each recipient. The lot vintage resets on transfer, so the recipient’s lot created_at reflects the transfer time, not the original issuance.
API key passed in the X-API-Key header.
Transfer details with source and recipients
Asset being transferred
"550e8400-e29b-41d4-a716-446655440001"
Human-readable explanation of the transfer's purpose
1 - 500"Monthly bonus distribution"
Program this transfer belongs to
"550e8400-e29b-41d4-a716-446655440000"
List of transfer recipients (1 to 100)
1 - 100 elementsUnique key to prevent duplicate transfers (optional)
"txn_abc123"
Source participant's external ID (mutually exclusive with source_group_id and source_participant_id)
"user_123"
Source group UUID (mutually exclusive with source_external_id and source_participant_id)
"550e8400-e29b-41d4-a716-446655440004"
Source participant UUID (mutually exclusive with source_external_id and source_group_id)
Transfer completed with journal entry ID
Asset that was transferred
"550e8400-e29b-41d4-a716-446655440001"
Journal entry created for this transfer (use for audit trails)
"550e8400-e29b-41d4-a716-446655440002"
Number of recipients in this transfer
5
Scrip's UUID for the source participant
"550e8400-e29b-41d4-a716-446655440003"
Sum of all recipient amounts
"500.00"