Zcash to Solana Bridge
There is no established ZEC token on Solana, so moving Zcash to Solana means swapping ZEC for SOL or a stablecoin. NEAR Intents is the main way, and wallets like Zashi can swap straight from a shielded balance.
Reviewed October 14, 2026 ยท 4 solutions checked
On this page
Short answer
The practical way is a NEAR Intents swap. You send ZEC to a one-time deposit address, a solver pays you SOL, USDC or USDT on Solana, and NEAR settles the deal in between. If you use Zashi, its built-in swap does this from your shielded balance, no extra website needed. Other apps built on NEAR Intents and aggregators like Rango offer the same swaps.
The swap does not carry Zcash privacy over. The deposit address on the Zcash side is public (transparent), so anyone can see how much you send into the swap, and the Solana payout is fully public too. Sending from a shielded balance keeps your earlier history out of it, which is much better than sending from a public address. But the swap itself can be seen.
A centralized exchange is the backup for large amounts or if you are selling ZEC anyway. First check how the exchange handles shielded deposits, because some only credit deposits from public addresses. Wrapped ZEC on Solana is not a useful option today, since no version has real trading.
| Trustless bridge | No |
|---|---|
| Usual way | NEAR Intents swap |
| Usual time | 10-30 min |
| Zcash block time | About 75 seconds |
| Send from shielded | Yes, e.g. Zashi |
| Private on arrival | No, Solana is public |
| Need SOL on arrival | Yes, for USDC or USDT |
Why this route is difficult
Zcash has two kinds of funds. Public (transparent) addresses work like Bitcoin: anyone can see amounts and senders. Shielded pools (Sapling and Orchard) use special math proofs to hide sender, receiver and amount. A bridge must prove a deposit happened, and with shielded funds an outside system cannot see it unless it gets view keys. That would weaken the privacy the pool is meant to give.
Zcash also has no smart contracts. It cannot lock ZEC under rules tied to Solana, and Solana cannot cheaply check Zcash blocks. So any ZEC token on Solana would need an issuer holding the coins, and none has gained real trading.
Intent-based swaps get around both problems. A solver receives ZEC on a public deposit address it controls and pays out real coins on Solana, and NEAR Intents settles the trade. You can fund that deposit from a shielded balance, which is why Zashi added NEAR Intents for outgoing swaps. But the deposit itself is visible on the network.
What is left is the small market. Far fewer solvers and exchanges trade ZEC than major coins, so the markup grows with size. Ways to hold ZEC itself on Solana barely exist.
Possible approaches
1Intent-based swap
Solvers take ZEC on a public deposit address and send what you asked for on Solana. NEAR Intents settles the trade.
Trade-offReal coins on both sides and works from shielded balances. The deposit is public, and big amounts depend on how much solvers can handle.
2Wrapped ZEC on Solana
An issuer holds ZEC and creates a matching token on Solana.
Trade-offWould keep ZEC's price, but relies on the issuer, and no such token has real trading.
3Centralized exchange
Deposit ZEC, sell it, and withdraw SOL or a stablecoin on Solana.
Trade-offSimple for large amounts. Shielded deposit support and ZEC listings differ by exchange and country.
Options compared
| Option | You get | Typical time | Cost | Best for |
|---|---|---|---|---|
| Intent-based swap (NEAR Intents) | SOL, USDC or USDT | 10-30 min | Solver markup + small Zcash fee | Most people, incl. Zashi users |
| Aggregator (Rango and similar) | Supported Solana tokens | 10-40 min | Route fees, maybe an extra fee | Comparing ZEC routes |
| Centralized exchange | SOL or stablecoins | 30 min to a few hours | Trading + withdrawal fee | Large amounts, if ZEC is listed |
| Wrapped ZEC on Solana | A ZEC token backed by an issuer | Depends on issuer | High price impact | Rarely worth it today |
Working solutions
| Solution | You receive | Custody / verification | Notes |
|---|---|---|---|
| NEAR Intents | SOL, USDC, USDT | Solvers, settled on NEAR | Deposit goes to a public ZEC address. Can be funded from shielded. |
| Zashi wallet swaps | SOL, USDC, USDT | Solvers, settled on NEAR | Built-in swap from shielded balance. Refunds go to a public wallet address. |
| Rango Exchange | Supported Solana tokens | Depends on route | Compares ZEC routes. Check who fills the quote. |
| Centralized exchanges | SOL or stablecoins | Exchange holds funds | Depends on country. Check if shielded deposits are credited. |
How to move Zcash to Solana
These steps show a NEAR Intents swap from ZEC to SOL or USDC, inside Zashi or in a NEAR Intents app. It is the most direct way and works from shielded or public balances, depending on your wallet.
- 1
Get a Solana address
Copy your address from Phantom, Solflare or Backpack. A Solana address is 32 to 44 letters and numbers. If you will receive USDC or USDT, make sure the wallet has a little SOL for fees, or choose SOL instead.
- 2
Check what your ZEC wallet can send
Zashi only spends from its shielded balance and has the swap built in. YWallet and Zingo can send from shielded funds to a public address, which is what the NEAR Intents deposit address is. If your ZEC is on a public address (starting with t1), most wallets can send it directly.
- 3
Get a quote and a deposit address
Choose ZEC as what you send and SOL or USDC on Solana as what you get. Paste your Solana address and check the quote and the minimum amount. The service creates a one-time public Zcash deposit address for this swap.
- 4
Set or check the refund address
If the swap fails or the quote expires, your ZEC goes back to a refund address. Apps usually ask for a Zcash address you own. Zashi uses a public address from your wallet. A refund to a public address can be seen by anyone, so think about moving it to your shielded balance afterwards.
- 5
Send ZEC and follow it
Send the exact amount before the quote expires. A Zcash block comes about every 75 seconds, and the swap starts once the service sees enough confirmations, usually a few blocks. You can watch the deposit address on a Zcash explorer like Blockchair or 3xpl.
- 6
Check it arrived on Solana
Once the solver pays, the coins reach Solana in seconds. Look up your address on Solscan. For USDC, check that the token mint is the official one from Circle.
Fees and timing
Zcash network fees are low, and current wallets set them by fixed rules, so they are predictable. The main cost is the solver markup built into the NEAR Intents quote, plus any fee the app adds. Fewer solvers trade ZEC than BTC or ETH, so the quote gets worse quickly as the amount grows. Check the quote at a few different amounts before a large swap.
On Solana, receiving SOL needs nothing extra. The first time you receive USDC or another token, Solana sets aside about 0.002 SOL for it, and you need SOL to move the tokens later. Exchanges charge trading and withdrawal fees instead. They are mostly fixed, so they hurt most on small amounts.
The time depends mostly on Zcash confirmations. With a block about every 75 seconds and a few confirmations needed, most swaps finish in 10 to 30 minutes. Exchanges often want more confirmations and may check withdrawals by hand, so they can take longer.
Common mistakes
- Thinking a shielded send keeps the swap private. The deposit address is public, so the amount going into the swap can be seen, and the Solana side is fully visible.
- Sending shielded ZEC to an exchange that only credits deposits from public addresses. Read the exchange instructions first, or support may have to sort out your deposit by hand.
- Receiving USDC on Solana with no SOL in the wallet. You cannot move it until you add SOL for fees.
- Letting the quote expire before your ZEC is sent. That usually leads to a refund instead of a swap.
- Leaving a refund on a public address and then spending it together with shielded funds. That links the two.
Before you transfer
- Sending from a shielded balance keeps your past history private, but the amount going into the swap is public.
- Sending from a public address links your earlier public history to the swap.
- The Solana side of any swap is fully public.
- Refunds may go to a public address. Move them to your shielded balance before spending them with other funds.
- Not much ZEC trades, so compare quotes on larger amounts.
- Keep a little SOL in the receiving wallet if you choose USDC or USDT.
- Rules for privacy coins and which exchanges list them differ by country.
Frequently asked questions
You can swap it, with one catch. Wallets like Zashi send from the shielded pool to a NEAR Intents deposit address, which is public. So the deposit amount can be seen, even though your earlier history stays private.
Use a NEAR Intents swap, in Zashi or in a NEAR Intents app, and enter your Solana address as where to send. Centralized exchanges that list ZEC are the other option.
Not in any established form. No ZEC token on Solana has real trading, so swapping into SOL or a stablecoin is the realistic choice.
Usually 10 to 30 minutes. A Zcash block comes about every 75 seconds and the swap starts after a few confirmations. The Solana payout takes seconds.
Only partly. A shielded send hides where the ZEC came from, but the public deposit and the Solana payout can both be seen.
Public (transparent) addresses start with t1 or t3 and show amounts and history to everyone, like Bitcoin. Shielded addresses, including unified addresses starting with u1, hide sender, receiver and amount.
You can receive it without SOL, but you need SOL to move or swap the USDC later. Choosing SOL as what you receive avoids the problem.