Skip to main content
ACH (Automated Clearing House) is the standard rail for moving funds between a Tesouro-held account and an external bank account. Settlement runs through the bank’s ACH operator and typically lands within one to three business days. ACH is not real-time and is not available on weekends or bank holidays. POST /embedded-banking/v1/money-movements/ach The request adds two fields beyond the common shape: The external account is referenced by its Tesouro-issued account ID, not raw routing and account numbers. It must already be linked through the linked-accounts flow. Like every money-movement request, ACH accepts an idempotencyKey. Always send one so a retried submission returns the original transfer instead of creating a duplicate. See Lifecycle & idempotency. ACH also accepts an optional reference: your own identifier, echoed back on the transfer and on the transfers list. See Reference. ACH transfers start as PENDING and transition to COMPLETED once the upstream banking core confirms settlement. The terminal-state update happens lazily during reads — see Lifecycle & idempotency.
Required scope: embedded:transfer:write and payment_rail:ach.