A private payment leaves nothing public to point at. A receipt fixes that on your terms: it shows one person that you paid a specific recipient at least a specific amount — and nothing else about you or the payment.
Writing a receipt sends no transaction and costs nothing.
Write a receipt
- Open Prove → A payment.
- Choose the payment under Payment. The list holds what you have sent from this browser.
- Under At least, enter the amount to show. All fills in the full amount — or enter less: for a 1 SOL payment, at least 0.5 is a valid receipt that keeps the exact figure to yourself.
- Under For, say what it is for:
invoice 1042,March rent. - Press Write receipt, then Copy receipt.
The result is a block of text starting with zkreceipt. Send it however you
like.
Check a receipt
- Open Prove → Check one.
- Paste the receipt.
- Optionally type the purpose you expect under For.
- Press Check.
A valid result reads "At least 0.4 SOL was paid to CZ92nGCx…3LjWqU", with the note's position in the pool and the stated purpose. The check runs in your browser: the proof is verified, the recipient is recomputed from the address the receipt names, and the note is looked up among the pool's notes.
What a receipt shows
| Shown | Not shown |
|---|---|
| The recipient | The exact amount, unless you chose to |
| A floor on the amount | Who the payer is |
| The purpose you wrote | Any of your other payments |
| That the note exists in the pool | Anything that lets the reader track the note |
That last row is the point. You could prove a payment by handing over the note's raw details — but those details would let the reader watch for the moment the note is spent. A receipt proves the same thing and gives away none of it.
Good to know
- The payments list lives in this browser's storage. Write receipts from the browser you paid from; the payments themselves are unaffected if the list is lost.
- A receipt shows that the payment exists. Either side of a payment can write one, so treat it as proof of the payment, not of who is holding the receipt.
- For a returnable payment the check also shows the return date, so the reader can tell whether it could still go back.