Transition to production


Move to our production environment

Complete KYB to obtain your production API keys and put a test transaction through on the corresponding product to get access to it.

Upon activation, you have the flexibility to switch between sandbox (test) and production (live) keys via the Developers page of your MoonPay dashboard. This switch affects only the dashboard data display and does not influence your actual integration.

Toggle between test and live keys in your MoonPay Dashboard

Toggle between test and live keys in your MoonPay Dashboard


Launch checklist

After you’ve moved to our production environment and are getting ready to launch publicly, we recommend you follow this guide to ensure a smooth transition.

Using your production keys

To enable your production API keys, complete the prompts in the dashboard.

Update your environment to use our production widget with your production API keys:

  • If using our JavaScript SDKs, update your environment to use environment: production and your production API keys.
  • If using our iOS or Android SDKs, update your environment to use MoonPayWidgetEnvironment.production and your production API keys.
  • If generating widget URLs, update the base URL and use your production API keys: https://buy.moonpay.com?apiKey=[INSERT_PK_LIVE_KEY].

Perform End-to-End Testing in production environment

Before officially launching, it's advised to complete comprehensive end-to-end testing within your production environment. This step is crucial as certain issues may only become apparent upon moving to production.

❗️

Do not use test credit card or test KYC information in production, as this will result in your account being blocked. Only genuine card and KYC information may be used in production.

Production testing checklist

  • Ensure that the full end-to-end flows are simple and intuitive to use
  • Ensure that quotes and min / max buy and sell amounts are fetched correctly using our APIs, if applicable (Get a quote, get currency limits)
  • Ensure that transaction history and balances are correctly reflected in your app, if applicable (Get transactions, set up webhooks)
  • If possible, have users in different regions test the user experience