Verification
Overview
Banking regulations require financial institutions to verify customer identities before enabling certain capabilities. This includes:
- Know Your Customer (KYC): Verifying individual identity
- Know Your Business (KYB): Verifying business identity and beneficial ownership
All Moov accounts are checked against OFAC and sanctions lists to ensure they are not prohibited from conducting business in the United States.
Moov simplifies this process: request capabilities for an account, collect the required data, and Moov automatically starts verification.
When verification is required
| Scenario | Verification required? | Capability |
|---|---|---|
| Storing money in a Moov wallet | ✓ | wallet.balance |
| Collecting money from another account | ✓ | collect-funds |
| Sending money to another account | ✓ | send-funds |
| Receiving payouts | transfers | |
| Paying with a card or bank account | transfers |
Beneficial ownership
For business accounts, Moov must verify both the business entity and its business representatives (control officers and beneficial owners).
Under FinCEN's Customer Due Diligence rule, Moov must verify all individuals who own 25% or more of the business (beneficial owners) and at least one control officer. See the business representatives guide for complete requirements.
Before verification can start:
- Create all required business representatives
- Set
ownersProvided: trueon the account using the PATCH endpoint
Verification timing
Verification is performed asynchronously and typically completes within a minute. However, some businesses may take multiple minutes.
Most verifications complete automatically. If Moov cannot verify information automatically, you'll receive requirements for additional documentation through the capabilities API or Dashboard.
Subscribe to capability webhooks to receive real-time updates on verification status:
| Event | Description |
|---|---|
capability.requested |
Capability has been requested |
capability.updated |
Capability status changed (e.g., requirements fulfilled, verification complete) |
Required verification data
The tables below list all verification data fields and their API paths. Moov may request additional documents to complete verification—these will appear in the Dashboard and the capabilities API.
Business profile
Set on profile.business via the accounts API
| Field | API path | Status | Notes |
|---|---|---|---|
| Legal business name | legalBusinessName |
Required | |
| Doing business as | doingBusinessAs |
Optional | |
| Business type | businessType |
Required | |
| Address | address |
Required | Must be a physical location; no PO boxes or registered agents |
| Phone | phone |
Required | |
| EIN | taxID.ein.number |
Required | SSN can be used for sole proprietors |
| Description | description |
Conditional | Required if website not provided |
| Website | website |
Conditional | Required if description not provided |
| Industry | industry |
Required | See industries endpoint; or use industryCodes.mcc |
| MCC code | industryCodes.mcc |
Conditional | Required if industry not provided |
| Owners provided | ownersProvided |
Conditional | Required for corporations, partnerships, and LLCs |
| Terms of Service | termsOfService |
Required | Set on the account object |
View requirement IDs for capabilities API
| Field | Requirement ID |
|---|---|
| Legal business name | business.legalname |
| Doing business as | business.dba |
| Business type | business.business-type |
| Address | business.address |
| Phone | business.phone |
| EIN | business.ein |
| Description | business.description |
| Website | business.description-or-website |
| Industry | business.industry |
| MCC code | business.industry-code-mcc |
| Owners provided | business.indicate-owners-provided |
| Terms of Service | account.tos-acceptance |
Representative(s)
Set via the representatives API
For details on control officers vs beneficial owners, see Business representatives.
| Field | API path | Status | Notes |
|---|---|---|---|
| First name | name.firstName |
Required | |
| Last name | name.lastName |
Required | |
email |
Required | ||
| Phone | phone |
Required | |
| Address | address |
Required | Must be a residential address; no PO boxes or commercial addresses |
| Date of birth | birthDate |
Required | |
| Full SSN | governmentID.ssn.full |
Required | |
| Is controller | responsibilities.isController |
Required | At least one representative must be a controller |
| Job title | responsibilities.jobTitle |
Conditional | Required if isController is true |
| Is owner | responsibilities.isOwner |
Conditional | Required if ownership ≥25% |
| Ownership percentage | responsibilities.ownershipPercentage |
Conditional | Required if isOwner is true |
View requirement IDs for capabilities API
| Field | Requirement ID |
|---|---|
| First name | representative.{uuid}.firstname |
| Last name | representative.{uuid}.lastname |
representative.{uuid}.email | |
| Phone | representative.{uuid}.mobile |
| Address | representative.{uuid}.address |
| Date of birth | representative.{uuid}.birthdate |
| Full SSN | representative.{uuid}.ssn |
| Is controller | representative.{uuid}.is-controller |
| Job title | representative.{uuid}.job-title |
| Is owner | representative.{uuid}.is-owner |
| Ownership percentage | representative.{uuid}.ownership |
For additional requirements beyond verification, see our underwriting guide.
Troubleshoot verification