Create a Stripe Connect Custom or Express account with the treasury capability requested, and wait for the capability to become active
Create a FinancialAccount via POST /v1/treasury/financial_accounts with the requested_features array including outbound_payments.ach and inbound_flows.ach
Link an external bank account using Stripe Financial Connections or by providing account and routing numbers; Stripe creates an ExternalAccount resource
Initiate an OutboundTransfer via POST /v1/treasury/outbound_transfers with financial_account, destination_payment_method (the linked external account ID), amount, and currency
Monitor the OutboundTransfer status via the treasury.outbound_transfer.posted or treasury.outbound_transfer.failed webhook events
Check the FinancialAccount balance via GET /v1/treasury/financial_accounts/{id} to confirm available funds before initiating outbound transfers
Known gotchas
Treasury financial accounts are available only on Stripe Connect Custom accounts (and some Express configurations) — they are not available on standard payment-only Stripe accounts
OutboundTransfers via ACH are not instant — standard ACH takes 1–3 business days; same-day ACH cutoffs apply if using the expedited network
Financial account capabilities must be individually requested and approved; a financial account created without explicitly requesting outbound_payments.ach will not be able to originate ACH transfers
Give your agent this knowledge — and 15,800+ more routes
One MCP install gives any agent live access to the full route map across 5,800+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?