Verification
Why Moov verifies accounts
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 |
Business accounts
For business accounts, Moov verifies the business and its business representatives (control officers and beneficial owners). Verification doesn't start until you've added the representatives and set ownersProvided: true on the account.
Check verification status
Verification runs asynchronously and typically completes within a minute, though some businesses take several minutes. Track it through the capability: when verification data is missing or fails, it appears in requirements.currentlyDue or requirements.errors from the list capabilities GET endpoint and in the Dashboard. If Moov needs documents, troubleshoot capabilities lists acceptable documents and how to upload them.
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
The business name could not be verified.
The business address could not be verified.
The business has a PO box, commercial mailing receiving agency, or registered agent listed as the commercial address.
Moov can't verify the TIN or EIN.
The business does not have past processing statements.
Do I need to run my users through KYC again if I am switching to Moov?
How long does verification take?
Are there special requirements for business representatives?