Transak Docs
Search…
Pass information on behalf of the user and skip screens
Your API key (apiKey) must be passed for parameters to work
No one likes filling in information forms, especially if you've already done it while using an app before.
If you already have information of what the user wants or their user details then you can pass this via parameters to save users having to reselect or reenter.
If you're passing data on behalf of the user you can choose whether to skip the related screens or let the user edit the information you've passed.

Buy amount

fiatAmount

Amount representing how much the user wants to spend, e.g. 100. Users will not be able change the fiat amount if this parameter is passed.
This parameter will be skipped if fiatCurrency is not passed.

defaultFiatAmount

Amount representing how much the user wants to spend. Users will be able change the fiat amount if this parameter is passed.
This parameter will be skipped if fiatCurrency is not passed.
Do not pass defaultCryptoAmount if using this parameter.

defaultCryptoAmount

Amount representing how much cryptocurrency the user wants to buy. Users will be able to change the fiat amount if this parameter is passed.
This parameter will be skipped if cryptoCurrencyCode or defaultCryptoCurrency are not passed.
This parameter will override defaultFiatAmount.

hideExchangeScreen

When true, then the user will not see the widget home screen a.k.a. the exchange screen. This will hide the exchange screen completely and the user will not be able to change the payment method, cryptocurrency, or fiat amount.
This parameter will be ignored if fiatAmount, fiatCurrency, cryptoCurrencyCode and paymentMethod are not passed.
Format is boolean: true or false.

Wallet address(es)

walletAddress

The blockchain address of the user's wallet that the purchased cryptocurrency will be sent to.
Users will be able to edit the wallet address. If you don't need the user to be able to edit you can use disableWalletAddressForm.
The wallet address needs to be valid for the cryptocurrency and blockchain network so to make sure this works you should pass cryptoCurrencyCode or network.

walletAddressesData

Here you can pass multiple wallet addresses that belong to the user for different cryptocurrencies and blockchain networks. Use this query parameter if you are offering your users multiple options of cryptocurrencies to buy.
Users will be able to edit the wallet address. If you don't pass a valid wallet address the user will be prompted to enter one. If you don't need the user to be able to edit you can use disableWalletAddressForm.
If walletAddress is passed, then this field will be ignored.
Format is a JSON object that must be specified in the below form.
  • Cryptocurrency and blockchain network codes are listed in our Cryptocurrency Coverage.
  • Cryptocurrencies that have a secondary address identifier, such as destination tags or memos, can be specified in addressAdditionalData field.
{
networks : {
'ethereum' : {address : '0xfF21f4F75ea2BbEf96bC999fEB5Efec98bB3f6F4'},
'polygon' : {address : 'bnb1dv5ps9vpj6clar79gkd0jrfmg8c0knrd6m090h', addressAdditionalData : '123456'} //addressAdditionalData = memoID
},
coins : {
'BTC' : {address : 'bc1qlah8pucrmw8l3evszn8a7ay62gpyg00rzl7p2m'},
'DAI' : {address : '0xfF21f4F75ea2BbEf96bC999fEB5Efec98bB3f6F4'},
'BNB' : {address : 'bnb1dv5ps9vpj6clar79gkd0jrfmg8c0knrd6m090h', addressAdditionalData : '123456'}
}
}
JSON objects need to be stringified if passing via URL. See the instructions here on how to do that: Passing JSON objects as query parameters​

disableWalletAddressForm

When true, then the user will not see the wallet address entry screen and will not be able to edit the address the cryptocurrency is sent to. This is recommended if you already know the user's wallet address for a smoother user experience.
This parameter will be ignored unless walletAddress or walletAddressesData is passed.
Format is boolean: true or false.

User data

We create a Transak account for each user. As a regulated virtual asset service provider, we have to perform KYC on all of our users and assess their riskiness.
Transak user accounts are identified by the email address. If the user hasn't recently logged in they will need to verify their email address by entering a four digit number that we email to them.
Users only need to go through KYC during onboarding. Once their Transak account is created and KYC approved they only need to login to make an order. If a user uses Transak via multiple apps they can use the same Transak account and KYC for all of them.
The first time a user is directed to Transak it is recommended to pass user data to speed up and ease the onboarding process for the user. This improves user experience and conversion.
You must comply with all regulatory requirements around sharing user's personally identifiable information with us and make sure you have consent from the user. Please contact partner support before using this parameter.

email

The email that will be used to identify your customer and their orders. This should be the email the user registered with your app.
When this parameter is passed the screen for users to enter their email address will be skipped and the user will not be able to edit the email address. If you want the user to be able to edit you can use isAutoFillUserData.
Format is string, e.g. [email protected]

userData

Here you can pass the user's personal details required for KYC:
  • First and last name
  • Email address
  • Mobile/cellphone number
  • Date of birth
  • Residential address
This is useful when you have already performed KYC on the user as it saves the user having to reenter their information and makes the user journey much quicker and smoother.
If you pass all of the user data fields, then the personal details screens in the KYC flow will be skipped and the user will not be able to edit them. You can use isAutoFillUserData if you want the user to be able to edit.
Format is a JSON object that must be specified in the below form:
{
"firstName": "Satoshi",
"lastName": "Nakamoto",
"email": "[email protected]",
"mobileNumber": "+19692154942",
"dob": "1990-11-26",
"address": {
"addressLine1": "170 Pine St",
"addressLine2": "San Francisco",
"city": "San Francisco",
"state": "CA",
"postCode": "94111",
"countryCode": "US"
}
}
JSON objects need to be stringified if passing via URL. See the instructions here on how to do that: Passing JSON objects as query parameters​

isAutoFillUserData

When true, then the email address and personal details will be auto-filled for the user, but those screens will not be skipped. The user can edit their email address and personal details like name and address etc.
This parameter will be ignored if email or userData are not passed.
Copy link
On this page
Buy amount
Wallet address(es)
User data