Overview
Zcash supports two types of addresses: transparent addresses (t-addresses), which work similarly to Bitcoin addresses with the sender, recipient, and amount all publicly visible on-chain, and shielded addresses (z-addresses), which use zero-knowledge proofs to hide transaction details entirely.
Transaction types
A single Zcash transaction can move funds between any combination of address types:
- t-to-t: Fully transparent; sender, recipient, and amount are all publicly visible.
- t-to-z: Shields funds; sender and amount are visible, but the recipient is hidden.
- z-to-t: Unshields funds; recipient and amount are visible, but the sender and prior history are hidden.
- z-to-z: Fully private; sender, recipient, and amount are all hidden.
Transactions can also have multiple inputs and outputs of mixed types (e.g., t-to-(z+t)). In these cases, the transparent components remain fully visible on-chain. The privacy guarantee applies only to shielded components.
Fireblocks support for ZEC
Fireblocks supports transparent (t-address) ZEC only. We do not support shielded addresses or their associated zk-SNARK transaction components, and there are no current plans to add shielded address support.
Receiving ZEC
Because Fireblocks hosts t-addresses only, all received funds are transparent outputs, regardless of where they originated. A counterparty can send from a z-address to a Fireblocks t-address (a z-to-t transaction), but the output at the Fireblocks address is fully transparent and recorded normally on-chain. Note that a t-address can only ever receive transparent outputs; this is a Zcash protocol requirement, not a Fireblocks limitation.
Compliance considerations
All ZEC transactions sent from Fireblocks are transparent and fully traceable on-chain. Inbound transactions require more attention. When funds arrive from a shielded z-address, the output at the Fireblocks t-address is visible, but the sender identity and prior transaction history are hidden. Blockchain analytics tools cannot trace the origin of such funds.
When a transaction has at least one shielded input, Fireblocks may return a null or empty source field, since the sender cannot be determined from on-chain data. Institutions subject to travel rule or source-of-funds requirements should treat inbound ZEC from unknown or shielded sources with the same caution as any asset with opaque provenance.