# Moov Documentation > Moov is a payments platform that enables developers to integrate money movement capabilities into their applications. ## Best Practices for Integrating Moov ### Getting Started 1. **Create a Moov Account**: Sign up at https://dashboard.moov.io and obtain API keys 2. **Choose Your Integration Path**: - Use the REST API for maximum flexibility - Use backend SDKs (Go, Node.js, Python, .NET, Ruby) for type-safe server integration - Use Moov.js for secure client-side data collection - Use Moov Drops for pre-built, drop-in UI components - Use hosted onboarding for merchant account creation - Use payment links for a hosted checkout flow ### Authentication - Always use API keys securely on the server-side - Never expose secret keys in client-side code - Use OAuth scopes to limit access permissions ### Money Movement 1. **Create Accounts**: Start by creating Moov accounts for your users 2. **Verify Identity**: Complete KYC/KYB verification before enabling money movement 3. **Add Payment Methods**: Link bank accounts, cards, or wallets 4. **Create Transfers**: Initiate payments between accounts 5. **Monitor Status**: Use webhooks to track transfer lifecycle events ### Payment Methods - **ACH**: Best for bank-to-bank transfers, takes 1-3 business days - **RTP (Real-Time Payments)**: Instant transfers, available 24/7 - **Cards**: For card payments with faster settlement - **Wallets**: Use Moov wallets for holding funds ### Security Best Practices - Implement webhook signature verification - Use HTTPS for all API requests - Store sensitive data encrypted - Follow PCI compliance guidelines for card data - Implement rate limiting and monitoring ### Error Handling - Always handle API errors gracefully - Implement retry logic with exponential backoff - Log errors for debugging and monitoring - Provide user-friendly error messages ### Testing - Use sandbox mode for development - Test all payment flows before going live - Verify webhook handling - Test error scenarios ## Key Resources ### Quick Start - [Quick start](https://docs.moov.io/guides/quick-start/index.md): The quick start guide brings you through the process of signing up for Moov, getting authorized for production, and creating user accounts. ### Essential Guides- [Account types](https://docs.moov.io/guides/accounts/account-types/index.md): Learn about the different types of Moov accounts and the basic requirements to start moving money.- [All accounts](https://docs.moov.io/guides/dashboard/accounts/all-accounts/index.md): View account information and manage accounts you've created.- [Business representatives](https://docs.moov.io/guides/accounts/requirements/business-representatives/index.md): Learn about the types of business representatives, and what Moov requires to be submitted for each type.- [Declines](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/declines/index.md): Understand why certain card payments are declined and how Moov categorizes different types of declines.- [Fund a wallet](https://docs.moov.io/guides/money-movement/wallets/funding/index.md): Learn how to fund a Moov wallet.- [Hosted onboarding](https://docs.moov.io/guides/accounts/hosted-onboarding/index.md): This tutorial shows you how to create an onboarding link to a co-branded form through our secure hosted onboarding process.- [Multiple wallets](https://docs.moov.io/guides/sources/wallets/multiple-wallets/index.md): Learn how to create and manage multiple wallets to organize funds across different business functions within a single Moov account.- [ACH overview](https://docs.moov.io/guides/money-movement/accept-payments/ach/ach-overview/index.md): Create payments that directly involve external bank accounts using the Automated Clearing House (ACH) network.- [Transfers overview](https://docs.moov.io/guides/money-movement/overview/index.md): Learn about the flow of transfers and the options for sources and destinations.- [ACH processing speed](https://docs.moov.io/guides/money-movement/accept-payments/ach/ach-processing-speeds/index.md): Learn how ACH payments are processed in batches and uploaded to Moov's partner financial institutions before certain cutoff times.- [Request capabilities](https://docs.moov.io/guides/accounts/capabilities/request/index.md): Request capabilities for business or individual accounts, and learn how they determine the actions an account can perform.- [RTP transfers](https://docs.moov.io/guides/money-movement/send-payments/rtp/index.md): Instantly send funds from a Moov wallet to a bank account with RTP.- [Sweeps](https://docs.moov.io/guides/money-movement/wallets/sweeps/index.md): Automate daily balance settlements to your user's verified bank accounts by setting up sweeps.- [Webhook events](https://docs.moov.io/guides/webhooks/webhook-events/index.md): Moov generates events when something happens in our system. We record the relevant data and make it available to you.- [Wallet balance](https://docs.moov.io/guides/sources/wallets/balance/index.md): Learn how to find details about a wallet's available funds.- [ACH details & statuses](https://docs.moov.io/guides/money-movement/accept-payments/ach/ach-details/index.md): View possible statuses and details for your ACH transfers.- [Disputes](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/index.md): Understand how Moov handles disputes, and the type of information you can receive about them.- [How to set up webhooks](https://docs.moov.io/guides/webhooks/set-up-webhooks/index.md): Configure and optimize webhooks for your integration.- [Onboarding links](https://docs.moov.io/guides/dashboard/accounts/onboarding-links/index.md): Create, send, and view account onboarding links in the Dashboard.- [Push to card](https://docs.moov.io/guides/money-movement/send-payments/push-to-card/index.md): Provide faster access to funds for your customers by pushing funds to cards.- [Quick start](https://docs.moov.io/guides/quick-start/index.md): The quick start guide brings you through the process of signing up for Moov, getting authorized for production, and creating user accounts.- [Capability requirements](https://docs.moov.io/guides/accounts/capabilities/requirements/index.md): Check capability requirements for business and individual accounts.- [Cash out a wallet](https://docs.moov.io/guides/money-movement/wallets/cash-out/index.md): Learn how cash out funds from a Moov wallet.- [Check webhook signatures](https://docs.moov.io/guides/webhooks/check-webhook-signatures/index.md): Learn how to confirm that webhook events were sent by Moov.- [Payment methods](https://docs.moov.io/guides/dashboard/settings/payment-methods/index.md): View and manage payment methods associated with your account.- [Payment methods](https://docs.moov.io/guides/money-movement/payment-methods/index.md): Learn about payment methods and every way an account can move funds to another account.- [ACH returns & exception handling](https://docs.moov.io/guides/money-movement/accept-payments/ach/returns/index.md): Different ACH return scenarios and how to troubleshoot various errors.- [Reversals](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/reversals/index.md): Learn how to reverse or refund transfers using a more flexible reversals endpoint.- [Tap to Pay on Android](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/tap-to-pay-android/index.md): Use Moov's SDKs Android to handle payment authorization and processing for tap to pay transactions.- [Tap to Pay on iPhone](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/tap-to-pay-iphone/index.md): To process transactions with Tap to Pay on iPhone, integrate Moov's iOS SDK, MoovKit.- [Wallet transactions](https://docs.moov.io/guides/sources/wallets/transactions/index.md): Wallet transactions provide insight into funds that move in and out of an account’s wallet.- [Troubleshoot capabilities](https://docs.moov.io/guides/accounts/capabilities/troubleshoot/index.md): Learn about capability requirement errors, what they mean, and how to address them in the Moov API or Dashboard.- [Verification](https://docs.moov.io/guides/accounts/requirements/identity-verification/index.md): Learn about KYC and business representative verification requirements.- [Create accounts](https://docs.moov.io/guides/accounts/create-accounts/index.md): Follow this step by step guide to create accounts with our API, SDKs, and Moov.js.- [Disputes](https://docs.moov.io/guides/dashboard/transfers/disputes/index.md): Learn how to view and manage disputes from the Dashboard.- [Pull from card](https://docs.moov.io/guides/money-movement/accept-payments/pull-from-card/index.md): Instantly access money from your customers by pulling funds from their cards.- [Refunds](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/refunds/index.md): Our traditional refund method. See the reversal method for a more flexible option.- [Send funds tutorial](https://docs.moov.io/guides/money-movement/send-payments/send-funds/index.md): Follow this step by step guide to send payouts or facilitate transfers between accounts using our API or SDKs.- [Underwriting](https://docs.moov.io/guides/accounts/requirements/underwriting/index.md): Learn when Moov require underwriting and how to submit the information we ask for.- [Cancellations](https://docs.moov.io/guides/money-movement/accept-payments/ach/cancellations/index.md): Cancel an ACH transfer.- [Platform terms of service agreement](https://docs.moov.io/guides/accounts/requirements/platform-agreement/index.md): Learn how to implement Moov's platform terms of service agreement with our API or Moov.js.- [Card settlement timing](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/timing/index.md): Understand how Moov takes advantage of the last settlement cutoff available for each card network.- [Transfer funds to yourself tutorial](https://docs.moov.io/guides/money-movement/send-payments/transfer-funds-to-yourself/index.md): Follow this step by step guide to send funds to yourself using our API or SDKs.- [Update accounts](https://docs.moov.io/guides/accounts/updating-accounts/index.md): Learn how and when to update certain information in Moov accounts.- [Payment links](https://docs.moov.io/guides/money-movement/payment-links/index.md): Create payment links with Moov to send or collect from cards, bank accounts, or Apple Pay.- [Receipts](https://docs.moov.io/guides/money-movement/receipts/index.md): Send branded receipts to payers for each transfer.- [Debt repayment](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/debt-repayment/index.md): Compliantly process debt repayment transactions and take advantage of interchange incentive programs with lower fees.- [Scheduled transfers](https://docs.moov.io/guides/money-movement/scheduling/index.md): Automate money movement on a recurring basis. Define a recurring schedule with a transfer amount, source, and destination.- [Events & statuses](https://docs.moov.io/guides/money-movement/events-and-statuses/index.md): See different transfer failure scenarios and how Moov handles them.- [Recurring payments](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/recurring-payments/index.md): Learn about card schemes and how to implement recurring payments.- [Statement descriptors](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/statement-descriptors/index.md): Customize statement descriptors on card payments to reduce disputes and improve the user experience by providing context.- [Transfer groups](https://docs.moov.io/guides/money-movement/transfer-groups/index.md): Transfer groups eliminate delays and create a seamless payment experience for multiple parties involved in a single transaction payment flow. ### Money Movement & Transfers - [Transfers](https://docs.moov.io/guides/dashboard/transfers/all-transfers/index.md) - [Declines](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/declines/index.md) - [Fund a wallet](https://docs.moov.io/guides/money-movement/wallets/funding/index.md) - [ACH overview](https://docs.moov.io/guides/money-movement/accept-payments/ach/ach-overview/index.md) - [Transfers overview](https://docs.moov.io/guides/money-movement/overview/index.md) - [ACH processing speed](https://docs.moov.io/guides/money-movement/accept-payments/ach/ach-processing-speeds/index.md) - [RTP transfers](https://docs.moov.io/guides/money-movement/send-payments/rtp/index.md) - [Sweeps](https://docs.moov.io/guides/money-movement/wallets/sweeps/index.md) - [ACH details & statuses](https://docs.moov.io/guides/money-movement/accept-payments/ach/ach-details/index.md) - [Disputes](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/disputes/index.md) - [Payment links](https://docs.moov.io/guides/dashboard/transfers/payment-links/index.md) - [Push to card](https://docs.moov.io/guides/money-movement/send-payments/push-to-card/index.md) - [Cash out a wallet](https://docs.moov.io/guides/money-movement/wallets/cash-out/index.md) - [Payment methods](https://docs.moov.io/guides/money-movement/payment-methods/index.md) - [ACH returns & exception handling](https://docs.moov.io/guides/money-movement/accept-payments/ach/returns/index.md) - [Reversals](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/reversals/index.md) - [Schedules](https://docs.moov.io/guides/dashboard/transfers/schedules/index.md) - [Tap to Pay on Android](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/tap-to-pay-android/index.md) - [Tap to Pay on iPhone](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/tap-to-pay-iphone/index.md) - [Disputes](https://docs.moov.io/guides/dashboard/transfers/disputes/index.md) - [Pull from card](https://docs.moov.io/guides/money-movement/accept-payments/pull-from-card/index.md) - [Refunds](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/refunds/index.md) - [Send funds tutorial](https://docs.moov.io/guides/money-movement/send-payments/send-funds/index.md) - [Cancellations](https://docs.moov.io/guides/money-movement/accept-payments/ach/cancellations/index.md) - [Card settlement timing](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/timing/index.md) - [Transfer funds to yourself tutorial](https://docs.moov.io/guides/money-movement/send-payments/transfer-funds-to-yourself/index.md) - [Payment links](https://docs.moov.io/guides/money-movement/payment-links/index.md) - [Receipts](https://docs.moov.io/guides/money-movement/receipts/index.md) - [Debt repayment](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/debt-repayment/index.md) - [Scheduled transfers](https://docs.moov.io/guides/money-movement/scheduling/index.md) - [Events & statuses](https://docs.moov.io/guides/money-movement/events-and-statuses/index.md) - [Recurring payments](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/recurring-payments/index.md) - [Statement descriptors](https://docs.moov.io/guides/money-movement/accept-payments/card-acceptance/statement-descriptors/index.md) - [Transfer groups](https://docs.moov.io/guides/money-movement/transfer-groups/index.md) ### API Reference - [API Documentation](https://docs.moov.io/api/index.md): Complete REST API reference - [Accounts API](https://docs.moov.io/api/#tag--Accounts) - [Capabilities API](https://docs.moov.io/api/#tag--Capabilities) - [Cards API](https://docs.moov.io/api/#tag--Cards) - [Bank Accounts API](https://docs.moov.io/api/#tag--Bank-accounts) - [Transfers API](https://docs.moov.io/api/#tag--Transfers) - [Wallets API](https://docs.moov.io/api/#tag--Wallets) - [Payment Methods API](https://docs.moov.io/api/#tag--Payment-methods) ### SDKs & Client Libraries - [.NET SDK](https://docs.moov.io/sdks/dotnet/index.md) - [Go SDK](https://docs.moov.io/sdks/go/index.md) - [Java SDK](https://docs.moov.io/sdks/java/index.md) - [PHP SDK](https://docs.moov.io/sdks/php/index.md) - [Python SDK](https://docs.moov.io/sdks/python/index.md) - [Ruby SDK](https://docs.moov.io/sdks/ruby/index.md) - [TypeScript SDK](https://docs.moov.io/sdks/typescript/index.md) ### Moov.js (Client SDK) - [Account](https://docs.moov.io/moovjs/accounts/accounts/index.md) - [Drops 101](https://docs.moov.io/moovjs/drops/drops-101/index.md) - [Install & authenticate](https://docs.moov.io/moovjs/installation/index.md) - [Moov form Drop](https://docs.moov.io/moovjs/drops/composable-drops/moov-form/index.md) - [Payment methods](https://docs.moov.io/moovjs/sources/payment-methods/index.md) - [Representatives](https://docs.moov.io/moovjs/accounts/representatives/index.md) - [Text input Drop](https://docs.moov.io/moovjs/drops/composable-drops/text-input/index.md) - [Capabilities](https://docs.moov.io/moovjs/accounts/capabilities/index.md) - [Card acceptance](https://docs.moov.io/moovjs/sources/cards/index.md) - [Card number input Drop](https://docs.moov.io/moovjs/drops/composable-drops/card-number-input/index.md) ### Use Cases & Examples - [Construction](https://docs.moov.io/use-cases/construction/index.md): Moov is your single vendor for payment process efficiency, faster cash access, and simplified compliance. - [Digital banking](https://docs.moov.io/use-cases/digital-banking/index.md): Moov is your single vendor for digital banking with easy payments, real-time insights, and tools to grow deposits. - [Fundraising platforms](https://docs.moov.io/use-cases/fundraising/index.md): Moov is your single vendor for fundraising with flexible payment options and easy funds management. - [Loan servicing](https://docs.moov.io/use-cases/loan-servicing/index.md): Moov is your single vendor for loan disbursement, payment management, automated compliance, and real-time insights. - [Small business](https://docs.moov.io/use-cases/small-business/index.md): Moov is your single vendor for running and managing a modern payment solution that will reduce costs for your small business. - [Transportation & logistics](https://docs.moov.io/use-cases/transportation/index.md): Moov is your single vendor to simplify complex payment processes, view real-time cash flow visibility, and reduce operational costs. ### Webhooks & Events - [Webhook events](https://docs.moov.io/guides/webhooks/webhook-events/index.md) - [How to set up webhooks](https://docs.moov.io/guides/webhooks/set-up-webhooks/index.md) - [Check webhook signatures](https://docs.moov.io/guides/webhooks/check-webhook-signatures/index.md) - [Events & statuses](https://docs.moov.io/guides/money-movement/events-and-statuses/index.md) ## Common Integration Patterns ### Pattern 1: Marketplace/Platform For platforms facilitating payments between users: 1. Create accounts for each user (buyers and sellers) 2. Implement KYC verification for sellers 3. Link payment methods for buyers 4. Create transfers from buyer to seller 5. Optionally use wallets for fund holding 6. Implement fee collection via fee plans ### Pattern 2: Payouts/Disbursements For businesses paying vendors, contractors, or users: 1. Create Moov accounts for recipients 2. Collect and verify payout methods (bank accounts) 3. Batch or individual transfer creation 4. Track transfer status via webhooks 5. Handle failed transfers with retry logic ### Pattern 3: Bill Pay/Invoicing For collecting payments from customers: 1. Create customer accounts 2. Link payment methods (cards or bank accounts) 3. Create transfers to your business account 4. Send payment confirmations 5. Handle recurring payments with saved payment methods ### Pattern 4: Embedded Finance For white-label financial products: 1. Use Moov Drops for pre-built UIs 2. Implement Moov.js for custom flows 3. Create wallets for users to hold funds 4. Enable money movement between wallets and external accounts 5. Provide transaction history and statements ## Support & Resources - Documentation: https://docs.moov.io - API Reference: https://docs.moov.io/api/index.md - Dashboard: https://dashboard.moov.io - Status Page: https://status.moov.io ## Default Rate Limits - Production API: 100 requests per second per account - Sandbox API: 50 requests per second - Rate limits can be increased by contacting help@moov.io ## Common Pitfalls to Avoid 1. **Not handling async operations**: Transfers are asynchronous; use webhooks or the `x-wait-for` header 2. **Hardcoding in production**: Use environment variables for API keys 3. **Ignoring errors**: Always implement comprehensive error handling 4. **Not testing webhooks**: Verify webhook signature validation 5. **Not using idempotency keys**: Prevent duplicate transfers 6. **Skipping sandbox testing**: Always test in sandbox before production