Skip to navigation

Transfers

Move money between a customer's own Citi accounts or to and from linked external bank accounts.
View as Markdown

Overview

The Transfers API moves money between a customer’s own accounts and to or from external bank accounts they’ve linked. Use it for internal transfers (checking to savings), external ACH transfers, and same-day options when speed matters.


Transfer types

Internal transfer

Move money instantly between the customer’s own Citi checking, savings, and money market accounts.

External transfer (ACH)

Move money to or from an account the customer holds at another bank, typically 1–3 business days.

Same-day ACH

Expedite an external transfer for same-business-day settlement when submitted before cutoff.

Recurring transfer

Automate savings by scheduling repeating transfers on the customer’s chosen cadence.


Make a transfer

1

Authenticate

Obtain an access token with the payments:write scope. See the Authentication guide.

2

Choose source and destination

Reference a source accountRef and a destination account — either another internal accountRef or a linked external account.

3

Submit the transfer

Provide the amount, transfer type, and an optional future date or recurrence.

{
"fromAccountRef": "acct_884201",
"toAccountRef": "acct_884202",
"type": "INTERNAL",
"amount": { "value": 500.00, "currency": "USD" },
"frequency": "MONTHLY"
}
{
"transferId": "trf_31aa8",
"status": "COMPLETED",
"postedAt": "2026-04-23T14:45:00Z"
}

Internal transfers post instantly. External ACH transfers show a PENDING status until they settle, usually within 1–3 business days.


Cutoff times

Same-day ACH transfers must be submitted before the daily cutoff (typically 2:00 PM ET on business days). Transfers submitted after cutoff, on weekends, or on bank holidays settle the next business day.


Security requirements

Requests require an OAuth 2.0 access token with the payments:write scope. See the Authentication guide.