PCZT (Partially Constructed Zcash Transaction)
A PCZT is a standardized format defined in ZIP 374 for building Zcash transactions incrementally across multiple parties or systems.Why PCZT?
Traditional transaction construction requires all private keys to be available in one place. PCZT enables:- Hardware wallet integration — Sign on a separate device
- Multi-signature workflows — Multiple parties contribute signatures
- Separation of concerns — Different systems handle different roles
- Auditability — Inspect transaction details before signing
PCZT Roles
The ZIP 374 specification defines several roles that operate on a PCZT:In t2z,
propose_transaction combines the Creator, Constructor, and IO Finalizer roles for simplicity.Orchard
Orchard is the latest Zcash shielded protocol, activated with the NU5 network upgrade. It uses the Halo 2 proving system.Orchard vs Sapling
Unified Addresses
Orchard receivers are embedded in Unified Addresses (UAs), which can contain multiple receiver types:Transparent Inputs
t2z is designed specifically for spending transparent inputs — UTXOs from P2PKH addresses (t1... or tm...).
TransparentInput Structure
Transaction ID Byte Order
Payments (ZIP 321)
Payments follow the ZIP 321 payment request format:Memos
Memos are only supported for shielded (Orchard) outputs. They must be hex-encoded:Fees (ZIP 317)
t2z automatically calculates fees according to ZIP 317:marginal_fee= 5,000 zatoshisgrace_actions= 2logical_actions= max(transparent_inputs, transparent_outputs) + orchard_actions
Typical Fees
Network & Expiry
Networks
t2z supports both networks:mainnet— Production Zcash networktestnet— Test network for development

