Bank accounts

To transfer money with Moov, you’ll need to link a bank account to your Moov account, then verify that account. You can link a bank account to a Moov account by adding the bank account number and routing number to the account object. We require micro-deposit verification to reduce the risk of fraud or unauthorized activity. You can verify a bank account by initiating instant micro-deposits, which sends a code to a bank account. Alternatively, you can link and verify a bank account in one step through an instant account verification token from a third party provider like Plaid.

Add bank account

Link a bank account to an existing Moov account.

To link a bank account, you’ll need to specify the /accounts/{accountID}/bank-accounts.write scope when generating a token.

Parameters

Name Type
accountID UUID string
1
2
3
4
5
6
7
8
9
const accountID = "accountID";
const bankAccount = {
  "holderName": "Jules Jackson",
  "holderType": "individual",
  "accountNumber": "0004321567000",
  "bankAccountType": "checking",
  "routingNumber": "123456789"
};
moov.accounts.bankAccounts.link({accountID, bankAccount});
1
2
const accountID = "accountID";
moov.accounts.bankAccounts.link({plaid: { token: "token"}});
Read more on setting up a Moov managed Plaid integration

List bank accounts

List all the bank accounts associated with a particular Moov account.

To list bank accounts, you’ll need to specify the /accounts/{accountID}/bank-accounts.read scope when generating a token.

Parameters

Name Type
accountID UUID string
1
2
const accountID = "accountID";
moov.accounts.bankAccounts.list({accountID});

Get bank account

Retrieve bank account details (routing number or account type) associated with a specific Moov account.

To retrieve bank account details, you’ll need to specify the /accounts/{accountID}/bank-accounts.read scope when generating a token.

Parameters

Name Type
accountID UUID string
1
2
const accountID = "accountID";
moov.accounts.bankAccounts.get({accountID});

Disable bank account

Discontinue using a specified bank account linked to a Moov account.

To delete a bank account, you’ll need to specify the /accounts/{accountID}/bank-accounts.write scope when generating a token.

Parameters

Name Type
accountID UUID string
1
2
const accountID = "accountID";
moov.accounts.bankAccounts.delete({accountID});

Initiate instant micro-deposits verification

Verification helps confirm bank account ownership, reducing fraud and risk of unauthorized activity. Use this method to initiate instant micro-deposits, which sends a 4-digit numeric code and a $0.01 credit to the bank account. The code will be in the form of MV0000, mv0000, or 0000. If instant micro-deposits verification is not available at the participating bank, the fallback is same-day ACH.

To initiate, you’ll need to specify the /accounts/{accountID}/bank-accounts.write scope when generating a token.

Parameters

Name Type
accountID UUID string
bankAccountID UUID string
1
2
3
const accountID = "accountID";
const bankAccountID = bankAccountID;
moov.accounts.bankAccounts.startVerification({accountID, bankAccountID});
If you choose to request standard micro-deposit verification, be aware of the following timelines. Before 4:00 PM ET, micro-deposits will appear the same day. After 4:00 PM ET micro-deposits will appear the next banking day.

Check instant micro-deposit verification

You can track instant bank account verifications. The response includes whether the verification method was instant or same-day ACH, as well as exception details.

1
2
3
const accountID = "accountID";
const bankAccountID = bankAccountID;
moov.accounts.bankAccounts.getVerification({accountID, bankAccountID});

The status indicates the following:

  • new: Verification initiated, credit pending to the payment network.
  • sent-credit: Credit sent, available for verification.
  • failed: Verification failed, description provided, user needs to add a new bank account.
  • expired: Verification expired after 14 days, initiate another verification.
  • max-attempts-exceeded: Five incorrect code attempts exhausted, initiate another verification.

Complete instant micro-deposit verification

Complete the instant micro-deposit verification process by passing the code sent to the bank account.

You’ll need to specify the /accounts/{accountID}/bank-accounts.write scope when generating a token.

Parameters

Name Type
accountID UUID string
bankAccountID UUID string
code string
1
2
3
const accountID = "accountID";
const bankAccountID = bankAccountID;
moov.accounts.bankAccounts.completeVerification({accountID, bankccountID, code});

Articles in this section
Summary Beta