## Account name inquiry in test mode

Test mode now supports name verification with Visa's ANI verification. You can test various results by entering in different name combinations.

View our [test mode](https://docs.moov.io/guides/get-started/test-mode/#name-verification) guide for more information.

## New transfer history endpoints

Two new endpoints have been added to the accounts API:

- `/accounts/{accountID}/transfers/{transferID}`
- `/accounts/{accountID}/transfers`

These endpoints allow you to [retrieve an account transfer](https://docs.moov.io/api/moov-accounts/accounts/get-transfers/) or [list account transfers](https://docs.moov.io/api/moov-accounts/accounts/list-transfers/) using query parameters. Moving forward, we suggest using the new list account transfers endpoint over the existing [list transfers](https://docs.moov.io/api/money-movement/transfers/list/) endpoint.

## Go SDK updates

[Webhook](https://docs.moov.io/guides/webhooks/webhook-events/#wallet-transactions) support for sweeps has been added to the Go SDK.

Additionally, the `verifyName` field has been added on `POST /cards` and the `verifyName` and `holderName` fields have been added on `PATCH /cards/{cardID}` to support ANI verification.

## API updates

We've relaxed the validation for the `website` field within a [business profile](https://docs.moov.io/api/moov-accounts/accounts/create/) to allow paths.

## Dashboard updates

We added the ability to search by `sweepID` in the wallet view of the Moov Dashboard (previously this was only available via the API).

## Bug fix

We fixed a bug where an account's capabilities could show a `pending` status with no listed requirements.

## Additional linked bank account types

Moov now supports general ledger and loan linked bank account types. Loan accounts allow sending credits to external loan accounts for repayment. General ledger accounts allow financial institution users to link their general ledger accounts.

See our [bank account](https://docs.moov.io/guides/sources/bank-accounts/#account-types) guide for more information.

## Test card updates

The data for `cardCategory`, `regulated`, and `commercial` has been updated for test mode cards.

For the test card starting with number 411111:

- `cardCategory` is "PERSONAL"
- `regulated` is **true**

For the test card starting with number 601111:

- `cardCategory` is "TRADITIONAL REWARDS"
- `commercial` is **true**

## Sweeps (beta)

You can now set up sweeps, which work on autopilot, sending daily transfers to external bank accounts. A sweep will payout funds from a wallet, or pull funds to cover fees and chargebacks. [Contact us](/content/contact/index.html) if you'd like to try out sweeps.

See our [sweeps](https://docs.moov.io/guides/money-movement/wallets/sweeps/) guide and [API](https://docs.moov.io/api/money-movement/sweeps/) documentation for more information.

## Scheduled transfers (beta)

We're making it easier to create future-dated transfers through scheduling. Moov is looking for early adopters to test scheduling in beta and provide feedback.

View our new guide on [scheduling transfers](https://docs.moov.io/guides/money-movement/scheduling/) for more information, or [contact our team](/content/contact/index.html) if you're interested in participating.

## End-to-end encryption

You can now use our API to generate a public key for passing secure authentication data through non-PCI compliant intermediaries, or create a JWE test token to ensure it’s acceptable by Moov.

See our [API](https://docs.moov.io/api/authentication/e2ee/) documentation for more information.

## Drops pseudo-class support & bug fix

All input [pseudo-classes](https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes#input_pseudo-classes) are now supported on Moov's composable Drops. You can style Drops based on form validity, user input interaction, and input value. Visit our [Drops documentation](https://docs.moov.io/moovjs/drops/composable-drops/) for more information.

An issue with input validity has been fixed.

## Instant micro-deposit verification

Instant micro-deposit verification introduces a faster and easier way to verify bank account ownership. This feature enables instant account verification for RTP-enabled bank accounts, allowing users to complete the process in seconds — an improvement over the traditional, multi-day, micro-deposit method. For accounts not yet RTP-enabled, the code is sent via same-day ACH.

Use instant micro-deposit verification to:

- Instantly verify accounts for RTP-enabled banks in a single session
- Ensure broad compatibility with automatic fallback to same-day ACH for other institutions
- Meet Nacha account validation requirements
- Enhance user experience with a quick, easy verification process

How it works:

1. Moov sends a $0.01 credit to the user's bank account
2. This credit contains a unique verification code
3. Users retrieve and enter the code to verify their account instantly (for RTP) or later that day (for same-day ACH)

See our [documentation](https://docs.moov.io/guides/sources/bank-accounts/verification/instant-micro-deposit/) for more information.

## Cards API response updates

New fields, `commercial` and `regulated`, will now be included in successful responses for the link a card, update a card, retrieve a card, and list cards [endpoints](https://docs.moov.io/api/sources/cards/). Both of these fields provide additional details for a card:

- `commercial` indicates whether the card is for commercial or personal use
- `regulated` indicates whether the card's issuing bank is subject to capped debit interchange rates under the Durbin Amendment. This is determined by the asset size of the issuing bank. A value of `true` means the issuing bank’s asset size qualifies for the cap on interchange fees.

## Hosted onboarding (coming soon)

Soon you'll be able to use Moov's hosted onboarding forms to cut down the time it takes to onboard users. You'll create an invite and send a secure form link from the Moov Dashboard. Users will move through the onboarding flow and provide data necessary to fulfill capability requirements, agree to pricing, and accept Moov's terms. Once users complete the onboarding form, you'll be notified in the Dashboard that they're ready to move money. You can start building for this new flow now.

See our [hosted onboarding](https://docs.moov.io/guides/accounts/hosted-onboarding/) guide and our [API reference](https://docs.moov.io/api/moov-accounts/onboarding/) for details.

## Disputes in the Dashboard

You can now fully manage disputes in the [Dashboard](https://dashboard.moov.io/signin). You can view, accept, delete, and update disputes, as well as view, upload, and update dispute evidence.

## Updates to dynamicDescriptor

Accounts must now be approved by Moov to use the `dynamicDescriptor` field - an optional field to override the default card statement descriptor on a transfer. View our [documentation](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/statement-descriptors/#transfer-level-statement-descriptor) for more details.

## Changes to capability requirements

Capability requirements have updated to reflect financial institution exemptions and additional underwriting requirements.

### Financial institution exemptions

US state and/or federally regulated financial institutions are exempt from [beneficial ownership](https://docs.moov.io/guides/accounts/requirements/business-representatives/#owner) requirements. Our account onboarding process will conditionally require a financial institution to provide their primary regulator during signup, which will be communicated through capability requirements. Additionally, providing [business representatives](https://docs.moov.io/guides/accounts/requirements/business-representatives/) is not a requirement for these financial institutions.

### Underwriting requirements

Additional fields have been added for account underwriting that detail fulfillment, return policies, and the type of volume expected by merchants. If you aren't already, ensure you're providing these fields. See the [underwriting API](https://docs.moov.io/api/moov-accounts/underwriting/put/) for more details.

## Moov.js version update

We identified a long-standing issue with Moov's client-side JavaScript SDK, Moov.js. Due to a misconfiguration, it was possible for users to cache outdated versions of Moov.js in their local browsers and experience page-breaking `404` errors following the release of a new version of Moov.js. Users would then have to manually clear their local browser cache to resolve the issue.

We resolved this issue with the release of Moov.js v0.6.12 on May 14, 2024. If your website used Moov.js prior to that date, some of your users may have outdated versions of Moov.js stored in their browser cache.

If your codebase used Moov.js prior to May 14, 2024, please review your codebase for the url `https://js.moov.io/v1`, and update the url to `https://js.moov.io/v1?min=v0.6.12`.

## Cards endpoints documentation

Our API docs now reflect previously undocumented fields already present in our cards endpoints.

In the update a card `PATCH` [endpoint](https://docs.moov.io/api/sources/cards/update/) documentation, we now include the `merchantAccountID` as an optional field in the request body.

We also now document the following fields returned in `200` responses for the link a card `POST` [endpoint](https://docs.moov.io/api/sources/cards/create/) as well as the update a card `PATCH` [endpoint](https://docs.moov.io/api/sources/cards/update/):

- `issuerPhone`
- `issuerURL`
- `cardCategory`

## Visa name verification field

For Visa cards, we support Visa’s Account Name Inquiry (ANI) for enhanced cardholder verification. ANI is an optional tool that ensures the name provided on the linked card matches the name held on file with the issuer. There is a new optional `verifyName` field in the [link a card](https://docs.moov.io/api/sources/cards/create/)`POST` and [update card](https://docs.moov.io/api/sources/cards/update/)`PATCH` endpoints for requesting this name verification.

Results of the verification request are returned in the `cardVerification.accountName` as shown in the sample response object below:

Ask

```jsx
    {
      "cardVerification": {
        "accountName": {
          "fullName": "match", // Options: noMatch, match, partialMatch, notChecked
          "firstName": "match", // Options: noMatch, match, partialMatch, notChecked
          "middleName": "noMatch", // Options: noMatch, match, partialMatch, notChecked
          "lastName": "match" // Options: noMatch, match, partialMatch, notChecked
        }
      }
    }
```

We’ve made a variety of small improvements to the accounts section of the Dashboard. Keep reading for more details on what's changed.

## Peek preview for accounts lists

We’ve added [peek preview](https://docs.moov.io/guides/dashboard/accounts/#peek-preview) functionality to the accounts list view in the Dashboard. Press the `space` key to toggle the preview on and off. You can move your cursor up and down the accounts list and the preview will update with the corresponding account information. The `esc` key will also dismiss the preview.

## Capability requirements

We removed **verification status** and replaced the status with an indicator that reflects if any capabilities have requirements pending for a particular account. Read our [Dashboard accounts guide](https://docs.moov.io/guides/dashboard/accounts/#view-errors-and-actions) for more details.

## Filter accounts by capability & capability status

You can now [filter accounts by capability](https://docs.moov.io/guides/dashboard/accounts/#filter-accounts-by-capability) or capability status, allowing you to quickly surface specific account lists by capability-specific criteria.

## Data sync

[Data sync](https://docs.moov.io/guides/developer-tools/data-sync/) is a new no-code feature that sends your Moov account data to Google BigQuery, allowing you to access your payment data with tools you use to run your business, like Looker and Tableau.

## Test mode updates

- Winning and losing disputes: You can now simulate winning or losing disputes by entering the text evidence specified in the [test mode guide](https://docs.moov.io/guides/get-started/test-mode/#disputes).
- RTP failures: We also added the ability to simulate various failure scenarios with RTP in test mode. See the [test mode guide](https://docs.moov.io/guides/get-started/test-mode/#rtp) for the list of failure cases.

## ACH micro-deposit return code update

An R29 return code for ACH micro-deposits will now result in the bank account status `verificationFailed` and you will need to re-verify the account. See our [documentation on ACH return codes](https://docs.moov.io/guides/money-movement/accept-payments/ach/returns/#return-codes) for more information. Note that some return codes will result in a different status for ACH micro-deposits and ACH transfers.
