Zcash Payment Request Generator
Turn your receiving address into a payment link and QR code, with an optional amount, memo, label and message. Use it on an invoice, a donation page or a shop counter. How the format works is explained in Zcash payment links and QR codes.
Paste the address from your wallet's receive screen. Mainnet only.
Leave empty to let the payer choose the amount.
0 of 512 bytes. The memo is visible only to the sender and the recipient.
The label and message travel inside the link in plain text. Use the memo for anything that should stay private.
Payment request
Enter a valid Mainnet address to create the link and QR code.
Rules from ZIP 321
- The address must be a valid Mainnet address: transparent (t1, t3), Sapling (zs1), Unified (u1) or TEX (tex1). The format and checksum are checked the same way as in the Address Checker. Sprout addresses are not allowed.
- The amount uses a dot for decimals, at most 8 decimal places and no thousands separators, and cannot exceed 21,000,000 ZEC.
- A memo is base64url-encoded without padding, may be at most 512 bytes, and is only allowed for shielded and Unified addresses.
- The label and message are percent-encoded. Before you see the result, the generator parses its own link with the full ZIP 321 grammar.
- The QR code holds exactly the link text (byte mode, error correction level M) and is drawn in black on white with a quiet zone, as scanners expect.
The generator creates single-payment requests. ZIP 321 also allows several payments in one link; those are rarely supported by wallets and are not offered here. Custom assets (req-asset) are not offered either.
Want to know what a payment will cost the payer? The fee calculator shows the ZIP 317 fee for a transaction shape.
Questions about payment requests
What does a Zcash payment request contain?
A zcash: link with the receiving address and, if you add them, an amount in ZEC, a memo, a label and a message. ZIP 321, which has the status Active, defines the format. A wallet that supports it fills in the payment, and the payer only has to confirm it.
Is it safe to create a payment request here?
The page only needs the address you want to be paid at, which is public information by design. It never asks for a seed phrase or key. The link and the QR code are made in your browser; nothing is sent to a server or recorded. Always scan the result with your own wallet and compare the address before sharing it.
Can I add a memo to any address?
Only to shielded (zs1) and Unified (u1) addresses. ZIP 321 makes a request invalid if it attaches a memo to a transparent address, so the generator does not allow it. A memo can hold up to 512 bytes and is visible only to the sender and the recipient.
Do all wallets understand these links?
Support varies by wallet and version. ZIP 321 is the standard format, but not every wallet implements every field. If a wallet ignores the amount or memo, the payer can still copy the address. Test with the wallets your payers use.
Are the label and message private?
No. They are plain text inside the link, so anyone who sees the link or QR code can read them. Use the memo for private details.
Why can I not use a Sprout or Testnet address?
ZIP 321 forbids Sprout addresses in payment requests. The generator creates Mainnet requests only, so Testnet addresses are rejected to avoid confusion.
Source: ZIP 321, Payment Request URIs (Status: Active), read October 15, 2026. The QR encoder was checked against an independent reference implementation and decoder during development.
Accepting Zcash? Talk to the community
Join ZecZcash, our independent Zcash community on Telegram, for real-time news, price talk and discussion.
Join @ZecZcash on Telegram