What a Zcash Swap Is
A Zcash Swap exchanges ZEC for another asset such as BTC, carried out through a non-custodial exchanger, a swap pool, or a trustless atomic swap that settles directly between the two chains. Unlike a deposit to a centralized exchange, a non-custodial route never asks you to hand over your coins before the trade completes — you sign a transaction, the counterparty's contract or script does the same, and the swap either finishes on both sides or not at all. ZEC itself is the native coin of the Zcash network, whose own project page at z.cash documents both address formats in detail. What sets a Zcash Swap apart from swapping most other assets is the address you swap from: ZEC can move from a shielded z-addr, where the amount and participants are hidden, or from a transparent t-addr, where the balance is as visible as a normal Bitcoin UTXO.
Shielded vs Transparent Addresses
Zcash supports two address formats on the same network. A transparent address works like a Bitcoin address: anyone can see the balance and every transaction tied to it on a public explorer. A shielded address uses zero-knowledge proofs to hide the sender, receiver and amount while still proving the transaction is valid, a design documented in detail on Wikipedia's Zcash entry. Both address types spend the same ZEC; they just expose different information about the spend.Why the Address Type Matters for Swaps
Most exchangers and swap protocols only accept ZEC from a transparent address, because the counterparty's software needs to verify the transaction's inputs and outputs the way it would for Bitcoin. If your ZEC sits in a shielded pool, you typically deshield it to a t-addr first, then run the swap from there. That extra step is the trade-off privacy-conscious users accept for liquidity and speed.Shielded vs Transparent: The Core Trade-off for a Swap
The table below lays out what each address type gives up and keeps when it feeds into a swap. Neither option is wrong; they serve different goals, and plenty of users hold ZEC in both forms depending on whether a balance is meant to move soon or sit untouched. A balance that sits in cold storage for months gains little from being transparent, while a balance you plan to trade within the week gains little from staying shielded if the swap route will need it transparent anyway. Thinking of the two address types as separate accounts for separate purposes, rather than one setting you pick once, is the simplest way to use Zcash without fighting its own design.
| Property | Shielded (z-addr) | Transparent (t-addr) |
|---|---|---|
| Visibility on-chain | Sender, receiver and amount hidden | Fully visible, like a Bitcoin UTXO |
| Swap compatibility | Usually requires deshielding first | Accepted directly by most exchangers |
| Typical use | Long-term holding, private transfers | Active trading and swaps |
Non-Custodial Exchangers for a Zcash Swap
A non-custodial exchanger quotes a rate, gives you a deposit address, and sends the other asset the moment your ZEC confirms — at no point does it hold a balance tied to your identity the way a centralized account would. This is the most common way people run a Zcash Swap into BTC today, because it needs no sign-up and no KYC form for most amounts, and the whole exchange reads as two independent on-chain transactions rather than a ledger entry on someone else's server.
How a Non-Custodial ZEC Swap Works
You enter the amount of ZEC you want to send and the BTC address that should receive the output. The exchanger locks in a rate for a short window, shows you a deposit address, and starts watching the chain. Once your ZEC transaction reaches the required confirmations, it broadcasts the BTC payout automatically — you never create an account and the exchanger never custodies funds beyond the seconds it takes to route the trade.Choosing an Exchanger
Favor an exchanger with a transparent fee shown before you commit, a rate that updates live rather than one locked far in advance, and a track record you can check against independent volume data such as the swap and bridge rankings on DefiLlama. Avoid any service that asks for a shielded-only deposit with no way to confirm it, or that asks you to pre-pay a fee before showing the output address.Atomic Swaps: A Trustless Zcash Swap Route
An atomic swap trades ZEC for BTC directly between two chains using a cryptographic script, usually a hash time-locked contract, so that either both sides of the trade complete or both sides refund — there is no step where one party could walk away with both assets. This removes the exchanger entirely: your counterparty is another trader, matched through a swap protocol, not a service holding a float of coins.
How Atomic Swaps Work
Each side locks their asset in a script tied to the same secret. Claiming the ZEC reveals the secret needed to claim the BTC, and vice versa, within a fixed time window. If either party fails to complete their half before the window closes, the locked funds return to their original owner automatically, so no trust in the counterparty is required beyond running the protocol correctly.Limitations of Atomic Swaps with Shielded ZEC
Hash time-locked scripts need a transparent, verifiable transaction structure, which shielded Zcash transactions intentionally obscure. In practice this means atomic swaps run from a t-addr, with the same deshielding step a non-custodial exchanger would require. You can confirm a completed swap's ZEC leg on a public block explorer such as Blockchair's Zcash explorer once it clears, which only applies to the transparent side of the trade.Confirmations and Timing for a Zcash Swap
A Zcash Swap only finishes once both legs have enough confirmations to be considered final, and ZEC and BTC confirm on different schedules. Zcash blocks land roughly every 75 seconds; Bitcoin blocks land roughly every ten minutes, so the BTC leg of most swaps is the slower half of the trade. The steps below describe the typical path from quote to settled swap.
- Get a quote and lock in the rate, the output address, and the amount you expect to receive.
- Send your ZEC from a transparent address to the deposit address shown by the exchanger or swap script.
- Wait for the ZEC transaction to reach the confirmations the route requires, usually just a few blocks.
- The counterparty broadcasts the BTC payout, which you can track on a public explorer while it confirms.
- Treat the swap as final once the BTC transaction has enough confirmations to resist a chain reorganization.
Checking the Output on a Bitcoin Explorer
Once the BTC leg broadcasts, paste the transaction ID or receiving address into any BTC block explorer to watch confirmations accumulate in real time. Six confirmations is the usual threshold traders treat as settled, though smaller amounts are often spendable sooner.Privacy Trade-offs in a Zcash Swap
Swapping from a shielded address protects your activity right up until the deshielding transaction, which is the moment your balance and the fact that you are about to swap become visible on-chain. Swapping from a transparent address skips that reveal but means the balance was never hidden to begin with. Neither path lets you send directly from a shielded pool into a swap script today, because the scripts and exchangers that settle the trade need a transparent, auditable transaction to work from.
Minimizing What a Swap Reveals
Deshield only the amount you intend to swap rather than your whole balance, use a fresh transparent address for each swap instead of reusing one, and avoid linking the output BTC address to other activity you want kept separate. These habits limit what a Zcash Swap exposes without changing how the trade itself executes.Self-Custody Before and After a Zcash Swap
A Zcash Swap should never require you to deposit funds into an account you log into with a password. Before the swap, your ZEC sits in a wallet you control, shielded or transparent as you choose; after the swap, your BTC lands in a wallet address you specified, also fully under your own keys. The exchanger or swap script only ever touches the funds for the seconds it takes to complete the trade, and nothing about a non-custodial swap ever asks for your seed phrase or private key — if anything claiming to run a Zcash Swap asks for either, treat it as fraud and stop. Keep the receiving BTC address in a wallet you control before the swap even starts, so there is no moment after settlement where you need to move funds again to reach proper self-custody. The same rule applies in reverse for a BTC to ZEC trade: generate your Zcash address first, shielded or transparent, and only then begin the swap.
Can I run a Zcash Swap directly from a shielded address?
Not directly. Most non-custodial exchangers and atomic swap scripts need a transparent, verifiable transaction, so ZEC held in a shielded pool is usually deshielded to a t-addr first, then swapped from there.
Is a Zcash Swap custodial?
A non-custodial exchanger or an atomic swap never takes ongoing custody of your funds. You send ZEC to a deposit address or lock script and receive BTC in return, with your keys controlling both balances the entire time.
How long does a ZEC to BTC swap take?
The ZEC leg confirms in minutes given Zcash's roughly 75-second block time. The BTC leg is usually the slower half, since Bitcoin blocks land roughly every ten minutes and most traders wait for several confirmations before treating the swap as final.
What is an atomic swap and why use one for ZEC?
An atomic swap uses a time-locked script so either both sides of a ZEC-for-BTC trade complete or both refund automatically. It removes the exchanger as a counterparty, trading directly against another trader's locked funds instead.
Why does a shielded balance need to be deshielded before swapping?
Swap scripts and exchanger software verify a transaction's visible inputs and outputs the same way they would for Bitcoin. A shielded transaction hides exactly that information by design, so it cannot be checked by a script that needs to see it.
Does swapping ZEC for BTC require an account?
No. A non-custodial exchanger needs only a deposit address and a payout address, and an atomic swap needs only your wallet and the swap script. Neither requires sign-up or identity verification for typical amounts.
How do I confirm a Zcash Swap actually settled?
Check the ZEC transaction on a Zcash block explorer and the BTC payout on a Bitcoin block explorer using the transaction IDs the exchanger or swap script provides. Once both show the required confirmations, the swap is settled.