llms.txt
Moov Documentation
Moov is a payments platform that enables developers to integrate money movement capabilities into their applications.
- Full docs: https://docs.moov.io/llms-full.txt
- OpenAPI spec (source of truth): https://spec.speakeasy.com/moov/moov/api-v2026.01.00
- API reference: https://docs.moov.io/api/
- Docs MCP server: https://docs.moov.io/mcp
- AI integration guide: https://docs.moov.io/guides/developer-tools/mcp-ai/ai-integration/
AI Integration Tools
- Docs MCP server (
https://docs.moov.io/mcp): Search and read Moov docs from any AI coding tool. Install in Claude Code:claude mcp add --transport http moov-docs https://docs.moov.io/mcp - Moov SDK MCP server: Live API operations via the TypeScript SDK. See https://docs.moov.io/guides/developer-tools/mcp-ai/mcp/
- Claude Code skill: Offline integration patterns at https://github.com/moovfinancial/docs/tree/main/skills/moov-api
- llms-full.txt: Complete documentation at https://docs.moov.io/llms-full.txt
- OpenAPI spec: Machine-readable API definition (source of truth for endpoints, schemas, fields). Download: https://spec.speakeasy.com/moov/moov/api-v2026.01.00
Best Practices for Integrating Moov
Getting Started
- Create a Moov Account: Sign up at https://dashboard.moov.io and obtain API keys
- 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
- Create Accounts: Start by creating Moov accounts for your users
- Verify Identity: Complete KYC/KYB verification before enabling money movement
- Add Payment Methods: Link bank accounts, cards, or wallets
- Create Transfers: Initiate payments between accounts
- 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
- Dashboard quick start: This quick start guide brings you through the process of signing up for Moov and creating user accounts within the Moov Dashboard.
- API & Drops quick start: This quick start guide brings you through the process of signing up for Moov and creating user accounts with Moov's API and Moov.js Drops.
Essential Guides
- Account types: Learn about the different types of Moov accounts and the basic requirements to start moving money.
- All accounts: View account information and manage accounts you've created.
- Declines: Understand why certain card payments are declined and how Moov categorizes different types of declines.
- Fund a wallet: Learn how to fund a Moov wallet.
- Instant payments with RTP: Instantly send funds from a Moov wallet to a bank account with RTP.
- Multiple wallets: Learn how to create and manage multiple wallets to organize funds across different business functions within a single Moov account.
- ACH overview: Create payments that directly involve external bank accounts using the Automated Clearing House (ACH) network.
- Transfers overview: Learn about the flow of transfers and the options for sources and destinations.
- Webhook events: Moov generates events when something happens in our system. We record the relevant data and make it available to you.
- API Documentation: Complete REST API reference
Common Integration Patterns
Pattern 1: Marketplace/Platform
For platforms facilitating payments between users:
- Create accounts for each user (buyers and sellers)
- Implement KYC verification for sellers
- Link payment methods for buyers
- Create transfers from buyer to seller
- Optionally use wallets for fund holding
- Implement fee collection via fee plans
Pattern 2: Payouts/Disbursements
For businesses paying vendors, contractors, or users:
- Create Moov accounts for recipients
- Collect and verify payout methods (bank accounts)
- Batch or individual transfer creation
- Track transfer status via webhooks
- Handle failed transfers with retry logic
Pattern 3: Bill Pay/Invoicing
For collecting payments from customers:
- Create customer accounts
- Link payment methods (cards or bank accounts)
- Create transfers to your business account
- Send payment confirmations
- Handle recurring payments with saved payment methods
Pattern 4: Embedded Finance
For white-label financial products:
- Use Moov Drops for pre-built UIs
- Implement Moov.js for custom flows
- Create wallets for users to hold funds
- Enable money movement between wallets and external accounts
- 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
Common Pitfalls to Avoid
- Not handling async operations: Transfers are asynchronous; use webhooks or the
x-wait-forheader - Hardcoding in production: Use environment variables for API keys
- Ignoring errors: Always implement comprehensive error handling
- Not testing webhooks: Verify webhook signature validation
- Not using idempotency keys: Prevent duplicate transfers
- Skipping sandbox testing: Always test in sandbox before production