Protocol Documentation
How Zarklink works and how to use it
Zarklink is a trustless, privacy-preserving cross-chain bridge between Zcash and Starknet. It lets you move ZEC value across chains by creating a wrapped token called wZEC on Starknet.
Issue (ZEC → wZEC)
Lock ZEC on Zcash, mint equivalent wZEC on Starknet. Use wZEC in Starknet DeFi.
Redeem (wZEC → ZEC)
Burn wZEC on Starknet, unlock ZEC on Zcash. Get your ZEC back privately.
Key Properties
- Trustless: No central authority. Vaults are economically bonded with collateral.
- Privacy-Preserving: Transfer amounts hidden via zk-SNARKs + splitting strategy.
- Censorship-Resistant: Anyone can become a vault by posting collateral.
- Fraud-Provable: Challenge mechanism with on-chain zk-SNARK verification.
Based on the ZCLAIM framework (Sanchez et al., 2022).
Prerequisites
- A Starknet wallet (e.g. Argent X or Braavos) connected to Sepolia testnet
- STRK tokens for gas fees (use a Sepolia faucet)
- At least one vault must be registered and funded in the pool
Issue ZEC → wZEC
1Go to the Bridge page
2Connect your Starknet wallet
3Make sure Issue tab is selected
4Enter an amount (e.g.
0.5 ZEC)5Click Issue wZEC. Watch the 3-step process complete automatically.
6Your wZEC balance updates in the balance card at the top.
Redeem wZEC → ZEC
1On the Bridge page, switch to the Redeem tab
2Ensure you have wZEC in your connected wallet from a previous Issue
3Click Max to fill your full wZEC balance, or enter a custom amount
4Click Redeem ZEC. The 2-step process completes automatically.
5Your wZEC balance decreases. On mainnet, you'd receive ZEC in your Zcash wallet.
Important Notes
- The vault daemon handles Steps 2-3 of Issue and Step 2 of Redeem automatically.
- The relayer must be running with finalized blocks for the bridge to work.
- This is running on Starknet Sepolia testnet — no real ZEC is involved.
- The relayer must be running with finalized blocks for the bridge to work.