For the complete documentation index, see llms.txt. This page is also available as Markdown.

URL params

Every query parameter that configures the Pay Widget.

The Pay Widget is configured through URL query parameters.

Identity

Parameter
Flows
Description

source

on-ramp / off-ramp

The "Source" value from your merchant dashboard. Matches the order to your account. [Warning] In production you must be a verified merchant to use it. Contact us for KYB.

signature

on-ramp / off-ramp

A JWT (HS256) signed with a URL signature secret from your merchant dashboard. You can also carry configuration parameters in the token payload. [Warning] In production you must be a verified merchant to use it. Contact us for KYB.

See Signing the URL.

What to buy or sell

Parameter
Flows
Description

network

on-ramp / off-ramp

Wallet network. ARBITRUM, AVALANCHE, BASE, BNB, CELO, ETHEREUM, LISK, OPTIMISM, POLYGON, SOLANA, STELLAR, TEMPO, TON, TRON, XRP.

asset

on-ramp / off-ramp

Wallet asset. It must be one the network carries — the matrix is on Supported countries and cryptocurrencies. Omit it and the widget picks the network's first available asset. With freezeWallet set, an unavailable pair shows a configuration error instead of falling back.

memo

on-ramp

Memo for the networks the widget routes by memo — Stellar and TON. A transfer to an exchange without the right memo is usually unrecoverable.

address

on-ramp

The wallet to deliver crypto to. [Warning] In production you must be a verified merchant, and a valid signature must be present. Contact us for KYB.

amount

on-ramp / off-ramp

The amount, interpreted by currency. With no currency it is an amount of crypto to receive after fees.

currency

on-ramp / off-ramp

What amount means: local or crypto, lower case. [Warning] Any other value — including LOCAL — is dropped, and an absent currency means crypto. So amount=50000&currency=LOCAL quietly asks for 50,000 units of crypto.

countryIsoCode

on-ramp / off-ramp

Country to preselect, e.g. KE, NG. Required in practice on any deep link.

currencyIsoCode

on-ramp / off-ramp

An alternative to countryIsoCode, supported for nine currencies only: NGN, KES, GHS, UGX, ZAR, TZS, RWF, ZMW, MWK. Upper case, exact. Anything else — including XOF and XAF — is ignored. Prefer countryIsoCode.

paymentChannel

on-ramp / off-ramp

Channel to preselect, lower case: bank, mobile_money, airtime, digital_wallet, paybill, buy_goods. An unrecognised value is dropped and the country's first channel is selected instead.

carrierCode

on-ramp / off-ramp

Mobile carrier to preselect, e.g. ng_mtn, ke_safaricom. Codes are on Supported countries and cryptocurrencies.

quoteId

on-ramp / off-ramp

A quote ID from Create quote, to show your own pricing and hold it through the widget.

Locking the user in

Parameter
Flows
Description

freezeAmount

on-ramp / off-ramp

Stops the user changing the amount. Requires amount.

freezeWallet

on-ramp

Stops the user changing the wallet. Requires address. [Warning] In production you must be a verified merchant, and a valid signature must be present. Contact us for KYB.

hideSwitch

on-ramp / off-ramp

Hides the Buy/Sell toggle at the top.

Skipping screens

The full recipe is on Skipping screens.

Parameter
Flows
Description

email

on-ramp / off-ramp

Pre-fills the user's email on the auth screen.

at

on-ramp / off-ramp

Access token from Generate user auth tokens. Only takes effect together with rt.

rt

on-ramp / off-ramp

The matching refresh token. Required alongside at — either one alone is ignored.

requiredFields

on-ramp / off-ramp

URL-encoded JSON of the fieldsToCreateOrder values, so the order screen can be skipped. Needs quoteId. A field value containing a literal % is not supported.

flow

on-ramp / off-ramp

onramp or offramp. Mandatory on /auto-order. [Warning] Without it, or with any other value, the widget discards every skip and drops the user on the on-ramp Amount screen with no error.

After the order

Parameter
Flows
Description

callbackUrl

on-ramp

Shows a "Back to website" link on the success page pointing here. Supports placeholders replaced with order data: {orderId}, {transactionHash}, {usdcAmount}, {airtimeAmount}, {network}, {address}. So https://example.com/success/{orderId}/{usdcAmount} becomes https://example.com/success/648b3095a9f38d8b7b2da748/5.45. [Warning] URL-encode the value. Each placeholder is replaced once, so do not repeat a token in one URL, and a value that is unavailable renders as an empty string.

callbackBtnText

on-ramp

Label for that link. Defaults to "Back to website".

closeBtn

on-ramp

Label for a button on the success page. Omit it and no button appears. The button is display-only — clicking it does not notify an embedding page.

orderParams

on-ramp / off-ramp

Your own reference. Echoed back on the order, and on the primary webhook as merchantOrderParams (the legacy on-ramp and off-ramp webhook payloads name it orderParams).

Attribution

Parameter
Flows
Description

utm_source

on-ramp / off-ramp

Recorded on the order.

utm_medium

on-ramp / off-ramp

Recorded on the order.

utm_campaign

on-ramp / off-ramp

Recorded on the order.

orderParams is the field to reconcile against — it comes back on the webhook and is queryable on Get order. The UTM params are for your own analytics.

Last updated