Changelog

Discover new features and improvements to Moov.

Moov Drop enhancements, sweep statement descriptor, & more

Moov Drops

We freshened up the design of the onboarding, payment method, and file upload Moov Drops, improving behavior on small screens and increasing color contrast and legibility.

You can now customize the border radius of elements within the onboarding, payment method, and file upload Moov Drops. Use --moov-radius-large and --moov-radius-small in your theme to change them from the default.

Show your business’ avatar on the start page of the onboarding Drop by adding the showLogo property to the component or setting the show-logo attribute to true.

1
2
3
4
5
6
7
<moov-onboarding show-logo="true"></moov-onboarding>

<!-- or -->
<script>
  const onboardingDrop = document.querySelector('moov-onboarding');
  onboardingDrop.showLogo = true;
</script>
  • Financial institutions will be asked for their primary regulator from the onboarding Drop.
  • Loan linked bank account type can be added from the payment method and onboarding Drops.

Wallets

Now by default, transfers created by sweeps include a short, unique identifier used in company entry descriptions which appear on the recipient’s bank statement. On each sweep, you can view this descriptor in the statementDescriptor field.

Accounts

The transfers capability no longer requires a website or description for businesses.

Bug fixes

  • Improved error handling for the add funds flow.
  • Fixed a bug in which disabled payment options were being returned as transfer options.
  • Fixed a bug where the status reason for RTP credit failure was not appearing.
  • Fixed a bug where transfer details stopped loading when viewing multiple transfers back to back.
  • Fixed a bug where RTP transactions were showing 0000 as the transactionID instead of MOOV.
  • Fixed a bug where the account selector in the Dashboard eventually stops working.
  • Fixed a bug where ACH credit failures were not producing the correct failure response.
  • Fixed a bug where accounts were receiving a message that a website or description was missing even though the requirement has been removed.
  • Fixed misspelling of “website” in an error message in the onboarding Drop.
  • Fixed an issue that prevented Moov Drop dialogs from scrolling vertically on small screens.
  • Fixed an issue where the representative avatar was loading the main Moov account avatar instead in the onboarding Drop.

Updates to test mode, API, Go SDK, Dashboard & more

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 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 or list account transfers using query parameters. Moving forward, we suggest using the new list account transfers endpoint over the existing list transfers endpoint.

Go SDK updates

Webhook 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 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

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 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 & scheduling betas

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 if you’d like to try out sweeps.

See our sweeps guide and API 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 for more information, or contact our team 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 documentation for more information.

Drops pseudo-class support & bug fix

All 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 for more information.

An issue with input validity has been fixed.

Instant micro-deposit verification

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 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. 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

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 guide and our API reference for details.

Disputes in the Dashboard

You can now fully manage disputes in the Dashboard. 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 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 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 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 for more details.

Moov.js version update and API docs

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 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 as well as the update a card PATCH endpoint:

  • issuerPhone
  • issuerURL
  • cardCategory

Optional Visa name verification field

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 cardPOST and update card 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:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
    {
      "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
        }
      }
    }

Dashboard updates

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 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 for more details.

Filter accounts by capability & capability status

You can now filter accounts by capability or capability status, allowing you to quickly surface specific account lists by capability-specific criteria.

Subscribe

Moov is constantly improving. Subscribe to our changelog email to receive a summary of changes twice a month.