Transak provides a flexible solution for partners to create a more tailored Transak experience by combining query parameters and APIs to control parts of the user journey within their own application.
Partners can skip screens, prefill key user details, and use the Transak UI only where it is required in the user journey.
Widgets are quick to integrate, but they can still create friction when partners want more control over the user journey, branding, and prefilled data.
Here are some of the key challenges with a standard hosted widget flow:
Widget with API Customization helps partners streamline the user journey by combining public APIs and query parameters.
Use Transak’s Public APIs to fetch quotes, supported fiat currencies, and supported cryptocurrencies so your app can collect user choices before launching the widget.
Pass parameters such as fiatCurrency, cryptoCurrencyCode, walletAddress, email, userData, and other supported fields to reduce the number of screens inside the widget.
Call the Create Widget URL API from your backend to generate a secure widget url using
Example Request:
Use Get Order By ID, Get Orders, Webhooks, and WebSockets to track the order.


The Exchange Screen allows users to select the fiat amount, crypto asset, network, and payment method.
To skip this step, collect those inputs in your own UI and pass them through widgetParams.

This step confirms the destination wallet for on-ramp transactions.
To skip this step, pass the wallet details through widgetParams.

This screen is used to collect the user’s email for OTP verification.
To skip this step, pass the user’s email through widgetParams.

OTP verification is a mandatory step and cannot be skipped.
Prefilling the users email helps streamline the flow, but it does not bypass OTP verification.


The Lite KYC Screen captures the user’s personal and address details.
To skip this step, pass structured userData through widgetParams.
Example


Standard KYC includes document upload and liveness checks.
This step is not skippable in the widget and triggered only when the order value exceeds Lite KYC limits.

The Confirm Order step displays the final transaction summary before payment.
This step is not skippable in the widget and shown to users before they proceed with the payment.

This is where users enter or confirm payment details.
This step is not skippable in the widget.

To skip this step, continue the user journey in your own application by listening for the TRANSAK_ORDER_SUCCESSFUL event after payment is initiated.

To skip this step, display order status updates in your own application instead of relying on the order status screen.

To skip this step, display transaction history in your own application instead of relying on the order history screen.