For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Dashboard
DocsAPI Reference
DocsAPI Reference
    • What is Transak
  • Features
    • Auth Reliance
    • KYC Reliance using Sumsub
    • Webhooks
    • WebSockets
  • Products Overview
    • On Ramp
    • Off Ramp
    • NFT Checkout
  • Integration Options
    • API
  • Customization Options
    • Query Parameters
    • Customizing theme using query parameters
  • Guides
    • How To Create a Partner Dashboard Account
    • How to Add Partner Fees and Set Up Partner Payouts
    • How to Test using Sandbox Credentials
    • How to Test ACH Pull Transaction in Sandbox
    • How to Test Apple Pay in Sandbox
    • How to Track Order Status
    • Transak Different KYC Levels
    • How to Submit FCA Requirements
    • How to Use Advanced Query Params
    • How to Create a Widget URL with Parameters and Test Different Scenarios
    • How to Generate Calldata for NFT Checkout
    • How to Add NFT Smart Contract in the Dashboard and Create a contractId
    • Get Price based on User Region
    • How to Create Partner Access Token
    • How to Decrypt the Webhook Payload
    • How to add MCP Server for Transak Documentation
    • Widget with API Customization
    • Integration Update - Mandatory Migration to API based Transak Widget URL
    • Biconomy: Simplified Onboarding Using MEE-Compatible Smart Accounts
    • Partner FAQs
    • Need Help?
Dashboard
LogoLogo
On this page
  • Partner Experience
  • Widget
  • Users On Boarding
  • Payments
  • Blockchain
  • Webhook Handling
  • Miscellaneous
Guides

Partner FAQs

Frequently asked questions from partners across integration, payments, KYC, and more
||View as Markdown|
Was this page helpful?
Edit this page
Previous

Biconomy MEE — Simplified Onboarding via Smart Accounts

Next

Need Help?

Built with

Partner Experience

How do I find my staging and production API keys?
1

Log in to the Partner Dashboard

Go to the Partner Dashboard and login.

2

Select your environment

Note the Environment drop down in the top right. This allows you to select Staging or Production for each page.

3

Navigate to Developers

On the left navigation panel click on Developers.

4

View your API key

Your API key and API secret are shown for the environment selected in the top right drop down.

5

Switch environments

Change the environment selection to view your API key for Staging and Production.

How to set the partner fee?

You can use the Settings page of the Partner dashboard to set the additional partner fee. Enter the desired percentage in FEE PERCENTAGE and click Update.

How to update our webHookUrl?

You can follow https://docs.transak.com/features/webhooks#add-or-update-webhook

Why is something working in staging but not in production?

Check environment configuration differences including API keys, referrer domain, and deployment status.

Should Transak APIs be called from frontend?

No. Authentication and sensitive endpoints must be called from backend only to avoid CORS issues and protect API keys.

Widget blocked due to domain not whitelisted

Submit the additional domain for whitelisting; domain must match exactly with referrerDomain used during session generation.

Why am I getting an 'invalid or expired session' error?

This usually happens when the refresh-access-token endpoint is called multiple times. Once a new access token is generated, the previous one becomes invalid. Always use the currently active access token when generating the widget URL.

Widget

I'm passing parameters in the query but they're being ignored.

Check that you are passing the API key in the parameters. Some parameters can only be used by partners that have had their KYB approved.

You can find out more details about our ❓ Query Parameters.

To submit your KYB use the below link to verify your business and enable your API key for Production. https://forms.transak.com/kyb

How to display your call price (e.g 1 USD = 0.9453 USDT) on our front end?

You can use our Get Price API for getting price.

These parameters are required to get response from the API.

"fiatCurrency" //eg: EUR
"cryptoCurrency" //eg: HIVE
"paymentMethod" //eg:sepa_bank_transfer
"partnerApiKey" //YOUR_API_KEY
"network" //mainnet
"isBuyOrSell" //BUY
"fiatAmount" / "cryptoAmount" //Any one is required
Can we make a custom list of currencies instead of just one fiatCurrency in query parameters?

No, currently we are not supporting that feature.

How can we pass onClose event handler to the widget?

You can use TRANSAK_WIDGET_CLOSE event name.

You can find more about events here.

Is there a way to remove the chat button in the widget?

No, but you can hide the menu option using the query parameters, then the chat will also be disabled.

Is it possible to exchange fiat for crypto via the REST API?

No, we are not offering such API as of now.

How to prevent a user from editing the walletAddress?

You can use disableWalletAddressForm in our query parameters to achieve this.

You will need to pass the walletAddress. Then if disableWalletAddressForm is set to true then the wallet address screen will be skipped for the user.

Can we send metadata to the widget that the web-hook will respond to and be able to match the operations?

Yeah you can pass meta data using partnerCustomerId & partnerOrderId and please refer Webhooks to know more about web-hooks.

Please refer to our documentation about our integration ​here.

Users On Boarding

Do users have to do KYC each time they make a transaction?

No, users are only required to complete KYC once.

When their KYC is approved they only need to log into their Transak account to perform future transactions. They can use the same KYC-approved Transak account with all of our partner integrations.

Can we pass Transak third party KYC via API for users instead of them going through Transak's KYC process?

Yes, we do support this feature. Please refer KYC Reliance for more details.

I want to integrate with Transak, how can I do it?

Please refer Onboarding and Integration Process Overview.

I have two websites. Can I integrate in both websites with the same API_KEY?

If two websites are with same company then you can integrate with same API_KEY.

Otherwise you need to submit KYB for each company.

Is KYC required on the STAGING environment?

No it is not required in staging. You can use our Sandbox Credentials in staging.

Is the Transak widget supported in any other languages than English?

As of now we support only English to communicate.

Gradually we will add other languages as well.

Why can't users create a new order when one is ongoing?

Users must resolve the existing order first (cancel or complete payment). This prevents duplicate or conflicting transactions.

Payments

If a user makes a bank transfer how does Transak match it to the user?

We create a virtual bank account for each user and currency. So if a Transak user has only made GBP transactions they will be asked to transfer funds each time to a bank account that is unique to them. Any funds that are sent to that unique account are reconciled with transactions made by that user.

If the user transfers funds in multiple currencies they will be assigned a bank account for each currency.

If I make payment manually for an order how would Transak know I made the payment?

We create a virtual bank account for every user.

Using that, we track the payment.

How does Transak calculate prices and fees?

Transak is dedicated to being transparent about our pricing and fees. There are four variables that are used to calculate the total amount of cryptocurrency received for the chosen amount of fiat:

  1. Partner fee: P
    • A percentage charge applied on the transaction amount on behalf of the partner. This fee is configurable by partners.
  2. Transak fee: T
    • A percentage charge applied on the transaction amount on behalf of Transak. This covers the fiat processing costs so is set depending on the chosen payment method: credit/debit card or bank transfer. Our fees are set out ​​here.
  3. Network/Exchange fee: N
    • This is the sum of the blockchain transaction fees, or gas, that is paid to make the on-chain transfer of the crypto to the user’s wallet address, plus the withdrawal fee the exchange we are using to provide liquidity. These fees vary by blockchain network and cryptocurrency, as well as changing over time depending on network demand. This fee is set by the market not by us.
  4. Exchange rate: R
    • This is the conversion rate from fiat to cryptocurrency. It is calculated by taking an up-to-date quote of the market rate from multiple pricing services and adding a small slippage percentage. The slippage varies by cryptocurrency and is calculated according to the actual rate we are able to get in the market.

To calculate the total amount of cryptocurrency, C, for the specified amount of fiat currency, F, we calculate the total fees, deduct them from the fiat amount then convert the remainder to cryptocurrency at the market rate. The formula for this is as follows:

C =(F - (F x P% + F x T% + N) x R

So in the example screenshot below where the partner fee is 1% and the payment is a SEPA bank transfer, based on the market rates and blockchain transaction fees at the time:

C = (€1000 - (€1000 x 1% + €1000 x 0.99% + €0.59) x 0.0002482224
C = (€1000 - €20.49) x 0.0002482224
C = €979.51 x 0.0002482224
C = 0.24313632

Note that the market rate and network/exchange fee shown in the widget UI is an estimate. The final cryptocurrency amount the user receives is calculated when the fiat payment is settled.

Blockchain

Which Ethereum Testnet are you using?

Please refer to our list of Testnets.

Webhook Handling

Why am I not receiving ORDER_COMPLETED webhook?

Ensure your webhook endpoint returns HTTP 200. Also verify that your server logs are not filtering or rejecting the ORDER_COMPLETED event.

Miscellaneous

I want to change my mobile/email. How can I do that?

Please reach out to our customer support at https://support.transak.com/en/

What is the API Rate Limit?

We are allowing 40 requests per IP address in every 10 seconds. If you want to increase the limit then please contact us at support.transak.com.

How can we fetch fiat currency limits?

Use the Get Fiat Currencies API. The minimum and maximum limits are returned in the response and should be used to display limits dynamically.