# Launch checklist

> Work through Moov's launch checklist before you go live: API keys, webhooks, authentication, account onboarding, transfers, fee plan, and production mode.

> AI agents: search and read all Moov docs with the docs MCP server at https://docs.moov.io/mcp (no API key). Setup: https://docs.moov.io/guides/developer-tools/mcp-ai/docs-mcp/index.md

Work through this checklist with your team to confirm your integration is ready to move real money. Skip items that don't apply to your use case.

If you haven't built your integration yet, start with the [quick start](/guides/get-started/quick-start/index.md). For questions about your integration, contact [Moov support](https://support.moov.io/).

## Build and test in test mode

- Create test [accounts](/guides/accounts/create-accounts/index.md) and run your full payment flow with [test mode data](/guides/get-started/api-authentication/test-mode/index.md#test-mode-data)
- Simulate failures, such as declined cards, ACH returns, and disputes, and confirm your integration handles each one
- Invite team members with the right [roles](/guides/dashboard/settings/team/index.md#roles)

## Authentication and keys

- Create production [API keys](/guides/get-started/api-authentication/api-keys/index.md) and store them in a secrets manager, not in code
- Use [Basic or OAuth authentication](/guides/get-started/api-authentication/authentication/index.md) for server-to-server calls
- For Moov.js and Drops, generate [access tokens](/api/authentication/access-tokens/create/index.md) on your server with only the [scopes](/api/authentication/scopes/index.md) each page needs
- Send a current `x-moov-version` header on every request

## Webhooks

- [Set up webhooks](/guides/webhooks/set-up-webhooks/index.md) in production mode for the [events](/guides/webhooks/webhook-events/index.md) you rely on, such as transfer, capability, and account updates
- [Check webhook signatures](/guides/webhooks/check-webhook-signatures/index.md) with the production signing secret
- [Handle deliveries](/guides/webhooks/set-up-webhooks/index.md#handle-deliveries): respond within 5 seconds and skip duplicate `eventID` values

## Onboard accounts

- [Create accounts](/guides/accounts/create-accounts/index.md) for your users and merchants, using [hosted onboarding](/guides/accounts/hosted-onboarding/index.md) where possible
- Collect acceptance of the [platform agreement](/guides/accounts/requirements/platform-agreement/index.md)
- Request only the [capabilities](/guides/accounts/capabilities/index.md) each account needs, and handle missing requirements with [resolution links](/guides/accounts/resolution-links/index.md)
- Link cards with the [card link Drop](/moovjs/drops/card-link/index.md). Linking cards [directly through the API](/api/sources/cards/create/index.md) requires an attestation of PCI compliance.
- Link and [verify bank accounts](/guides/sources/bank-accounts/verification/index.md), optionally with instant verification through Plaid or MX
- Confirm which [payment methods](/guides/money-movement/payment-methods/index.md) your flows use

## Move money

- Create [transfers](/guides/money-movement/index.md) for each flow you support, such as [funding a wallet](/guides/wallets/funding/index.md), [push to card](/guides/send-payments/push-to-card/index.md), [instant payments (RTP or FedNow)](/guides/send-payments/instant-payments/index.md), or [account to account](/guides/send-payments/send-funds/index.md)
- Send an [idempotency key](/guides/money-movement/idempotency/index.md) with every transfer
- Handle [transfer responses and statuses](/guides/money-movement/events-and-statuses/index.md), including failures and returns

## Billing

- Sign your agreement with Moov and confirm your fee plan. [Contact us](https://moov.io/contact/) if you haven't.
- Decide which [plan options](/guides/billing/plan-options/index.md) to assign to the accounts you onboard, and whether to use [partner billing](/guides/billing/partner/index.md)

## Switch to production

- Complete verification, [business representatives](/guides/accounts/requirements/business-representatives/index.md), and [underwriting](/guides/accounts/requirements/underwriting/index.md) for your own account
- Switch to [production mode](/guides/go-live/production-mode/index.md#what-changes-in-production-mode) and replace test account IDs, API keys, webhook URLs, and signing secrets
- Run a small live transaction end to end and confirm the webhooks arrive
- Optional: [Migrate data](/guides/go-live/data-migrations/index.md) from your previous processor
- Optional: Review [UX best practices](/guides/go-live/ux-best-practices/index.md) for onboarding and payment flows

