Skip to content

Quick start

Here’s an overview of how you can get up and running with Moov. To get started on our platform, you’ll need to:

  • Create an account
  • Get your API keys
  • Create an access token

After completing these steps, you’ll be ready to link a bank account and initiate a transfer, which we’ll also cover in this guide.

Be sure to read up on Moov’s core concepts.

Create an account

If you don’t already have an account, create one here.

Get API keys

Once you have an account with Moov, you can retrieve your API keys. Set the permissions you want to designate for your API key.

Create an access token

Within your server-side application, you’ll generate a single-use access token that contains information needed to securely communicate with your Moov account. Once you’ve generated this token, you can use it to make calls from the server or send it back to your client to use with Moov.js.

tip
Moov.js is a browser-side JavaScript library for collecting sensitive data and interacting with our API.

Specify scopes: A scope is a permission that determines the limits of what a certain account can do on another account. For example, you may want an account to be able to request money from another account, but not be able to actually pull money from another account. In other instances you may want to set the scope for an account to only be able to receive money from other accounts.

Specify audience: The audience is a list of Moov URL endpoints the token will have access to.

1
2
3
4
curl -X POST 'https://api.moov.io/v2/oauth2/token' \
  -u 'client_id:client_secret' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  --data-urlencode 'grant_type=client_credentials'

Once you’ve completed these three steps, you’re set up to start moving money by adding accounts to pay, linking your bank account, and initiating a transfer.

Add an account to pay

To start paying others, you can set up others with Moov accounts. If you’d like to link a Moov account to an account in your system, you have the option to pass a foreign ID.

1
2
3
4
5
6
curl -X POST https://api.moov.io/v2/accounts
  -u {token}
  -H 'Content-Type: application/json' \
  -data-raw '{
    "foreignID": "xxxx-xxxx-xxxx-xxxx",
  }'

In order to move funds, you’ll need to link a bank account. Once the linked bank account has been verified, you are ready to move money.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
curl -X POST https://api.moov.io/v2/accounts/{account_id}/bank-accounts \
  -u {token} \
  -H 'Content-Type: application/json' \
  --data-raw '{
    "account": {
        "holderName": "Harley Avery",
        "holderType": "individual",
        "accountNumber": "XXXXXXXXXXXXXX",
        "bankAccountType": "checking",
        "routingNumber": "XXXXXXXXXXX"
    }
  }'

Initiate a transfer

Get the payment method

A payment method specifies the way a Moov account will be moving money. There are a number of different methods for transferring money with Moov — for example, you can transfer money from the Moov wallet. Or, you might want to pull funds from another account through ACH debit. Before making a transfer, you will need to get a payment method.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
curl -X GET https://api.moov.io/v2/accounts/{application_account_id}/transfers-options \
  -u {token} \
  --data-raw '{
    "source": {
      "accountId": "UID",
    },
    "destination": {
      "accountId": "UID",
    },
    "amount": {
      "value": 100,
      "currency": "usd"
    }
  }'

Make the transfer

To initiate a transfer from your account, you’ll need to pass the following information to Moov:

  • Account information for the entity sending funds, also known as the “source”
    • By default, you have $10 in your Moov wallet you can use for your test transfer. If you’re using those funds for test transfer, the Moov wallet would be the source.
  • Account information for the entity receiving funds, also known as the “destination”
  • $ Amount
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
curl https://api.moov.io/v2/accounts/{application_account_id}/transfers   \
  -u {token} \
  --data-raw '{
    "source": {
      "paymentMethodID": "UID",
    },
    "destination": {
      "paymentMethodID": "UID",
    },
    "amount": {
      "value": 100,
      "currency": "usd"
    },
    "description": "Paying Jules for last 4 classes"
  }'

What’s next

Once you’ve gotten set up, you can continue to make transfers or accept payments. You can also customize your account settings, add team members, and manage roles and permissions in the Moov dashboard. Feel free to explore our API reference to see example requests/responses or get more context on a certain endpoint.