Skip to content

Security and privacy

import { Aside } from ‘@astrojs/starlight/components’;

Lunaz is non-custodial. The server holds incoming viewing keys, never spending keys.

  • See incoming payments to the invoice addresses of its merchants. It sees the amounts and the transaction IDs.
  • Create invoice addresses.
  • Spend funds. It holds no spending key.
  • See outgoing payments, spends or the balance of your wallet.

If you paste a full viewing key (UFVK), Lunaz reduces it to the incoming key when it saves it. The server does not keep the part that sees outgoing payments.

Only the signed-in merchant can see the ledger and the CSV export. An API key can create invoices and nothing else.

Lunaz does not store passwords. You sign in with an email code. Lunaz stores only your incoming viewing key and your email.

  • On chain, nothing links invoices to each other or to the merchant.
  • In a cross-chain payment, the origin-chain deposit is public. Only the final shielded leg is private. NEAR Intents also records the swap.
  • A withdrawal to a bank is not private. You send ZEC to a transparent deposit address of the partner, and the partner knows who you are.

The invoice ID is the access token for the public endpoints. Anyone who has the ID can read the invoice status and start a swap for it. Share the checkout link only with the buyer.

  • Keep your spending keys in your own wallet. Do not give them to Lunaz.
  • Keep your API keys on your server. Do not put them in browser code.
  • Keep the webhook secret on your server.