Configuration

Configuration options for the @tetherto/wdk-protocol-fiat-moonpay module

This page covers all configuration options for the MoonPay fiat module.

Prerequisites

Before using this module, you need:

  1. A MoonPay developer account - Create an account on MoonPay Dashboard

  2. API credentials (API Key and Secret Key) from your dashboard

Installation

npm install @tetherto/wdk-protocol-fiat-moonpay

Basic Configuration

import MoonPayProtocol from '@tetherto/wdk-protocol-fiat-moonpay';

const moonpay = new MoonPayProtocol(walletAccount, {
  apiKey: 'pk_live_xxxxx',      // Your MoonPay publishable API key
  secretKey: 'sk_live_xxxxx',   // Your MoonPay secret key
});

Configuration Options

Option
Type
Required
Default
Description

apiKey

string

Yes

-

Your MoonPay publishable API key

secretKey

string

Yes

-

Your MoonPay secret key

cacheTime

number

No

600000 (10 min)

Duration in milliseconds to cache supported currencies

Constructor Overloads

The MoonPayProtocol class supports three constructor patterns:

Environment Configuration

Sandbox (Testing)

Use test API keys for development and testing:

In sandbox mode:

  • No real transactions are processed

  • Use test card numbers provided by MoonPay

  • KYC verification is simulated

Production

For production deployments, use live API keys:

Widget Customization

When calling buy() or sell(), you can customize the MoonPay widget appearance:

Available Widget Options

Option
Type
Description

colorCode

string

Hexadecimal color for widget accent

theme

'dark' | 'light'

Widget appearance theme

themeId

string

ID of a custom theme

language

string

ISO 639-1 language code

showAllCurrencies

boolean

Show all supported cryptocurrencies

showOnlyCurrencies

string

Comma-separated currency codes to display

showWalletAddressForm

boolean

Show wallet address input form

redirectURL

string

URL to redirect after completion

unsupportedRegionRedirectUrl

string

URL for unsupported regions

skipUnsupportedRegionScreen

boolean

Skip unsupported region screen

lockAmount

boolean

Prevent user from changing amount

email

string

Pre-fill customer email

externalTransactionId

string

Your transaction identifier

externalCustomerId

string

Your customer identifier

paymentMethod

string

Pre-select payment method

Next Steps