What Are Unified Addresses?

A Unified Address (UA) is a single Zcash address that bundles multiple payment receivers together — allowing the sender's wallet to automatically select the most private, most efficient receiver type that both the sender and recipient support. Rather than maintaining separate addresses for Orchard (the newest shielded protocol), Sapling (the previous shielded protocol), and transparent transactions, a user with a Unified Address has one address that handles all of these seamlessly.

Unified Addresses were introduced as part of ZIP-316 (Zcash Improvement Proposal 316) and activated with the NU5 (Network Upgrade 5) hard fork in May 2022. They are now the standard address format recommended for all new Zcash users and are the default in Zashi and other modern wallets.

A Unified Address looks like this: u1l9f0l4348distsz5fdq3nfzqgcs54sn3h72w60xmf8hf3r9jgu3z9x25kj3gy2kfc9lm6hq2kh — the "u1" prefix identifies it as a mainnet Unified Address. They are considerably longer than older address types because they contain multiple encoded receivers within the single string.

The core innovation is the abstraction layer: the sender does not need to know or care whether the recipient prefers Orchard, Sapling, or transparent transactions. The sender's wallet interrogates the Unified Address, extracts the supported receivers, and automatically routes the payment to the highest-privacy option both wallets support. This removes the complexity of address type management from end users entirely.

The Problem They Solve

Before Unified Addresses, the Zcash address landscape was fragmented and confusing in ways that actively harmed privacy adoption. Zcash had accumulated three distinct address formats across its history, and users had to manage them manually:

Transparent addresses (t-addresses): Starting with "t1" (P2PKH) or "t3" (P2SH), these are the original Bitcoin-style transparent addresses. Every exchange and most early wallets used t-addresses exclusively. All transactions involving t-addresses are publicly visible on the blockchain.

Sapling z-addresses (zs-addresses): Introduced with the Sapling upgrade in 2018, these start with "zs1" and represent shielded Sapling addresses. Sapling shielded transactions are private and use the Groth16 proof system. However, the address format is distinctly different from t-addresses, and many wallets had poor or inconsistent support.

Sprout z-addresses (zc-addresses): The original shielded addresses from Zcash's launch in 2016. These are deprecated and should not be used — they are much slower to transact with and use the original Zerocash proof system which has been superseded.

The practical consequence of this fragmentation was significant. Users had to know which address type to share depending on who was sending. If you shared a zs-address with an exchange, the withdrawal would fail because exchanges only supported t-addresses. If you shared a t-address for peer-to-peer payments, you sacrificed privacy. Users were constantly choosing between convenience and privacy, and the cognitive load discouraged many from ever using shielded transactions at all.

Unified Addresses solve this by making the address format itself intelligent. The address carries information about what receiver types it supports, and the sender's wallet handles the routing automatically.

How ZIP-316 Works

ZIP-316 defines the encoding, parsing, and validation rules for Unified Addresses. The technical design is elegant: a Unified Address is a Bech32m-encoded string that contains a list of "receivers," each identified by a type code followed by the receiver-specific data.

The encoding process works as follows. A wallet generates key material for each desired receiver type (Orchard, Sapling, transparent). For each receiver, it encodes a (typecode, data) pair. These pairs are concatenated and padded, then encoded using Bech32m (the same encoding used for Bitcoin's taproot addresses) with the human-readable prefix "u" for mainnet or "utest" for testnet.

The Bech32m encoding provides error detection — if a character is accidentally changed when copying an address, the checksum will fail and the wallet will reject the address before any funds are sent. This built-in integrity check is critical for preventing copy-paste errors.

When a sending wallet encounters a Unified Address, it decodes the Bech32m encoding, extracts the list of receivers, and follows a priority algorithm defined in ZIP-316: prefer Orchard over Sapling over transparent. If the sending wallet supports Orchard (the newest protocol), it uses the Orchard receiver. If it only supports Sapling, it uses the Sapling receiver. If it only supports transparent transactions (as most exchanges currently do), it falls back to the transparent receiver if one is present in the UA.

This automatic priority routing is what makes Unified Addresses so powerful: the privacy level is maximised automatically without user intervention. As the ecosystem upgrades, payments to the same UA automatically upgrade to better privacy protocols — the user never needs to distribute a new address.

Receiver Types Within a UA

A Unified Address can contain between one and all of the following receiver types. In practice, most wallets generate UAs containing Orchard, Sapling, and transparent receivers to maximise compatibility.

Orchard receiver (typecode 0x03): The newest and most secure shielded receiver type. Orchard uses the Halo 2 proof system with no trusted setup requirement. Orchard receivers are 43 bytes encoding a public key on the Pallas curve. Transactions to an Orchard receiver provide the strongest available privacy on the Zcash network.

Sapling receiver (typecode 0x02): The previous-generation shielded receiver. Sapling addresses use the Groth16 proof system (trusted setup). Sapling receivers are 43 bytes encoding a diversified payment address. Most Zcash-compatible wallets today support Sapling, making it a good fallback for compatibility with slightly older implementations.

Transparent P2PKH receiver (typecode 0x00): A standard transparent Pay-to-Public-Key-Hash receiver, equivalent to a Bitcoin P2PKH address. Present in most UAs for compatibility with exchanges and services that do not yet support shielded withdrawals. Including a transparent receiver in a UA does not force senders to use it — it is only selected as a last resort when the sender does not support any shielded protocol.

Wallet developers can also define custom receiver types for future protocol upgrades. ZIP-316 is designed to be extensible — when a new shielded protocol is introduced (beyond Orchard), a new typecode can be defined and added to the UA receiver list, and updated wallets will automatically prefer it without requiring users to generate new addresses.

How to Generate a Unified Address

If you use Zashi or YWallet in 2025, you already have a Unified Address — it was generated automatically when you created your wallet. You do not need to do anything special.

In Zashi: Tap the Receive button on the home screen. Your Unified Address is displayed by default. You can tap "Copy" to copy it to the clipboard or share the QR code. Zashi also allows you to view the individual component addresses (Orchard-only, Sapling-only, transparent-only) by tapping on the address details, which is useful when you specifically need one address type for a particular service.

In YWallet: Navigate to the Receive tab. YWallet displays your Unified Address with a QR code. YWallet is particularly useful because it shows a detailed breakdown of the receivers embedded in your UA and allows you to copy each individual receiver address separately if needed. YWallet supports both Sapling and Orchard pools and generates UAs containing both shielded receivers plus a transparent receiver for maximum compatibility.

From the Zcash command-line client (zcashd): Experienced users running a full node can generate a Unified Address using the RPC command: zcash-cli z_getaddressforaccount account_number. This generates a UA from a specific account in the wallet, following the ZIP-32 hierarchical deterministic key derivation standard.

Wallet Support in 2025

Wallet Platform UA Send UA Receive Orchard
ZashiiOS, AndroidYesYesYes
YWalletiOS, Android, DesktopYesYesYes
NighthawkAndroidYesYesYes
zcashd (CLI)Linux, macOS, WindowsYesYesYes
CoinbaseWeb, iOS, AndroidNo (t-only)PartialNo
KrakenWebNo (t-only)NoNo

Privacy Benefits of Unified Addresses

Beyond the usability improvements, Unified Addresses provide meaningful privacy benefits through several mechanisms.

Automatic shielded routing maximises pool participation. Because a UA defaults to Orchard or Sapling when both parties support it, every wallet-to-wallet payment that uses UAs goes through the shielded pool automatically. This grows the anonymity set for all shielded users without requiring any conscious privacy decision from the user. More transactions entering the shielded pool means stronger privacy guarantees for everyone.

Address reuse reduction. Traditional transparent addresses could be reused indefinitely, with every incoming transaction permanently linked on the public blockchain. While you can generate new Sapling z-addresses for each transaction manually (Sapling supports address diversification), Unified Addresses with Orchard receivers support diversification natively — a wallet can generate an unlimited number of distinct UAs that all derive from the same spending key. This enables per-contact or per-invoice address generation for privacy-conscious users.

Forward privacy compatibility. When a new shielded protocol is added to Zcash in the future, existing Unified Addresses will be updatable to include the new receiver type, and senders with updated wallets will automatically use it. This means the Unified Address ecosystem improves its privacy properties over time without requiring users to distribute new addresses or update their payment details.

Removal of user errors. Before UAs, a common privacy failure mode was a user accidentally sharing their t-address instead of their z-address, resulting in a public transaction when a private one was intended. With UAs, the wallet handles the routing — the user shares one address, and the correct (highest-privacy) transaction type is used automatically.

The Future of Zcash Addressing

Unified Addresses represent the current state of the art, but the Zcash protocol continues to evolve. Several developments in the Zcash roadmap will further enhance the addressing and privacy landscape.

Full Orchard adoption. The immediate priority for the Zcash ecosystem is increasing the proportion of transactions that use Orchard receivers rather than Sapling. Orchard eliminates the trusted setup requirement entirely (using Halo 2), making it the cryptographically strongest option. As wallets update and the community migrates, the Orchard pool will grow, improving privacy for all participants.

Zcash Shielded Assets (ZSAs). A future upgrade being developed under ZIP-226 and related ZIPs will enable other digital assets to be issued and transferred within Zcash's shielded pool. ZSAs will use Unified Addresses as their addressing format, meaning assets built on Zcash will inherit the same privacy infrastructure from day one.

Cross-chain private payments. The Zcash community is exploring mechanisms for bridging ZEC and ZSAs to other blockchains while preserving shielded transaction properties. Unified Addresses could serve as the gateway address format for these cross-chain private transfers.

Universal address standardisation. There is ongoing discussion in the broader cryptocurrency community about cross-protocol universal address standards. Zcash's work on ZIP-316 and the Unified Address concept has been influential in this space, with some researchers proposing that similar multi-receiver address concepts could benefit other privacy-focused blockchains.

For users in 2025, the practical message is clear: always use your Unified Address when sharing a Zcash address. Whether you are receiving from a friend, withdrawing from an exchange, or publishing a donation address, your UA ensures the payment takes the most private path available. This simple habit, adopted at scale, is one of the most powerful things the Zcash community can do to strengthen the privacy guarantees of the shielded pool for everyone.