Additions and improvements to Moov

API authentication

You can now use basic authentication to authenticate with the Moov API! It’s important that you only use this for server-to-server communication and not in a browser.

Once you’ve created an API key, within your server-side app set the Authorization header to Basic <credentials> where credentials is the Base64 encoding of public key and private key joined by a single colon :. When using this authentication method you don’t need to set scopes, but keep in mind that your API key will have read and write access to every Moov endpoint within your account.

OAuth 2.0 based authentication with scopes remains the most secure way to communicate with the Moov API from a browser and can still be used to create restricted access tokens for server-to-server communication.

Account capabilities

You no longer need to request the transfers capability after creating an account because it will automatically be requested and enabled as soon as the account is created. This change simplifies the process of creating accounts that will be charged or sent a payout that don’t require verification.


  • We made it quicker and easier to request capabilities for new accounts by allowing you to create an account and request capabilities in the same API call.
  • In an effort to reduce confusion and accidental overwrites of existing data, we have added PATCH methods and have removed the PUT methods for updating Accounts and Representatives. PUT updates to Accounts and Representatives will no longer be supported.

Account locking

  • Once a Moov account has been verified, you will be unable to edit most of the business or individual identity details as additional verification may need to take place. If you need to update verified information, requests should be sent to our support team.


We made a handful of dashboard improvements to improve how we communicate the status of your account.

  • Transfer groups are now visible in the Moov Dashboard so you know exactly where your funds are at all times.
  • We made it easier to find and fix capability errors so you know exactly what needs to be fixed before a transfer can be processed.
  • After creating a new account or payment method in the Dashboard, you’ll see sample code snippets that give context on how you can perform those same actions more efficiently using our API.

Node SDK

  • We improved the error messaging in the Node SDK and released the official 1.0 version of the SDK.
  • We’ve added CommonJS support for the Node SDK. You can now use the SDK in ESM and CommonJS projects.


  • We have introduced the X-Wait-For header for use when making a transfer. When you make a transfer today you get an immediate response containing only the transferID to indicate the transfer instructions have been received. With the new X-Wait-For header, you can pass a value of rail-response to tell the service that you want the full transfer payload back after the request has gone out to the payment rail and back. This is useful for handling client-side errors and retries for card transactions that communicate with the card networks in real time.

Test mode

  • Things don’t always go according to plan—we’ve added a new test card in test mode to help you simulate what happens when a card payment is declined.

Node SDK

We made a number of additions to the Node SDK, including the following:


  • We streamlined our onboarding process to help prospects start learning what Moov can do for them as quickly as possible.
  • We edited test mode so that there is no need to spend any time adding business data or creating accounts and payment methods before you’ve decided to use Moov. Test mode now pre-populates sample business information so you can focus on exploring the platform.


  • You can now monetize your transfers with facilitator fees. When you set a facilitator fee on a transfer the amount of the fee will be moved to your Moov wallet.
  • Transfer groups can now include wallet-to-bank transfers to end the chain.

Transfer groups

  • Transfer groups are now available via the Moov API. Transfer groups provide a way to associate multiple transfers together by a shared ID of the parent transfer. Use the transferID of a to-wallet transfer as the source of a transfer to group them. The subsequent transfer will be queued until its parent completes, and you can choose to make it visible to the recipient.
    • Support for transfer groups will be coming soon to the Moov Dashboard.

Bug fixes

  • We fixed an issue with Dashboard metrics being incorrectly calculated.
  • We have consolidated the Moov Onboarding Drop to further streamline the client experience.


  • For all new accounts, we will auto-populate your test account data so you can start exploring and learning right away.
  • We clarified business requirements in our docs and the Moov Dashboard.
  • We updated our SSN requirements to toggle between requiring only the last four of a client’s SSN or requiring their full SSN.