Skip to main content

Microdeposits

Verify account details by making two, small ACH deposits for end user confirmation.

New to MX Connectivity?

See the Connectivity Overview to learn about our Connectivity products and integration options.

With Microdeposits, make two, small ACH deposits into a user's account using the provided account and routing number. You can then require that the end user confirm the exact amount of each deposit. In doing so, you can verify that the consumer owns the account and meets NACHA requirements for account verification.

You must have Microdeposits enabled by MX. Please contact MX if this feature hasn't been enabled.

info

MX doesn't debit back the microdeposits that are credited to a user's account.

Microdeposit Sample Data

This sample response shows the data you can expect to get for microdeposits.


_20
{
_20
"micro_deposit": {
_20
"account_name": "My Test Account",
_20
"account_number": "33331261",
_20
"account_type": "CHECKING",
_20
"created_at": "2023-06-01T21:12:49Z",
_20
"email": "example@example.com",
_20
"error_code": null,
_20
"error_message": null,
_20
"first_name": "Josh",
_20
"guid": "MIC-d1351d87-fafc-4935-b2f0-158973e68d34",
_20
"institution_code": null,
_20
"institution_name": null,
_20
"last_name": "Smith",
_20
"routing_number": "091000019",
_20
"status": "REQUESTED",
_20
"updated_at": "2023-06-01T21:12:49Z",
_20
"verified_at": null
_20
}
_20
}

Integration Options

You can integrate Microdeposits by using our Connect Widget, or by using our API to power your own connection experience. See one of the following guides:

Microdeposit Limits

Users can attempt to verify the amounts associated with a given microdeposit guid three times. After the third incorrect attempt, the microdeposit moves to a PREVENTED status and the process can no longer continue. If the user wishes to try again, they must start a new microdeposit verification.

Users can verify up to three accounts per email address using microdeposits. For instance, if a user had four different accounts all associated with the same email, only three accounts could be verified using microdeposits.

Timing and Polling

The time it takes for microdeposits to appear can vary. Deposits initiated in the morning might appear by evening, or they could take up to 7 days.

Wait at least 36 hours after initiating a microdeposit before checking for status changes to ensure deposits have been processed. You can start polling before this time (for example, after 24 hours), but you may not see DEPOSITED or ERRORED status changes until 12 to 36 hours after initiation.

Poll no more frequently than once every 15 minutes, as MX only checks status with the deposit provider every 15 minutes. More frequent polling provides no benefit.

Data Retention

Microdeposits that remain in the status INITIATED, REQUESTED, or DEPOSITED for 21 or more days are soft-deleted from the MX Platform.

Block Lists

You can prevent microdeposit verifications with certain institutions by using a routing number block list. Institutions associated with any routing number on a block list will not be available for microdeposit verifications.

To block an institution, visit the Client Dashboard. See Block an Institution for more info.

Test Scenarios

You can simulate some common microdeposit scenarios in our integrations environment using the microdeposit amounts we provide.

Using the Connect Widget?

The following table shows the fields and microdeposit amounts you must provide to simulate each scenario. Use different account numbers to avoid errors. For field requirements, see Formats.

Test ScenarioInputsMicrodeposit Amounts
A Successful VerificationFirst name, last name, email address, routing number, account number0.09 for both amounts
A Failed Verification that Can't Be RetriedFirst name, last name, email address, routing number, account number0.04 for the first amount, 0.01 for the second amount
A Failed Verification that Can Be RetriedFirst name, last name, email address, routing number, account number0.02 for both amounts

Formats

The following shows the accepted format for each input field.

Input FieldFormat
First NameMust be less than or equal to 50 characters and contain no special characters, for example, Dave but not D#ve.
Last NameMust be less than or equal to 50 characters and contain no special characters. For example, Smith but not Sm_th.
EmailMust be in standard email format, for example, example@email.com.
Routing NumberMust follow standard American Banking Association rules for routing numbers, for example, 091000019 but not 222222226 or 021000021.
Account NumberAny integer that begins with 3333 (for example, 333312345) will be interpreted as a valid account number. Valid account numbers produce an INITIATED status for the microdeposit object that is created, followed by a REQUESTED status; REQUESTED will change to DEPOSITED after two minutes.
Microdeposit AmountsSpecific amounts correspond to specific scenarios, described in Test Scenarios.

Testing Microdeposits in the Connect Widget

For the microdeposits flow to occur in the Connect Widget:

  1. Set data_request.products to include account_verification in your widget URL request. If you're simulating a user returning to the Connect Widget to verify their microdeposit amounts, also set current_micro_deposit_guid to the guid of the microdeposit the user needs to verify.
  2. In the Connect Widget, enter an input into the searchbar that doesn't result in an institution. For example, you can enter "vvv."
  3. Select Connect with account numbers.
  4. Enter the inputs as specified in one of the test scenarios.