MORANANETWORK
Privacy

Z-Addresses (Shielded)

Two address types

Morana supports two address types, each with different privacy properties:

Type Prefix Privacy On-chain visibility
Transparent (T) tmor1q… (testnet) None Amounts and addresses public
Shielded (Z) mtestz1… (testnet) Strong Amounts and addresses hidden

What makes Z-addresses private?

Z-addresses are Sapling shielded addresses. When you receive funds at a Z-address, the sender creates a note commitment using a ZK-SNARK — a cryptographic proof that the output exists and is valid, without revealing the amount or address. Only the holder of the incoming viewing key or spending key for that address can see the details.

Generating a Z-address

The wallet derives a shielded receiving address from your shielded spending key and shows it in the Receive tab alongside your transparent address.

Sending from a Z-address — not yet in the desktop app

The desktop wallet cannot currently spend shielded funds. It can receive them, scan for them, show your shielded balance, read encrypted memos, and estimate what a private send would cost — but the command that actually builds and broadcasts a shielded spend is not wired into the app.

The capability itself is implemented in the wallet core (a local Groth16 prover builds the proof on your machine, so keys never leave it). It is the desktop app that does not yet expose it. Until it does, treat shielded balances on testnet as receive-and-hold.

When shielded sending does land, a private send will carry an optional memo (up to 512 bytes) encrypted to the recipient — only they can read it.

Z-addresses and the explorer

Z-addresses cannot be searched in the block explorer. This is by design: looking up a Z-address would confirm its existence and allow correlation. The explorer shows only that shielded activity occurred, never which addresses were involved.

Address prefixes

Shielded addresses on the Morana testnet begin with mtestz1. The moranaz prefix is reserved for mainnet — if you see it on testnet, something is wrong. Do not send real funds to testnet addresses.

Best practices

  • Always use a Z-address to receive private payments. T-addresses are public.
  • Avoid T → Z → T in a single step if the amounts match — chain analysis can infer the link.
  • Keep your spending key offline. Anyone with your spending key can spend your shielded funds.
  • Do not plan around spending shielded funds from the desktop app yet — see the section above.