What is private here, and what is not.
Plain words. If something below is wrong, tell us and we fix the page or the code.
Who sees what
- The model provider (OpenRouter and the model behind it) sees your prompt text, the answer, and your network address (IP). It does not learn who paid: the key it receives is a short-lived child key issued by Open Anonymity's org, tied to a proof, not to a person. Use Tor or a VPN if your IP matters.
- zkAPI's server sees a zero-knowledge proof that some funded note can pay, a spending cap, and later how much the key used. It does not see prompts, and it cannot tell which deposit the note came from.
- This site (chat.zipcoin.cash) serves the page and relays prompt-free protocol messages to zkAPI's server, because that server does not accept browsers from other origins. Those messages carry proofs, Merkle data and settlement; the issued key passes through once in a response. We never see prompts, answers, your note or your funding key, and we keep no accounts and no server-side logs of these relays.
- zipcoin.cash's relayer, when you fund from a note, sees the proof and the destination address, pays the gas, and earns the relay fee. It cannot see which deposit the note came from.
- Ethereum sees the funding address receive ETH (from a privacy pool or, if you chose plain ETH, from your wallet) and deposit into the vault. A plain-ETH funding links your wallet to that address forever; a note does not.
What lives in this browser
- The throwaway funding key (IndexedDB, this origin).
- zkAPI's wallet: the note secret, signed balances, recovery journals (IndexedDB, their SDK's database).
- Your conversation and settings (localStorage), until you clear them.
- The 12-word zip phrase, only while this tab is open, only if you pasted one. A cheque link's
#phrase=fragment is read by the page and removed from the address bar; browsers never send fragments to servers. - Nothing here is synced anywhere. Clearing site data loses the credits; the backup on /wallet is the only copy you control.
Experimental, and whose it is
Private payments run on zkAPI, a protocol by Open Anonymity with the Ethereum Foundation's dAI team, from a design by Davide Crapis and Vitalik Buterin. The vault (0x4386FDbdA35D995beB3BF8625118Ec5982ec81fe), the circuits, the server and the browser wallet SDK are theirs; this page runs their SDK at a pinned revision, unchanged, with our own funding address instead of a wallet extension. zipcoin has no partnership with them and no endorsement from them; this works with their public contract and SDK.
Their own words: single-party trusted setup, unaudited integration, no deposit cap. Notes expire 30 days after the deposit and the balance then goes to their operator. The vault owner can pause deposits and closes. The deposit costs about 6.7 million gas. Keep amounts small.
Funding runs on zipcoin: Privacy Pools by 0xbow, zipcoin's ZC pool and ZipChanger. Those contracts are verified and unaudited. zipcoin's income here is the relay fee and the sales tax inside a ZC sale; nothing is taken from inference.