API & Drops quick start | Moov Documentation
This quick start guide brings you through the process of signing up for Moov, getting authorized for production, and creating user accounts with Moov's API and Moov.js Drops.
This guide focuses on the quickest and easiest way to get set up with a partner account and create your first connected account with Moov's API and Drops. With the API you can send secure onboarding links and create payment links to facilitate payments and payouts.
After setting up your own account, you can add and connect additional business and individual accounts to your Moov account.
Sign up for Moov
Before you get started with the API or Drops, you'll use the Moov Dashboard to create a Moov account. Once you're signed up, you can use test mode with no commitment.
If you want to move real money and onboard real business accounts, you'll need to go through verification, underwriting, and sign a contract with Moov before you'll be approved for production access. See the account requirements section for more information.
An individual with administrator or developer permissions is required to take the actions laid out in this guide.
Create API keys
To use Moov's API, you'll need to generate keys in the Dashboard. Navigate to Developers and click the New API key button. Test mode and production mode each require their own API keys. To create an API key:
- Name the API key (we suggest giving it a name that relates to the purpose)
- Make sure to copy the key and save it in a secure place
- Add any domains you'll use for testing and production
- Optional: Include a note to remind you where the key is stored
Read the API keys documentation for more information. If you're ready to jump into production mode, make sure to take any necessary precautions if you've previously been using test mode.
Explore test mode
In test mode, test data is automatically enabled in the Dashboard and the API, which allows you to explore how the platform works. Make sure you're in test mode by using the account switcher on the top left of the Dashboard view.
In the accounts API and payment links API, you can set "mode": "sandbox" to test in sandbox mode with test mode data.
Try out the following:
- Add a bank account
- Initiate verification
- Initiate a transfer
- Initiate a return
Switch to production mode
When you're ready to switch to production mode, use the account switcher to change modes. Before you start using production mode, make sure to:
- Have your production API key
- Switch out the account ID anywhere it's hard coded
- Set up new webhook URLs if you used any in test mode
Set brand colors
Select light and dark mode brand color settings with the POST create brand endpoint.
curl -X POST "https://api.moov.io/accounts/{accountID}/branding" \
-H "Authorization: Bearer {token}" \
-H "X-Moov-Version: v2026.07.00" \
-d '{
"colors": {
"dark": {
"accent": "#DB8774"
},
"light": {
"accent": "#9E432B"
}
}
}'
Onboard with hosted onboarding
Moov's hosted onboarding allows you to select capabilities, scopes, pre-fill existing information, and select a fee plan before sending a link to a secure session to finish the sign up process. A new account can be redirected to your app upon completion.
Any account onboarded through Moov's hosted onboarding process will have access to their own Dashboard. You can send a support guide to the account owner so they'll know what information and documents to gather ahead of time.
All personally identifiable information (PII) goes straight to Moov, so you won’t be responsible for storing or handling sensitive user data.
Select Capabilities
Capabilities indicate what an account is able to do. Before you begin the hosted onboarding process, decide what capabilities the account will need:
- Transfer: Authorize debit transfers
- Wallet: Store funds with Moov
- Send funds: Send funds to another account
- Collect funds: (business accounts only): Collect funds from another account
- Card issuing beta: (business accounts only): Provide a virtual card to an account
Each capability has different data and verification requirements depending on whether the account represents a business or individual. You should familiarize yourself with capability requirements before moving on to the next step.
Available capabilities:
| Capability | Description |
|---|---|
transfers |
Participation in any Moov transfer. Auto-enabled on all qualifying accounts. |
wallet.balance |
Hold funds in a Moov wallet; participate in wallet-to-wallet transfers. Auto-enabled when any collect/send/money-transfer/card-issuing capability is enabled |
collect-funds.card-payments |
Accept card and digital wallet payments |
collect-funds.ach |
Accept ACH debit payments |
send-funds.ach |
ACH credits (standard and same-day) |
send-funds.instant-bank |
Real-time payouts via RTP (FedNow support coming soon) |
send-funds.push-to-card |
Instant card payouts (Visa Direct & Mastercard Send) |
money-transfer.pull-from-card |
Pull funds from cards (Visa Direct & Mastercard Send) |
money-transfer.push-to-card |
Push funds to cards (Visa Direct & Mastercard Send) |
card-issuing |
Create and manage virtual prepaid cards |
See our capabilities section for more information.
Select scopes
Scopes specify what actions an account can take on Moov's platform. When you choose to enable certain scopes for an account, you create connections between your account, the business/merchant account, and the account's customers. You have the option to choose a set of scopes for your partner account (scopes) and a set of scopes for the account (grantScopes).
Available scopes:
accounts.readaccounts.writeanalytics.readapple-pay-merchant.readapple-pay-merchant.writeapple-pay.readapple-pay.writebank-accounts.readbank-accounts.writecapabilities.readcapabilities.writecards.readcards.writedocuments.readdocuments.writefed.readfiles.readfiles.writeissued-cards.readissued-cards.writeissued-cards.read-securepayment-methods.readping.readprofile-enrichment.readprofile.readprofile.writeprofile.disconnectrepresentatives.readrepresentatives.writetransfers.readtransfers.writewallets.read
For general usage, Moov suggests to enable at least basic scopes for all accounts.
Select pricing fee plan
During the onboarding process, you'll also choose a fee plan for the account, which they will agree to as part of their terms of service platform agreement.
With a cost plus plan, card networks’ interchange fees and Moov’s processing markup are passed along to the account. With a flat rate plan, you can lump all the processing fees together with a flat rate customized for each account.
To see what fee plans are available for an account, send the new account's accountID to the GET list fee plans endpoint.
Create & send onboarding link
Create the link by filling in all required and any optional or pre-fill data fields you want. The response will include a link you can send to a business/merchant via email or SMS.
A new account will be asked to provide bank details to set up a funding source. Moov will send a small deposit with a verification code to verify the bank account instantly, if eligible. If the bank doesn't support instant verification, Moov will automatically use same-day ACH instead of RTP for verification. ACH verification may take 1-2 days.
You can track the status of an account's application a few ways.
Onboarding Drop (alternative)
An alternative way to onboard an account is Moov's onboarding Drop. Drops are pre-built, customizable UI components that take care of the entire account creation workflow within your application.
The Drop interacts directly with Moov’s API using JWTs to securely send data between your end users browser and Moov. Drops provide a secure flow, and PII goes straight to Moov, so you won’t be responsible for storing or handling sensitive user data. The onboarding Drop has the Moov terms of service agreement built in to the process.
Moov Drops are defined in the Moov.js package. After initializing Moov.js, you will have access to our full library of Drops.
The Drop is an HTML element with properties accessed through JavaScript.
Create a product
Products are optional, but allow you to create a catalog of items with the following:
- Name
- Description
- Base price
- Image
- Options group
Options allow you to create additional properties on each item, such as a minimum or maximum selection, or identifiers. Use the POST create new product endpoint to create a product.
Move money with payment links
After successfully onboarding an account, you're ready to move money. First, you'll need to identify what payment methods can be used. Use the GET list payment methods endpoint to retrieve a list of payment methods associated with the account.
Tip options
Tips are enabled per payment link and can include preset options or a free-form option. Once presets are created, you'll set tippingEnabled: true when creating the payment link and they'll be displayed in the payment link.
Tax & surcharge fee
Tax and a surcharge fee can be added to amountDetails when creating a payment link.
Send link
When you're ready, create and send a payment link via your chosen form of communication, such as email or SMS.
Troubleshoot
Troubleshoot some common issues when integrating with and using Moov:
Transfers or payment links not working
Transfers and payment links will not work before capabilities are enabled. Ensure all involved accounts have the proper capabilities requested and enabled before attempting a transfer.
Missing terms of service agreement
All Moov accounts requiring wallet, send funds, or collect funds capabilities must agree to Moov's platform terms of service agreement. If the agreement is missing on an account, the account will not be able to participate in any action on Moov's platform that requires a wallet, sending funds, or collecting funds.
Next steps
You can manage wallet balances, send invoices, process refunds, and set up scheduled and recurring transfers all within the Dashboard. See our Dashboard documentation for more information.