Privacy is easiest to trust when its boundary is explicit. OpenZK uses zero-knowledge proofs so a service can verify payment conditions without receiving the browser's note secret or full private balance. That is a meaningful property. It is also narrower than making an entire request invisible.

The note stays with the browser

After funding, the browser SDK holds the private note state used to prepare payment proofs. The application can read a display snapshot, but the protocol operation does not require handing the note's secret material to the inference service. A valid proof gives the service the evidence needed to authorize a bounded spend.

The local snapshot, journal, and inference receipts are useful for the interface. They are not a public ledger of the user's private balance. They also are not a replacement for the SDK's note storage or recovery process. Treat a note fingerprint as a label, never as a backup.

Public settlement has public edges

The Ethereum deposit that funds a note is visible onchain. A mutual withdrawal is also visible and names its destination address. An observer may analyze timing, transaction values, and network activity even without the private note secret.

These are ordinary consequences of using a public settlement layer. Product copy should make them clear before someone funds or withdraws. A privacy claim about the payment proof should not be stretched into a claim that public Ethereum transactions disappear.

The model sees the prompt

When the browser streams an OpenRouter inference request, the model provider receives the prompt and any system message sent with it. The provider can process that content to answer. A private payment does not encrypt the prompt against the service that needs to read it.

Likewise, a gateway or network observer may see connection metadata. The payment mechanism does not by itself provide network anonymity. Applications handling sensitive prompts should evaluate their data handling, transport, provider, and logging choices separately.

A useful question for every feature

Before calling a feature private, identify which party is prevented from learning which fact. With OpenZK, the narrow answer concerns private note state and the proof of payment eligibility. It does not cover every fact about the sender, the content of an inference request, or the public funding and exit transactions.

This precision helps teams design better interfaces. Show the deposit and withdrawal as public actions. Show inference as a request sent to a model provider. Show the private note as browser-held payment state, with its own recovery responsibilities. See the protocol lifecycle or read the privacy documentation.

Explore the full OpenZK Journal or read the developer documentation.