A person who needs to show where a private-protocol withdrawal came from can provide protocol-level evidence without publishing an entire wallet history. That conclusion holds only when the original deposit note is still controlled and the receiving party accepts a cryptographic compliance report. It does not establish the person’s legal identity, prove the funds’ history before deposit, or compel an exchange to accept them. The practical question is what the evidence proves—and what it cannot.
When tornado cash can prove a withdrawal’s origin
The protocol can connect a selected deposit address, deposit transaction, withdrawal address, and withdrawal transaction when the holder can produce the original Note. Tornado Cash is an Ethereum privacy protocol that separates a deposit from a later withdrawal through cryptography; this tornado cash overview explains the underlying model.
The important distinction is between proving entitlement and revealing activity. A zero-knowledge proof is a cryptographic statement that confirms a claim without disclosing the private information used to make it. Here, the claim is that the holder controls a valid deposit note belonging to the relevant pool.
After a withdrawal, the protocol’s documented output can include the deposit and withdrawal transaction hashes, source and destination addresses, commitment, and nullifier hash. The nullifier is the public value that marks a note as spent, so the same deposit cannot be claimed twice. That is enough to re-link the two sides for a chosen reviewer; it is not a general-purpose certificate of clean funds.
If the protocol record exists, distinguish proof from assurance
| Option | What it establishes | What remains unknown | Best fit |
|---|---|---|---|
| Wallet-history screenshot | What one wallet appears to have sent or received | Whether the destination withdrawal belongs to that deposit | An informal explanation between known parties |
| Protocol compliance report | A specific deposit-to-withdrawal relationship | Identity, pre-deposit provenance, and a counterparty’s risk policy | A reviewer asking for technical transaction continuity |
| Counterparty-specific source-of-funds package | Identity and broader provenance alongside on-chain records | Whether the institution will approve the relationship | An exchange, bank, or regulated service with formal due diligence |
The protocol report fits someone who must show that a particular withdrawal originated from a particular deposit while limiting unrelated disclosure. A wallet-history explanation fits only a low-stakes request. Where a counterparty needs identity checks or source-of-funds evidence, the report is supporting material—not a substitute for that process.
When a reviewer asks for “proof of funds,” the scope must be agreed first
A compliance report is the protocol’s record of the selected deposit and, once spent, its related withdrawal information. It answers a narrow technical question: whether these on-chain events belong together under the protocol’s rules.
It does not answer where the deposited assets came from before entering the pool, whether the holder is the beneficial owner of an address, or whether a jurisdiction or service provider permits the transaction. Those are separate questions with separate evidence. Asking a reviewer to state which question they are trying to resolve prevents the common mistake of supplying a technically valid report that does not satisfy the actual request.
Before any evidence is shared, the Note must remain private
The Note is not a receipt in the ordinary sense. It is the secret material tied to the right to spend the deposit, which is why it should not be sent casually to a counterparty, support agent, or public chat. A verifier needs evidence of the relationship, not unrestricted control of the underlying claim.
The clean conclusion is therefore limited but useful: protocol evidence can demonstrate a chosen deposit-to-withdrawal path while preserving the rest of a wallet’s history. It cannot turn privacy tooling into identity evidence, legal clearance, or a guaranteed acceptance decision.