> ## Documentation Index
> Fetch the complete documentation index at: https://cobo.com/payments/llms.txt
> Use this file to discover all available pages before exploring further.

# Off-ramp

<Note>
  **Disclaimer: This article contains AI translations and should only be used as reference.** Contact Cobo's support team through [help@cobo.com](mailto:help@cobo.com) if you have any questions.
</Note>

This document introduces how to convert the cryptocurrency you received to fiat currency and transfer it to your bank account.

## Prerequisites

Refer to [Destinations](/payments/en/guides/destinations) to register your bank account and pass the review by the Cobo operations team.

## Operation steps

### 1. Create off-ramp request

You can create off-ramp requests through Payments App or Payments API.

<Tabs>
  <Tab title="Payments App" icon="pager">
    <Note>
      In the development environment, you can experience the complete operational process of off-ramp through Payments App, but actual fiat currency exchange and transfer operations are not supported.
    </Note>

    1. Log in to Cobo Portal [development environment](https://portal.dev.cobo.com/login) or [production environment](https://portal.cobo.com/login).
    2. In the left navigation bar, click **Apps**, then click the **Payments** card to launch the App.
    3. In the App's left navigation bar, click **Funds Management** > **Payouts**.
    4. You can choose to withdraw from **Merchant balance** or **Developer balance**. In this example, we choose to withdraw from the merchant balance. Click the **Settle** button on the **Merchant balance** card.
    5. In the pop-up window, select **Fiat Off-Ramp**.

           <img src="https://mintcdn.com/mcpnow/_W10-4f6PrKVgg4o/payments/en/images/payments/fiat-payout.png?fit=max&auto=format&n=_W10-4f6PrKVgg4o&q=85&s=0e82c87f853e99e7af997aaf9e7ed861" className="screenshot_full_screen" alt="Off-ramp entry" width="3702" height="1110" data-path="payments/en/images/payments/fiat-payout.png" />
    6. Fill in the withdrawal information, including token, merchant name, amount, and receiving bank account. To add a new bank account, refer to [Destinations](/payments/en/guides/destinations).

    <Note>
      On the off-ramp page, you can view the detailed fee breakdown and estimated arrival amount for this withdrawal:

      * **Cross-chain fees**: Since Cobo currently only supports off-ramp on specific chains, if the cryptocurrency you want to withdraw is on other chains, the system needs to first transfer it to a supported chain. This operation will incur cross-chain fees, which will be deducted from the withdrawal amount. For example, if the USDT you want to withdraw is on the Polygon chain and the system does not support USDT off-ramp on the Polygon chain, the USDT needs to be first transferred from Polygon to a supported chain (such as TRON), and pay the corresponding cross-chain fees.
      * **Fees**: Fees charged proportionally based on the withdrawal amount. This fee is deducted from your Fee Station account and will not affect the actual withdrawal amount.
      * **Estimated arrival amount**: The final fiat currency amount that the system estimates based on the current exchange rate and various fees. Since banks may charge additional fees and exchange rates may fluctuate, the actual arrival amount may differ from the estimated amount.
    </Note>

    7. Follow the on-page prompts to confirm and submit the withdrawal information.
  </Tab>

  <Tab title="Payments API" icon="code">
    1. Before creating a withdrawal request, you can call [List merchant balances](/payments/en/api-references/payment/list-merchant-balances) or [Get developer balance](/payments/en/api-references/payment/get-developer-balance) to query merchant and developer balances respectively, to determine the maximum withdrawal amount.
    2. Call [Create payout](/payments/en/api-references/payment/create-payout) to create a withdrawal request.

    **Basic parameters**

    * `request_id`: The unique request ID you provide to track the withdrawal request
    * `source_account`: Payment source account. When withdrawing funds from a merchant account, pass the merchant\_id; when withdrawing funds from a developer account, set to `developer`.
    * `payout_channel`: Set to `OffRamp` for off-ramp

    **Detail parameters (payout\_params & recipient\_info)**

    | Parameter group     | Related parameters            |
    | ------------------- | ----------------------------- |
    | **payout\_params**  | `amount`, `token_id`          |
    | **recipient\_info** | `currency`, `bank_account_id` |

    Fiat payouts require both `bank_account_id` and `currency` in **recipient\_info**.

    **Parameter description:**

    * `token_id`: Cryptocurrency ID (e.g., ETH\_USDT, TRON\_USDT).
    * `amount`: Cryptocurrency amount, provided as a decimal string. Trailing zeros in the fractional part do not count toward the limit, but once removed, no more than two digits may remain after the decimal point. For example, `100.500` is accepted (equivalent to `100.5`), while `100.567` is rejected rather than rounded, because three fractional digits remain once trailing zeros are removed.
    * `currency`: The fiat currency of the bank account you select in `bank_account_id` — the two must match. This off-ramp endpoint currently only accepts `USD`.
    * `bank_account_id`: The identifier of the destination bank account you use for this withdrawal.
  </Tab>
</Tabs>

### 2. Complete secondary confirmation, risk control review, and transaction signing

After creating a withdrawal request, based on your submission method, risk control settings, and other factors, you need to complete the following operations:

* Secondary confirmation: If you perform off-ramp through Payments App, you need to confirm the withdrawal request on Cobo Guard.
* Risk control review: If you have set transaction policies, reviewers may need to approve the withdrawal request on Cobo Guard.
* Transaction signing: If you are using MPC Wallets, Mobile Co-Signer or Server Co-Signer needs to sign to finally complete the withdrawal operation.

### 3. Follow up on withdrawal status

You can subscribe to the `payment.payout.status.updated` event to receive real-time updates on off-ramp status. Refer to [Webhook reference](/payments/en/guides/status-and-events) to understand the detailed trigger conditions and returned data structure of each event.

You can also actively query withdrawal request status through Payments App or Payments API.

<Tabs>
  <Tab title="Payments App" icon="pager">
    1. Log in to Cobo Portal [development environment](https://portal.dev.cobo.com/login) or [production environment](https://portal.cobo.com/login).
    2. In the left navigation bar, click **Apps**, then click the **Payments** card to launch the App.
    3. In the App's left navigation bar, click **Funds Management** > **Payouts**.
    4. View the status and details of all withdrawal requests on the **Payout History** tab.
  </Tab>

  <Tab title="Payments API" icon="code">
    You can call the following API operations to query withdrawal request status:

    * [Get payout information](/payments/en/api-references/payment/get-payout-information) - Query detailed information about a single withdrawal request
    * [List all payouts](/payments/en/api-references/payment/list-all-payouts) - Query detailed information about all withdrawal requests
  </Tab>
</Tabs>
