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.
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.
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:
- Identify the relevant zAsset contract on Polyester Chain
- Inspect the contract’s total supply
- 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