***

title: Transak Stream - Off Ramp
slug: products/transak-stream-off-ramp
subtitle: Turn crypto into fiat automatically with dedicated wallets
---------------------

For a complete page index, fetch https://docs.transak.com/llms.txt

Transak Stream - Off Ramp makes it easy to turn **crypto into fiat with a one-click experience.** Users can receive fiat directly into their bank account or card by simply sending crypto, making the flow feel as seamless as transferring assets from one wallet to another.

Transak handles everything behind the scenes: wallet setup, payout method configuration, crypto-to-fiat conversion, and fiat settlement. Partners can embed Stream Off Ramp into their workflows and deliver smooth, intuitive payout experiences for their users.

<Frame>
  <div>
    **Ideal for** —  Remittances, payroll systems, e-commerce payouts that want a seamless **crypto in → fiat out** experience running in the background, instead of a one-time checkout flow.
  </div>
</Frame>

## Key Characteristics & Features

<table>
  <tbody>
    <tr>
      <td>
        <div>
          <Icon icon="fa-light fa-sliders" size="6" color="#1461db" />

          <strong>
            Quick configuration
          </strong>
        </div>

        Configure your integration in minutes using a lightweight setup powered by query parameters.
      </td>
    </tr>

    <tr>
      <td>
        <div>
          <Icon icon="fa-light fa-wallet" size="6" color="#1461db" />

          <strong>
            Dedicated wallet Address
          </strong>
        </div>

        Each user gets a dedicated wallet address for easier management.
      </td>
    </tr>

    <tr>
      <td>
        <div>
          <Icon icon="fa-light fa-bolt" size="6" color="#1461db" />

          <strong>
            Fast settlement
          </strong>
        </div>

        Send crypto from any wallet to your user's dedicated wallet address to Off-Ramp in under one minute.
      </td>
    </tr>

    <tr>
      <td>
        <div>
          <Icon icon="fa-light fa-building-columns" size="6" color="#1461db" />

          <strong>
            Multiple payment methods
          </strong>
        </div>

        Supports SEPA, FPS, and card withdrawals.
      </td>
    </tr>

    <tr>
      <td>
        <div>
          <Icon icon="fa-light fa-globe" size="6" color="#1461db" />

          <strong>
            Global coverage
          </strong>
        </div>

        Users can set a default crypto and network from the combinations currently supported with Off Ramp.
      </td>
    </tr>
  </tbody>
</table>

## How the flow works

<Steps>
  <Step title="Partner launches Stream Off Ramp">
    Load the Transak widget in your preferred integration option with the required Stream Off Ramp parameters.
  </Step>

  <Step title="User completes one-time wallet setup">
    The user selects or confirms their payout method and Transak creates a dedicated wallet address for transfers.
  </Step>

  <Step title="User sends crypto to the Dedicated wallet address">
    The user sends the supported crypto asset from any wallet to their assigned wallet address.
  </Step>

  <Step title="Transak converts and settles fiat">
    Once the crypto transfer is received, Transak processes the off-ramp and settles fiat to the configured payment method.
  </Step>
</Steps>

## What are the use cases?

<Steps>
  <Step title="Remittances">
    Let users send supported crypto from any wallet while recipients receive fiat directly in their local bank account or card.

    <table>
      <tbody>
        <tr>
          <td>
            <div>
              <Icon icon="fa-light fa-hand-holding-dollar" size="6" color="#1461db" />

              <strong>
                Simple send experience
              </strong>
            </div>

            Users only need to send crypto to a dedicated address instead of filling a sell form every time.
          </td>
        </tr>

        <tr>
          <td>
            <div>
              <Icon icon="fa-light fa-building-columns" size="6" color="#1461db" />

              <strong>
                Direct fiat delivery
              </strong>
            </div>

            Funds are settled to the user's selected bank account or card using Transak's supported payout methods.
          </td>
        </tr>
      </tbody>
    </table>
  </Step>

  <Step title="Payroll systems">
    <table>
      <tbody>
        <tr>
          <td>
            <div>
              <Icon icon="fa-light fa-building-columns" size="6" color="#1461db" />

              <strong>
                Crypto-to-fiat salary payouts
              </strong>
            </div>

            Payroll platforms can let users receive compensation in fiat after sending supported crypto into their dedicated Stream wallet.
          </td>
        </tr>

        <tr>
          <td>
            <div>
              <Icon icon="fa-light fa-arrows-rotate" size="6" color="#1461db" />

              <strong>
                Repeatable payout setup
              </strong>
            </div>

            Once configured, recurring payout workflows become easier to manage for both employers and recipients.
          </td>
        </tr>
      </tbody>
    </table>
  </Step>
</Steps>

## How to integrate?

<Steps>
  <Step title="Enable Off-Ramp on your Transak account">
    Ensure your partner account has Off-Ramp enabled in the dashboard and that your integration has access to the supported payout methods.
  </Step>

  <Step title="Choose your integration">
    <Tabs>
      <Tab title="Web">
        <CardGroup cols={2}>
          <Card title="Redirection" icon="fa-light fa-arrow-up-right-from-square" iconPosition="left" href="/integration/web/website-redirection">
            Redirect users to Transak's hosted flow via the Web to complete their crypto-to-fiat payout flow.
          </Card>

          <Card title="iFrame" icon="fa-light fa-window-maximize" iconPosition="left" href="/integration/web/iframe">
            Add the Transak Embed to your web app using an iframe.
          </Card>

          <Card title="JavaScript SDK" icon="fa-light fa-code" iconPosition="left" href="/integration/web/js-sdk">
            Add the Transak Embed to your JavaScript app with our SDK.
          </Card>
        </CardGroup>
      </Tab>

      <Tab title="Mobile WebView">
        <CardGroup cols={2}>
          <Card title="Android" icon="fa-brands fa-android" iconPosition="left" href="/integration/mobile/native-android">
            Add the Transak Embed to your Android app.
          </Card>

          <Card title="iOS" icon="fa-brands fa-apple" iconPosition="left" href="/integration/mobile/native-ios">
            Add the Transak Embed to your iOS app.
          </Card>

          <Card title="React Native" icon="fa-light fa-mobile-screen" iconPosition="left" href="/integration/mobile/react-native">
            Add the Transak Embed to your React Native app.
          </Card>
        </CardGroup>
      </Tab>
    </Tabs>
  </Step>

  <Step title="Create widget URL with mandatory parameters (using Backend Only)">
    Use the [Create Widget URL API](/api/public/create-widget-url) to generate a `widgetUrl` and include the following mandatory Stream Off Ramp parameters inside `widgetParams`:

    | Parameter                | Description                                |
    | ------------------------ | ------------------------------------------ |
    | `apiKey`                 | Your Transak API key                       |
    | `referrerDomain`         | Allowed domain for the widget              |
    | `isTransakStreamOffRamp` | Enables the Stream Off Ramp flow           |
    | `cryptoCurrencyCode`     | Default crypto asset for the Stream wallet |
    | `network`                | Network for the selected crypto            |

    ```json
    "widgetParams": {
      "apiKey": "YOUR_API_KEY",
      "referrerDomain": "yourdomain.com",
      "isTransakStreamOffRamp": true,
      "cryptoCurrencyCode": "USDT",
      "network": "ethereum"
    }
    ```
  </Step>

  <Step title="Handle the Stream callback data">
    When the wallet setup flow closes, capture the callback payload from the widget close event or redirection URL. This contains the dedicated wallet address and withdrawal information needed for the user.

    The user then needs to send supported crypto to this wallet address to receive fiat as the payout in their selected bank account or card.

    | Field                        | Description                                                  |
    | ---------------------------- | ------------------------------------------------------------ |
    | `crypto`                     | Cryptocurrency configured for the Stream flow                |
    | `isTransakStreamOffRamp`     | Boolean-like flag identifying the Stream Off Ramp experience |
    | `network`                    | Network of the configured asset                              |
    | `offRampStreamWalletAddress` | Dedicated wallet address created for the user                |
    | `withdrawalInstrument`       | Last four digits of the selected payout instrument           |
    | `withdrawalMethod`           | Type of payout method selected by the user                   |

    ```json
    {
      "crypto": "ETH",
      "isTransakStreamOffRamp": "true",
      "network": "ethereum",
      "offRampStreamWalletAddress": "0x617d4XXXXXXXXXXXXXXXXXXXXDEE4F4",
      "withdrawalInstrument": "6V27",
      "withdrawalMethod": "BANK_ACCOUNT"
    }
    ```
  </Step>
</Steps>

## User Flow

### Wallet Setup

Users complete a one-time setup to configure their payout method and generate a dedicated wallet address for future Off-Ramp transfers.

<iframe src="https://www.youtube.com/embed/J8zB9IdlEr8" title="Transak Stream Off Ramp Wallet Setup" width={640} height={480} allow="autoplay; fullscreen; encrypted-media; picture-in-picture" allowFullScreen />

<Image align="center" border={false} src="https://files.readme.io/15ea2ce770129421122d82398d1213da4ef8e4e0d0080e810e130e24670229e0-Transak_Off-Ramp_Stream_Workflow_2.png" />

### Crypto to Fiat Transfer

Users send supported crypto to their dedicated Stream wallet address, and Transak converts it into fiat for payout to their selected bank account or card.

<iframe src="https://www.youtube.com/embed/gcY7IljokqE" title="Transak Stream Off Ramp Crypto to Fiat Transfer" width={640} height={480} allow="autoplay; fullscreen; encrypted-media; picture-in-picture" allowFullScreen />

<Image align="center" border={false} src="https://files.readme.io/fa13b665a733ca360d28bfb3ea1e459e9eb91d82e0299df2892106c180b92922-Transak_Off-Ramp_Stream_Workflow_3.png" />

## Try Stream Off Ramp

This feature is currently live in the [Transak Widget](https://global.transak.com/) and is available only to Standard KYC verified users.

<table>
  <tbody>
    <tr>
      <td>
        <Image border={false} src="https://files.readme.io/83c1f9448f59ec3ecf4b23ccec68f563dbfa1a224e422c2ccbb87dc81346491e-Screen_Recording_2025-11-26_at_5.51.42_PM.gif" />
      </td>

      <td>
        In the <strong>Transak Widget</strong>, open the <strong>Hamburger Menu</strong> and click <strong>Transak Off-Ramp Stream</strong>.
      </td>
    </tr>

    <tr>
      <td>
        <Image border={false} src="https://files.readme.io/cb5a811cbdfe32555677644f2c516108a3912266f60cd52a6310c077c5fff4c7-Screen_Recording_2025-11-26_at_5.52.30_PM.gif" />
      </td>

      <td>
        Configure the Transak Off-Ramp Stream wallets by clicking the <strong>Explore Now</strong> option from the banner.
      </td>
    </tr>
  </tbody>
</table>