Link bank accounts
If you use Plaid or MX, skip this page: Plaid and MX link and verify the bank account in one request. Supported bank account types are listed in bank accounts.
Link and verify a bank account
Get accountID
Retrieve the accountID for the Moov account you want to link a bank account to.
Link a bank account
For the purposes of this example, we are adding a bank account to an individual Moov account. If you are adding a bank account to a business Moov account, pass business as the holderType instead.
The response includes the bankAccountID and a status of new. The bank account can now receive funds, and Moov creates its credit payment methods.
Link a bank account reference
curl -X POST "https://api.moov.io/accounts/{accountID}/bank-accounts" \
-H "Authorization: Bearer {token}" \
-H "x-moov-version: v2026.07.00" \
--data-raw '{
"account": {
"accountNumber": "0004321567000",
"bankAccountType": "checking",
"holderName": "Jules Jackson",
"holderType": "individual",
"routingNumber": "123456789"
}
}'
Link a bank account reference
mc, _ := moov.NewClient()
var accountID string
mc.CreateBankAccount(ctx, accountID, moov.WithBankAccount(moov.BankAccountRequest{
AccountNumber: "0004321567000",
AccountType: moov.BankAccountType_Checking,
HolderName: "Jules Jackson",
HolderType: moov.HolderType_Individual,
RoutingNumber: "123456789",
}), moov.WaitForPaymentMethod())
Link a bank account reference
const moov = Moov(token);
const accountID = "accountID";
const bankAccountPayload = {
accountNumber: "0004321567000",
bankAccountType: "checking",
holderName: "Jules Jackson",
holderType: "individual",
routingNumber: "123456789"
};
moov.accounts.bankAccounts.link({accountID, bankAccount: bankAccountPayload});
Verify the bank account
Start instant micro-deposit verification with the bankAccountID. Moov sends a $0.01 credit with a 4-digit code that the account holder enters in your app. When verification succeeds, the bank account status changes to verified and Moov creates its debit payment methods.
See verify bank accounts for the steps, code samples, and other methods.
Manage bank accounts
- List or get: use the list bank accounts
GETendpoint, or pass thebankAccountIDto the retrieve a bank accountGETendpoint. - Delete: pass the
bankAccountIDto the delete a bank accountDELETEendpoint. - Track status: subscribe to the
bankAccount.updatedwebhook, and see bank account status for what each status means and how to handle failed verification.