# What Is Zipping/Unzipping?

<figure><img src="https://1813598319-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fg7CuDjZTqivGehboo0kG%2Fuploads%2Fg5CrTy4HLloL9sfXF7Cj%2FWhat%20Is%20Zipping%20or%20Unzipping.png?alt=media&#x26;token=a09dffed-9602-42da-abd6-825800b60119" alt=""><figcaption></figcaption></figure>

Zipping and unzipping are the core functions of **Zipper**, allowing users to move assets between external blockchains and the **Fabric ecosystem** in a **trustless, transparent and fully collateralized** manner.

### **Zipping: Converting an External Asset into a zAsset**

Zipping is the process of **depositing an asset from an external blockchain** into Zipper’s on-chain vaults that is located on the respective chain and **minting a corresponding zAsset on Fabric**. This process ensures that for every **zAsset on Fabric, there is an equivalent real asset securely stored in a vault** on the original blockchain.

**How It Works:**

1. The user initiates a **zip request**, which provides them with a **deposit address** for the asset they are sending (e.g., an Ethereum address for zipping USDT from the Ethereum network).
2. The user sends their asset (e.g., USDT from Ethereum) to this **deposit address**.
3. Once the deposit is confirmed on the external blockchain, Zipper **mints an equal amount of zUSDT on Fabric** and sends it to the user’s Fabric wallet.
4. The original asset remains securely stored in the vault until a user decides to unzip zUSDT.

At this point, the user can **freely use zAssets within the Fabric ecosystem**, such as trading on **Polyester** or interacting with Fabric-based dApps.

### **Unzipping: Converting a zAsset Back to Its Original Form**

Unzipping is the **reverse process**, allowing users to **redeem their original asset** by burning the corresponding zAsset on Fabric. This permanently removes the zAsset from circulation and **releases the original asset back to the user’s designated wallet on its native blockchain**.

**How It Works:**

1. The user initiates an **unzip request**, which provides them with a **withdrawal address on Fabric** for the zAsset they need to send.
2. The user sends their zAsset (e.g., zBTC) to the **withdrawal address** on Fabric.
3. Once the zAsset is received, it is **burned**, meaning it is permanently removed from the Fabric network.
4. The original BTC is then **withdrawn from Zipper’s on-chain BTC vault** and sent to the user’s Bitcoin wallet.

This mechanism ensures that **each zAsset is always fully backed by its real counterpart** and prevents inflation or manipulation of the supply.

#### **Trustless & Transparent by Design**

Zipper ensures that every zipping and unzipping transaction is **fully recorded on-chain**, making the entire process **verifiable, secure and decentralized**. Users can check their transactions and verify contract addresses through [**FabricScan**](https://scan.fabriclabs.org/).
