What Is the Zcash Memo Field?

Every shielded Zcash transaction (z-to-z) includes an optional 512-byte encrypted memo field. This field travels on-chain inside the encrypted note, meaning only the recipient (who holds the private key) can read it. No one else — not nodes, miners, or blockchain observers — can see the memo content.

It's essentially an encrypted private message that's permanently bundled with the payment. Think of it as an encrypted email attachment that's inseparable from the money transfer.

Memo Field Specs

PropertyValue
Max size512 bytes
EncodingUTF-8 text (standard)
EncryptionIntegrated into the note encryption (ChaCha20-Poly1305 in Orchard)
VisibilityRecipient only (or viewing key holder)
Available onSapling and Orchard (z-address) transactions only
Transparent address❌ No memo field
Characters (~)~512 ASCII or ~170 Unicode characters

Use Cases for the Memo Field

1. Payment References

Include an invoice number, order ID, or reference code when paying a merchant: "Invoice #INV-2025-0042 — annual subscription renewal". Both parties have a cryptographic receipt tied to the payment.

2. Private Messaging

Send short encrypted notes alongside a transaction — useful for sending ZEC to a friend or family member with a personal note. The message is as private as the transaction itself.

3. Return Address

Include your z-address in the memo so the recipient can reply to you — useful when the sender's address isn't otherwise known to the recipient.

4. Proof of Payment

By sharing your viewing key with an auditor, they can read your memos and verify payments alongside amounts. This enables compliance and accounting without public disclosure.

5. ZMsg / Zecpages

Applications like Zecpages use the memo field as a public message board — users send small amounts of ZEC to a shared address with memos that function as public posts. It's a decentralized, censorship-resistant message protocol built on Zcash's infrastructure.

How to Send a Memo in Popular Wallets

WalletMemo SupportWhere to Find It
Zashi✅Send screen → "Add memo" (optional field)
YWallet✅Send screen → Memo field below amount
Nighthawk✅Send screen → "Message (optional)"
Zcash CLI (zcashd)✅z_sendmany with memo parameter (hex-encoded)

Limitations to Know

  • 512 bytes only: Long messages must be split across multiple transactions.
  • Shielded only: Transparent (t-address) transactions have no memo field. You must send to a z-address or Unified Address to use memos.
  • No delivery confirmation: There's no read receipt — you can only confirm the transaction confirmed on-chain.
  • Storage: Memos are stored on-chain permanently (encrypted). Your wallet needs to scan the chain to retrieve them.