# Withdraw Crypto Workflow

<figure><img src="/files/OKbYfdkyauR8LxKMnicZ" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}

**Redemption Cooldown Period**

1. The purpose of setting a redemption cooldown period is to prevent large-scale funds from entering the system and quickly exiting before or after a rebase, effectively draining a large portion of the pool's profits.
2. The duration of this cooldown period is to be determined, and further discussion at the business level is needed.

**Directed Redemption Feature**

1. In normal redemption within the PLP system, the initiator of pfToken redemption can specify another address as the recipient of the redemption request, allowing the recipient to claim the redeemed USDT from the contract.
2. During the fast redemption process within the staking pool (pfToken-USDT Swap), the initiator of the redemption can specify the recipient of the USDT after the swap. The transaction will directly transfer the swapped USDT to the designated user.
   {% endhint %}

## **Refund/Withdrawal**&#x20;

1-1. The customer initiates a refund request to the merchant.&#x20;

1-2. The merchant initiates a withdrawal request to A Gateway.

{% hint style="warning" %}
In this version, both the merchant processing the user refund and initiating their own withdrawal are essentially the same action, requiring A Gateway to withdraw USDT or pfUSDT from the Protocol and provide it to the merchant.
{% endhint %}

## **Fast Redemption**&#x20;

2-1. A Gateway calculates the corresponding pfUSDT amount for the user’s withdrawal request, then initiates a fast exchange with the PLP Staking contract, specifying the recipient address.

2-2. The PLP Staking contract transfers USDT from the pool to the merchant.

## **Normal Redemption**&#x20;

3-1. A Gateway calculates the corresponding pfUSDT amount for the user’s withdrawal request, then initiates a redemption request to the PLP core contract, specifying the redeeming address.&#x20;

3-2. After receiving the redemption request and verifying its accuracy, the PLP core contract calls the burn method of the pfUSDT contract to destroy pfUSDT.

{% hint style="warning" %}
Once the burn process is completed, the PLP core contract locks the corresponding USDT for the user.
{% endhint %}

3-3. After the redemption window expires, the merchant can initiate the redemption to receive the USDT from the PLP core contract.

## **pfUSDT Redemption**&#x20;

4-1. A Gateway may choose to directly transfer pfUSDT to the merchant.

{% hint style="warning" %}
The merchant will then need to initiate the redemption request and redeem the funds.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.polyflow.tech/payment-liquidity-pool-plp/plp-mechanism/withdraw-crypto-workflow.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
