Skip to main content
An external bank account is a pointer to a deposit account at a bank Tesouro doesn’t hold the funds at. Tesouro never sees its balance, never moves money on it directly, and never holds funds in it. The only thing the pointer enables is ACH push and pull between that bank and an internal bank account. External bank accounts are a top-level resource at /embedded-banking/v1/external-bank-accounts — they aren’t nested under an internal bank account. They belong to the organization that connected them, and any internal bank account on that organization can use a VERIFIED external bank account as an ACH counterparty.

Why they exist

Assuming the business customer has a bank account with some financial institution somewhere, it needs a way to move money between that existing bank and the deposit account Tesouro just opened for them. External bank accounts give the ACH rail a verified, addressable target on the other end. The verification is the load-bearing part. Tesouro doesn’t take the user’s word that they own the outside account — micro-ACH deposits prove control of it before any real money moves. Trusted callers (typically platforms sitting higher in the hierarchy) can self-attest verification instead of going through the deposits, but that’s a scoped exception. See Linking an external bank account for both paths.

What’s on the record

The response shape is deliberately thin. After connection you get:

What you can’t do with them

  • No balance. Tesouro has no read-access to the outside bank, so any “balance” you display has to come from elsewhere.
  • No non-ACH rails. Internal-to-internal book transfers, RTP, and FedNow don’t accept an external bank account as a counterparty — only ACH does.
  • No mutation of account or routing after connect. You can update the nickname, but if the underlying account or routing number changes, connect a fresh external bank account.

Where to next