Create accounts

Learn how to create accounts, capture information, and link bank accounts.

When you sign up for the Moov Dashboard, we will create an account for you. Your account is different from other Moov accounts. Your account:

  • Facilitates money movement
  • Is hidden in your list of accounts
  • Can be used as a source or destination in a transfer
  • Can be updated through the settings page in the Dashboard

When interacting with transfers via Moov.js or any client-side integration, you must specify your accountID for the following scopes:

  • /accounts/{accountID}/transfers.write
  • /accounts/{accountID}/transfers.read

We refer to accounts created by your account as user accounts, which can be either businesses or individuals. Moov’s requirements for businesses and individuals depends on which capabilities the account needs.

Throughout our documentation, facilitatorAccountID references your account, and connectedAccountID references your user accounts.

Capabilities

You’ll request access to capabilities when creating an account. Each capability has different requirements depending on if the account is an individual or business account. Familiarize yourself with capabilities requirements before creating an account (you can also request capabilities after account creation).

Click on the capability to view the requirements for each account type.

Capability Account type
transfers Individual, business
wallet Individual, business
send funds Individual, business
collect funds Business

Depending on the capabilities requested for the Moov account you just set up, you may need to provide additional information about the account in order for Moov to start the automatic verification process. For more information, read our verification guide.

Platform terms of service agreement

If an account requests a capability that requires acceptance of Moov’s terms of service, you must display a link to the Moov platform agreement in your application. See the platform terms of service agreement guide for more information and implementation instructions. You can also implement the agreement via Moov.js.

Financial ownership

Moov is required to certify beneficial ownership, which is any individual with ≥25% ownership of the business, or someone with significant responsibility to control or manage the business, like an executive officer or director. Moov refers to these individuals as business representatives. Moov must verify business representatives before a business account send funds or collect funds from other accounts.

Representatives can be created via the Dashboard or the API.

Dashboard

The Dashboard will bring you through the entire owner flow, which incudes creating owners and providing ownership percentage. Once you finish the process, if any information is missing, you’ll receive a notification in the Dashboard. Once all owners have been created, and all required information is entered, Moov can begin account verification.

API

Use the representatives POST endpoint to create each owner. For each owner, set isOwner to true, as well as provide the ownershipPercentage. If a representative does not own ≥25% of the company, they are not considered a beneficial owner. You can set isOwner to false and leave the ownershipPercentage field blank.

Some businessTypes require the additional step of updating ownersProvided before Moov can verify an account:

Moov account businessType ownersProvided required
privateCorporation
llc
partnership
soleProprietorship
unincorporatedAssociation
trust
publicCorporation
unincorporatedNonProfit
incorporatedNonProfit

After you’ve created all the owners, patch the profile’s business object by setting ownersProvided to true using the accounts PATCH endpoint. This indicates to Moov the profile is complete, and verification can begin.

If no one owns ≥25%, you don’t need to create any owners. However, even if no owners are created, you’ll still need to set ownersProvided to true using the PATCH endpoint if the business type is a private corporation, an LLC, or a partnership.

Create account example

The following examples create a new Moov account. Accounts automatically receive the transfers capability.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
curl -X POST "https://api.moov.io/accounts" \
  -H "Authorization: Bearer {token}" \
  --data-raw '{
    "accountType": "business",
    "profile": {
      "business": {
        "legalBusinessName": "Whole Body Fitness LLC",
        "businessType": "llc",
        "website": "wbfllc.com"
      }
    },
    "foreignId": "your-correlation-id"
  }'\
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
const moov = new Moov(credentialsObject);

const accountPayload = {
  accountType: "business",
  profile: {
    business: {
      legalBusinessName: "Whole Body Fitness LLC",
      businessType: "llc",
      website: "wbfllc.com"
    }
  },
  foreignId: "your-correlation-id"
};

const account = await moov.accounts.create(accountPayload);
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
const moov = Moov(token);

const accountPayload = {
  accountType: "business",
  profile: {
    business: {
      legalBusinessName: "Whole Body Fitness LLC",
      businessType: "llc",
      website: "wbfllc.com"
    }
  },
  foreignId: "your-correlation-id"
};

const account = await moov.accounts.create({accountPayload});

The account creation method will return the account object. You can use the account.accountID to request additional capabilities if needed.

Most capabilities require your users to accept Moov’s terms of service. Check out the capabilities guide for detailed requirements.
Summary Beta