TESTNET
Markets
Trade
Lending Vaults
More
User Docs Developer Docs Sdk API Docs Help
Welcome to Polyester
Concepts
Overview
Creating an Account
Authentication Methods
Turnkey
Smart Wallets
Dashboard
Account Security
MFA
Asset Lifecycle
Supported Assets
Deposit Funds
Withdraw Funds
Transfer Funds
Inventory and Supply
Overview
Trading Fees
Base vs Quote
Lending Fees
Withdrawal Fees
Liquidation Fees
Rebates
Overview
On-chain Visibility
Overview
Supplying
Borrowing
Collateral
Interest
Liquidations
Overview
Trades
Candles
Order Book
Data Delivery
Notifications
Appearance
Localization
Sound Effects
Overview
Architecture
Benchmarks
Matching Engine
Settlement
Safeguards
Overview
Validators
Gas Abstraction
Layer-1 Benchmarks
Audits
Read Pre-compiles
Create Invite Code
Managing Links/Codes
Claiming Rewards
Auto-Convert Rewards
Overview
Create/Delete subaccounts
Permissions
Roles
Audit Logs
Unified Trading Account
Spot Trading
Order Types
Tools
Privacy
Custom Layouts
Overview
Asset Wrapping
Vaults
Zipper Security
What Is TEE?
  1. Zipper
  2. /
  3. Overview

Overview

Zipper is the protocol that handles wrapping external assets into the Polyester system.

It manages how assets are deposited, held, and redeemed, ensuring that every asset represented inside Polyester is backed 1:1, auditable, and enforceable. Zipper is the entry and exit point for external assets moving between the outside chains and the Polyester Exchange.


What Zipper Does

Zipper is the infrastructure that allows external assets to be safely represented and used inside Polyester.

A quick look at Zipper:

  • Receives deposits of supported external assets
  • Holds those assets in secure vaults on the respective external chain
  • Enables the minting and burning of corresponding zAssets on Polyester Chain to maintain 1:1 backing
  • Releases external assets to a destination address during a user submitted withdrawal

Zipper’s Role in the System

Zipper operates alongside Polyester Chain and PolyEngine as a core part of the exchange architecture.

  • Zipper holds external assets and controls how their representations enter and exit the system.
  • Polyester Chain represents those assets on-chain through zAssets and enforces inventory accounting.
  • PolyEngine coordinates trading, lending, and other exchange activity using supplied uAssets derived from those assets.
Zipper Is Deterministic
Zipper operates under a fixed, deterministic rule set. If X amount of a supported external asset is received at a deposit address, X amount of the respective zAsset is minted. If Y amount of zAsset is sent to Zipper to be burned, it is burned and Y amount of external asset is released to the destination address on the destination chain.

Asset Representation

When an external asset is deposited to a Zipper-controlled address, it is queued to become represented 1:1 on Polyester Chain as a zAsset.

zAssets are chain-specific representations of external assets. Each zAsset corresponds to a specific external token and the chain it originates from, and each is deployed as its own ERC-20 contract on Polyester Chain. Assets are never combined or conflated outside of the Funding Account, where unification is intentional and explicit.


Example: USDT across multiple chains

USDT (Tether) exists on multiple blockchains. Although these tokens share the same name and issuer, they are distinct contracts on different networks.

Zipper preserves this distinction by mapping each external USDT contract to its own zAsset contract on Polyester Chain.

Ethereum USDT → zUSDT (Ethereum)

Contract (Ethereum): 0xdAC17F958D2ee523a2206206994597C13D831ec7
Contract (Polyester Chain): 0x8F3c2eB9d1Bf5e8A6F7C3A92dC4B2E1A9F6D4C21

Arbitrum USDT → zUSDT (Arbitrum)

Contract (Arbitrum):0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9
Contract (Polyester Chain):0x3B91F4A2cD0E7A5F9e6bC8D12A4E6F7C5B2D9A11

Optimism USDT → zUSDT (Optimism)

Contract (Optimism):0x94b008aA00579c1307B0EF2c499aD98a8ce58e58
Contract (Polyester Chain):0xA6C4E9D2F7B1C5E8A93D0B6F4C2A1E9D7F5B8A12

Each zUSDT contract tracks supply independently. USDT deposited from one chain can only affect the supply of its corresponding zAsset and never another.

Inventory Unifies in the Funding Account
Outside of the Funding Account, chain-specific zAssets remain separate by design to preserve clear accounting of external assets.

Once zAssets arrive in the Funding Account, they are intentionally unified into the base ticker USDT, regardless of the external chain they originated from.


Transparency and Auditability

Zipper is fully auditable by anyone, at any time.

Auditing external assets

All external assets held by Zipper are controlled by protocol-owned addresses. A complete list of Zipper-owned addresses, broken down by chain, is publicly available:

Zipper Address Registry

Anyone can inspect these addresses on their respective block explorers to verify vault balances and confirm custody directly.


Auditing zAssets

On the Polyester side, every zAsset exists as a standalone ERC-20 contract.

To audit zAssets:

  1. Identify the relevant zAsset contract on Polyester Chain
  2. Inspect the contract’s total supply
  3. Compare to the supply held externally by Zipper

A complete list of all zAsset contracts is publicly available:

zAsset Contract Registry


Scope of This Section

The following pages cover specific aspects in more detail:

  • Asset Wrapping: how external assets are converted into zAssets
  • Deposits: how assets enter the system
  • Withdrawals: how assets leave the system
  • Vaults: where assets are held
  • Limits: operational constraints and safeguards
  • Security: custody protections and risk controls
Previous

Custom Layouts

Next

Asset Wrapping

  • What Zipper Does
  • Zipper’s Role in the System
  • Asset Representation
  • Example: USDT across multiple chains
  • Transparency and Auditability
  • Auditing external assets
  • Auditing zAssets
  • Scope of This Section