Test mode

Learn how to interact with Moov’s platform without having to send real money.

When you sign up for Moov, you’ll receive access to a test account. To save you time, your test account is pre-populated with sample business details and accounts, and all capabilities have been automatically enabled for you to test. The samples provide examples of the kind of information you’ll needed once you switch over to production mode.

Mode switching

After you have completed your business profile and Moov has approved your production account, you can switch between production and test mode in the Moov Dashboard by using the Account drop down in the upper left hand corner.

Toggle for test account in Moov Dashboard

Test mode data

Moov has pre-populated your test account with sample business details and accounts. You aren’t required to enter anything for your test account to receive the verified status. In test mode, requirements for all capabilities have been satisfied, so they are automatically enabled for you. You’ll have full access to the following capabilities:

While you don’t need to request capabilities for test mode, for production mode, you’ll need to request capabilities. You can do this at the same time you create your account, or request additional capabilities later.

Invite team members

Use the account switcher in the Moov Dashboard to switch to test mode. While in test mode, you can invite team members to your test account. Inviting team members to your test account does not enable them to use your production account. If you’d also like to invite team members to your production account, you will need to do that separately in production mode.

API keys

You will need to create an API key specific to the test account. We suggest naming the API key something that will help you remember that it’s for testing purposes.

Create API key for test account modal in Moov Dashboard


Transfers in test mode won’t move any real money. For the timing of transfers in test mode, note that:

  • Wallet to wallet transfers complete almost instantly
  • ACH transfers in test mode will complete in about an hour (see the processing speed guide for production mode)

If you would like to see how Moov handles failures in production, view the transfer failures guide.


To simulate micro-deposits in test mode, input the amount $0.00 and the bank account verification will succeed. If you input any other amount, the bank account verification will not complete.

Bank accounts

We’ve already added sample payment methods for you in test mode, including bank accounts and cards. If you’d like to add an additional test bank account, you must include a valid routing number. For example:


The account number can be any number, for example:



You can simulate a few ACH return scenarios during different transfer stages. To see any of the return scenarios in action, create a new test transfer in the Moov Dashboard. In the Amount input in the Create test transfer modal, enter the return amount of the return type you want to simulate (listed below).

Return amount Return type Return transfer stage
5501 R01 / Insufficient funds Debit has originated, but not completed
5502 R02 / Account closed Debit has originated, but not completed
5503 R03 / No account/Unable to locate account Credit has completed
5508 R08 / Payment stopped Debit has completed

Create test return transfer

If you would prefer to use the API to simulate a return, you can trigger the ACH returns in test mode by entering any of the return codes as the value.

  "amount": {
    "currency": "USD",
    "value": 5501
  "facilitatorFee": {
    "total": 0,

A return will be only triggered if the transfer type (for example, wallet-to-bank) is applicable to the particular return scenario and amount entered. For example, an R01 in test mode always occurs on the debit leg, after the transfer stage of debit origination. Accordingly, an R01 return cannot be triggered on a wallet-to-bank transfer, as that transfer type only consists of a credit leg. Creating a return scenario that does not apply to a corresponding transfer type will result in a regular test transfer, not a test return.

Once you have created a transfer with an appropriate return code, Moov will update the transfer to failed or reversed based on the transfer stage (see ACH returns and exceptions for more information). The bank account status will also be updated accordingly.

The ACH returns and exceptions guide also includes the full ACH return code list.


To test linking bank accounts with Plaid, simply pass env: "sandbox" into the payload in the Moov.js initialization. You can pass in any token as the processor token and Moov will link default account data that looks like the following:

  RoutingNumber: "011401533",
  AccountNumber: "1111222233330000",
  AccountType:   "checking",
  Mask:          "0000"


For simulating card transfers, we only support specific test cards. The expiration date field for all test cards can be set to any future date.

Use the following card numbers in test mode:

Card brand Test card number CVV
Visa 4111111111111111 Any 3 numbers
Mastercard 5555555555554444 Any 3 numbers
Discover 6011111111111117 Any 3 numbers
Amex 371111111111114 Any 4 numbers

To simulate a declined transaction, use the following card number:


The expiration date can be any future date, and the CVV can be any 3 numbers.