Skip to main content

Meld Checkout URL Parameters Reference

Complete technical reference for all Meld Checkout Integration URL parameters. Use these parameters to prefill information and customize the user experience.

Transaction Parameters

transactionType

Default transaction type to display first. If not passed in, the Meld Checkout will default to the Buy flow.

sourceAmount

Amount of fiat currency to exchange.

sourceCurrencyCode

Fiat currency for the transaction. Defaults to country’s primary currency if not provided.

destinationCurrencyCode

Cryptocurrency to purchase or sell.

Wallet Parameters

walletAddress

User’s wallet address for the destination cryptocurrency.

walletTag

Commonly known as wallet tag, destination tag, or memo, this field is only used for certain cryptocurrencies (EOS, STX, XLM, XMR, XRP, BNB, XEM, and HBAR) and must be passed in on top of the wallet address for these cryptocurrencies for the transaction to succeed.

Location Parameters

countryCode

ISO 2-letter country code to override auto-detected country.
Note: Country is automatically detected based on user location in the Meld Checkout Integration. Use this parameter only when you need to override the automatic detection.

Payment Parameters

paymentMethodType

How the user plans to pay for cryptocurrency.

User Identification

customerId

Meld’s internal customer ID. Do not use with externalCustomerId.

externalCustomerId

Your internal customer ID. Do not use with customerId.

externalSessionId

Your internal session ID for tracking and analytics.

UI Parameters

theme

Meld Checkout color theme.

redirectUrl

URL to redirect users after transaction completion. Supports deep links for mobile apps.
Note: Meld does not pass transaction completion data or status through redirect parameters. The redirectUrl is used only to navigate users back to your application. Use webhooks to track transaction status and completion.

Field Locking

Lock any parameter to prevent user editing by passing the parameter with the word “Locked” after it. Locking a field will make it so that the user cannot edit the values passed into those fields.
Field locking only applies to the Meld Checkout interface. However, if you lock the sourceCurrencyCode/destinationCurrencyCode or walletAddress field in the Meld Checkout widget, that field will also be locked in the partner’s widget for the providers that support it. See White-Label customization → Locking fields for the list of providers.

Lockable Parameters:

The locked params are as follows:
  • countryCodeLocked - Pass the country code value (e.g., countryCodeLocked=US)
  • paymentMethodTypeLocked - Pass the payment method value (e.g., paymentMethodTypeLocked=CREDIT_DEBIT_CARD)
  • sourceAmountLocked - Pass the amount value (e.g., sourceAmountLocked=100)
  • sourceCurrencyCodeLocked - Pass the currency code value (e.g., sourceCurrencyCodeLocked=USD)
  • destinationCurrencyCodeLocked - Pass the crypto code value (e.g., destinationCurrencyCodeLocked=BTC)
  • walletAddressLocked - Pass the wallet address value (e.g., walletAddressLocked=bc1qxy2k...)
  • themeLocked - Pass the theme value (e.g., themeLocked=darkMode)

Important Rules:

  • If you pass in both the unlocked and locked version of a param (for example countryCode and countryCodeLocked), the locked param will be used
  • Locked parameters take the actual value, not =true

Field Locking Example:

Complete Examples

Basic Bitcoin Purchase

Locked Ethereum Purchase

Mobile App Integration

Locked BONK Purchase on Solana

Marketplace Token Sale

Parameter Validation Rules

Required Combinations:

  • walletTag requires walletAddress for supported cryptocurrencies (EOS, STX, XLM, XMR, XRP, BNB, XEM, and HBAR)
  • customerId and externalCustomerId are mutually exclusive - do not pass in both

Important Parameter Rules:

  • Locked parameters override unlocked versions: If you pass in both the unlocked and locked version of a param (for example countryCode and countryCodeLocked), the locked param will be used
  • Provider UI locking: If you lock the sourceCurrencyCode/destinationCurrencyCode or walletAddress field in the Meld Checkout, then that field will also be locked in the partner’s widget for the providers that support it
  • Locked parameters take actual values: Pass the actual value, not =true (e.g., walletAddressLocked=6chn9n... not walletAddressLocked=true)

Invalid Parameter Handling:

  • Unrecognized parameters are ignored silently
  • Invalid values fall back to defaults
  • Any param with unrecognized or unsupported values will be ignored

URL Encoding

Always URL encode parameter values that contain special characters:

Testing Parameters

Focus on successful transaction flows in sandbox environment:
Use small amounts and focus on green path flows to validate your integration.
Next: Customization Options for advanced styling and configuration.