Get Price Based on User Region

Use quoteCountryCode to fetch region-accurate quotes from the Get Price API

View as Markdown

The quoteCountryCode parameter on the Get Price API lets you request a quote tied to the user’s KYC country — so the price your backend fetches always matches what the Transak Widget shows.

Only ISO Alpha-2 country codes are accepted for quoteCountryCode, for example US, FR, IT.

Why use quoteCountryCode?

Consistent Pricing

Quotes from the Get Price API match exactly what users see inside the Transak Widget — no surprises at checkout.

Region-Accurate Fees

Pricing varies by region. Passing the correct country code ensures fees, limits, and rates are calculated for the right market.

How it works

1

Identify the user's KYC country

Check whether you already have the user’s verified KYC country (passed via userData) or need to fall back to their IP-detected location.

2

Set quoteCountryCode

Include quoteCountryCode in your API request query string with the appropriate Alpha-2 code (e.g. FR for France).

3

Receive a region-adjusted quote

The API returns pricing, fees, and limits calculated specifically for that country — ready to display to the user or use for order creation.

Usage scenarios

When the user’s KYC information is already shared via the userData query parameter, use their KYC country directly.

Example: User’s KYC country is France -> set quoteCountryCode=FR

If you don’t have the user’s KYC country, fall back to their IP-detected location as a best-effort approximation.

Example: If the user is located in Italy, then quoteCountryCode can be set to IT based on the user’s IP.

Sample request

$curl --request GET \
> --url 'https://api-stg.transak.com/api/v1/pricing/public/quotes?partnerApiKey=YOUR_API_KEY&fiatCurrency=USD&cryptoCurrency=ETH&isBuyOrSell=BUY&network=ethereum&paymentMethod=credit_debit_card&fiatAmount=100&quoteCountryCode=FR' \
> --header 'accept: application/json'

Sample response

1{
2 "response": {
3 "quoteId": "5b42f946-47b4-4bea-9e7e-563488d03333",
4 "conversionPrice": 1.10475627488855,
5 "marketConversionPrice": 1.1161162939576061,
6 "slippage": 1.02,
7 "fiatCurrency": "EUR",
8 "cryptoCurrency": "USDC",
9 "paymentMethod": "credit_debit_card",
10 "fiatAmount": 100,
11 "cryptoAmount": 107.68,
12 "isBuyOrSell": "BUY",
13 "network": "arbitrum",
14 "feeDecimal": 0.0253,
15 "totalFee": 2.53,
16 "feeBreakdown": [
17 { "name": "Transak fee", "value": 2.51, "id": "transak_fee", "ids": ["transak_fee"] },
18 { "name": "Network/Exchange fee", "value": 0.02, "id": "network_fee", "ids": ["network_fee"] }
19 ],
20 "nonce": 1727442044,
21 "cryptoLiquidityProvider": "transak",
22 "notes": []
23 }
24}

Quote accuracy by scenario

User FlowKYC Country CodeIP Country CodequoteCountryCodeQuote Accuracy
When the KYC and IP Country are same (see Scenario 1 above)USUSUS
When the KYC and IP Country are not same (see Scenario 1 above)USUKUS
When KYC Country is unknown (see Scenario 2 above)

Note: This might not produce the best result considering that KYC country is unknown and the user location might be different than the actual KYC Country.
N/AUKUK🟩