Facilitate account-to-account transfers


If you’re looking for a way to facilitate a payment between two accounts on your platform (what we describe as an account-to-account transfer), this guide will cover the flow for your use case. Some examples of account-to-account transfers include:

  • A marketplace enabling businesses to pay their vendors
  • A service platform allowing customers to pay their service providers
  • A SaaS company helping contractors to pay subcontractors
  • An HR tool with a feature where companies can pay their employees

Key players

For the purposes of this guide, we’ll assume you are a developer building a fitness marketplace with the following key players:

  • Fitness platform that connects gyms with fitness instructors (account facilitating the transfer)
  • Gym (account sending money, otherwise known as the source account)
  • Fitness instructor (account receiving money, otherwise known as the destination account)

In this use case, the fitness platform is not directly involved in the transaction. Their role is to help the gym pay a fitness instructor they’ve hired and booked through the platform.

Get your access token

To get started, you’ll need to:

For more detailed instructions, see our Quick start guide.

Set up the source account

Start by creating a Moov account for the gym. Then, request the send-funds capability for the gym’s account. The capabilities endpoint will specify what information Moov needs about the gym as a company before we enable the requested capability. Capabilities

In addition, you’ll need to add the gym’s bank account as a funding source for paying the instructors. The gym must complete the micro-deposit verification process before you can use their account to send funds. Bank accounts

Set up the destination account

Next, create a Moov account for the fitness instructor. This will be the destination account, since the fitness instructor is the one who will be receiving the funds. Request the transfers capability for the fitness instructor’s account. The capabilities endpoint will specify what information we’ll need about the fitness instructor.

Add a bank account for the fitness instructor. In our scenario, the fitness instructor’s bank account will only be used to receive funds, so micro-deposit verification is not required.

Initiate the payment

Now that both the gym and fitness instructor have been set up with the right capabilities and bank accounts, you’re ready to create the payment.

First, get a list of the available payment methods for both accounts through the transfer options endpoints. The list includes all the payment methods the gym and fitness instructor can use based on their linked bank accounts and the amount of the transfer. If the gym is funding the payment with a linked bank account, you’ll always use a payment method type ach-debit-fund. The gym could also pay from their Moov wallet. Select the payment method you’d like to use for the transfer.

You can now initiate a transfer between the two accounts, using the payment method IDs you got earlier in the transfer options request.

What’s next

Feel free to explore Moov.js, our in-browser JavaScript SDK. Or, if you’re interested in other use cases, you can dive into our guides: