Skip to main content
When you need to send to multiple recipients, submit independent transfers with independent request_id values. CAW evaluates each transfer separately through the policy engine, so one denial does not invalidate the others.

Parallel batch transfer

PACT_ID=<pact-id>
RECIPIENTS=("0xAddr1" "0xAddr2" "0xAddr3")
AMOUNTS=("10" "15" "20")

for i in "${!RECIPIENTS[@]}"; do
  caw tx transfer "$PACT_ID" \
    --to "${RECIPIENTS[$i]}" \
    --token-id SETH_USDC \
    --amount "${AMOUNTS[$i]}" \
    --chain-id SETH \
    --request-id "batch-$(date +%s)-$i"
done
  • Use one business-stable request_id per recipient or payout unit.
  • Track each result by request_id, not by array position.
  • Expect mixed outcomes in the same batch: allowed, pending approval, denied.
For durable tracking after submission, use Transaction Tracking.