Transak One Query Parameters

Note: All the query parameters marked with *(asterisk) are mandatory to send to successfully load the widget and complete the transaction.

If your smart contract will be sending some kind of receipt token like Liquid Staking Tokens (LST) back to the user wallet, you need to pass the details about that token in "cryptoCurrencyData" query parameter.

If you are not sending any token back to the user, you need not send the "cryptoCurrencyData" query parameter.

More details can be found in the Product docs here.

Query ParameterExampleTypeDefault valueDescription
apiKey *4fcd6904-706b-4aff-bd9d-77422813bbb7stringYour API key for authentication.
calldata *ExamplestringThe calldata/hex that needs to be passed to your smart contract in order to execute the required function successfully.

The calldata should contain the method ID of the function to be executed and the values of all the parameters in that function.

How to generate calldata code example

Note: You need to compress the calldata and send the output as the value for this query param. Detailed explanation here.
network *EthereumstringA crypto network that you would allow your customers to buy NFTs on. You can get the list of supporting networks here. For ex: Ethereum
estimatedGasLimit *34589000numberGas limit that needs to be filled while executing the transaction

Please refer to Ethereum Gas Docs here for more info on this for EVM compatible chains.

Note: This cannot be 0
smartContractAddress *0x86349020e9394b2BE1b1262531B 0C3335fc32F20stringThe address of the smart contract on which the calldata needs to be executed
cryptoCurrencyDataExampleDetails of the crypto user is going to receive after they do the transaction.

Taking example of Aave, if you deposit USDC in a staking pool, user will receive AUSDC in return.

So details about AUSDC token needs to be sent in this query parameter.
sourceTokenData *ExampleThe code of the cryptocurrency that your smart contract accepts in order to execute the function.

Taking above example of Aave, if you deposit USDC in a staking pool, user will receive AUSDC in return.

So details about USDC token needs to be sent in this query parameter.

You can find the list of supported cryptocurrencies here.
walletAddress*0x86349020e9394b2BE1b1262531B 0C3335fc32F20stringThe blockchain address of the user's wallet that the receipt token will be sent to. Users will be able to edit the wallet address. The wallet address needs to be valid for the blockchain network so to make sure this works you should pass cryptoCurrencyData or network.

This wallet address passed here should be same as the one used to generate the calldata. As the receipt token will be sent to the address mentioned in the calldata.
isTransakOne *truebooleanPass this as “true”.

Note: If this is passed all these query parameters should be passed compulsorily - “calldata”, “network”, “estimatedGasLimit”, “sourceTokenData”, “smartContractAddress”, "walletAddress"
environmentSTAGINGstringPRODUCTIONTo differentiate between STAGING environment and PRODUCTION environment.

Note: This param will only work with our SDK integration method.
fiatCurrencyGBPstringThe code of the fiat currency you want the customer to buy NFT in. If the fiat currency is not supported by a specific product type then the default widget will load with all the supported fiat currencies for that product type.

You can find all the supported fiat currencies here.
defaultFiatCurrencyGBPstringThe three letter code of the fiat currency your user will send/receive while buying/selling cryptocurrency. Users can change the fiat currency if this is passed. If the fiat currency is not supported by a specific product type then the default widget will load with all the supported fiat currencies for that product type.
This parameter will be skipped if fiatCurrency or countryCode is passed.
countryCodeINstringThe country's https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2. The fiat currency will be displayed as per the country code. If the country code is not supported by a specific product type then the default widget will load with all the supported countries for that product type.
This parameter will be skipped if fiatCurrency is passed.
disablePaymentMethodscredit_debit_cardstringA comma-separated list of payment methods you want to disable and hide from the customers.
email[email protected]stringThe email that will be used to identify your customer and their order (usually the email that they registered with your app).

Note: Please encode the email if it contains any special characters before passing it to query parameters. Otherwise, it will not be considered.

Eg:
[email protected] ==> Works
[email protected] ==> will not work.
userDataExampleobjectHere you can pass your user's data like their name, address, date of birth in the object format. If you will pass all the basic user's data, the customer won't be prompted to enter it.
partnerOrderId5e2f559511a9destringAn order ID that will be used to identify the transaction once a webhook is called back to your app. This can be your identifier to track your customers.
partnerCustomerId23487492stringA customer ID that will be used to identify the customer that made the transaction once a webhook is called back to your app.
disableWalletAddressFormtruebooleanfalseWhen true, the customer will not be able to change the destination address of where the cryptocurrency is sent to.

Note: When this is used, walletAddress query param should be passed.
themeColor000000stringThe theme color code for the widget main color. It is used for buttons, links and highlighted text. Only hexadecimal codes are accepted.
widgetHeight100%string100%Height of the widget iFrame.

Note: This param will only work with our SDK integration method.
widgetWidth100%string100%Widget of the widget iFrame.

Note: This param will only work with our SDK integration method.
hideMenutruebooleanfalseWhen true, then the customer will not see the menu options. This will hide the menu completely.
isFeeCalculationHiddentruebooleanfalseWhen true, then the customer will not see our fee breakdown. The customer will only see the total fee. This parameter will be ignored if your fee (on top of us) is more than 1%.
exchangeScreenTitleBuy NFTstringTo change the exchange screen title.
colorModecolorMode=LIGHT or colorMode=DARKstringTo customise the Transak widget's color mode, add the colorMode parameter next to your API key.

Pass this query parameter to set up your preferred color mode:
https://global-stg.transak.com/?apiKey=YOUR_API_KEY&
colorMode=<LIGHT/DARK> ]()

Set colorMode=LIGHT for light mode or colorMode=DARK for dark mode.

Note: If you do not specify the colorMode parameter, the widget will follow your system's default theme.
For example, if your system is set to dark mode, the Transak widget will also display in dark mode, and vice versa.

Sample URL

https://global-stg.transak.com/
?apiKey=69feba7f-a1c2-4cfa-a9bd-43072768b0e6
&isTransakOne=true
&smartContractAddress=0x6Ae43d3271ff6888e7Fc43Fd7321a503ff738951
&estimatedGasLimit=237608
&calldata=eJylzdEJxDAMA9BdOoEjy%2FZlnDhOZuj47Q0QOLj3J4TQJbe3yCEacoC%2BUZQUF4NQnWMb1%2FSILAFqEFaip%2F0vEO1cfmwtj6ZYk%2BiRby6rlpxuBEt914j65%2F%2FregCZFTk1
&cryptoCurrencyData=W3siY3J5cHRvQ3VycmVuY3lDb2RlIjoiQVdCVEMiLCJjcnlwdG9DdXJyZW5jeU5hbWUiOiJBYXZlIFBvbHlnb24gV0JUQyIsImNyeXB0b0N1cnJlbmN5SW1hZ2VVUkwiOiJodHRwczovL2Fzc2V0cy5jb2luZ2Vja28uY29tL2NvaW5zL2ltYWdlcy8xMTczNC9zdGFuZGFyZC9hV0JUQy5wbmcifV0%3D
&network=ethereum
&sourceTokenData=W3sic291cmNlVG9rZW5Db2RlIjoiV0JUQyIsInNvdXJjZVRva2VuQW1vdW50IjowLjAwMDF9XQ%3D%3D
&walletAddress=0xAc1b1aFBF71D66BE92415D84888d1601728Ba2F1