Ethereum’s zkAPI separates AI payments from user identity
Ethereum Foundation and Open Anonymity put zkAPI on mainnet, using zero-knowledge proofs to separate metered AI payments from users’ identities.
By Crypto Readout Editorial3 min read#961b26

The Ethereum Foundation and Open Anonymity Project put zkAPI live on Ethereum mainnet on Oct. 1, letting users pay for metered AI services without linking their billing identity to their requests. The Foundation says users deposit funds into an Ethereum vault, then use zero-knowledge proofs to authorize spending. Its zkAPI announcement says the system is designed for AI services and other pay-per-use APIs.
How does zkAPI separate payment from a request?
First, a user deposits credits such as ETH or USDC into a vault contract. The balance becomes a private note: a record the user can spend without revealing which deposit funds a particular request. The user’s device generates a zero-knowledge proof showing that the note is funded and has enough value for the authorized spend. The zkAPI server verifies the proof without learning the note, deposit or user behind it.
The server then issues a fresh, short-lived API key with a spending cap. The user sends prompts directly to the AI provider with that key. When it expires, a signed usage receipt records the amount spent and the server deducts it from the private balance. One authorization can cover a session, rather than requiring a separate proof for every request.
A nullifier, a one-way serial number derived from the note, helps prevent the same balance being spent twice. The system publishes it when a user spends. A duplicate nullifier exposes an attempted double spend, the Foundation says, while ordinary spends remain unlinkable at the payment layer.
What can the provider and payment server see?
The split works like paying at a counter with a token: the payment system can check the token, while the service handles the request. In zkAPI’s runtime-key mode, the payment server sees that a valid payment exists and the session’s total cost, but not the prompt. The AI provider sees prompts and responses, but not the payer’s billing identity. Ethereum’s public chain records deposits, closes and withdrawals, not what a balance paid for.
The Foundation says zkAPI’s local client supports standard OpenAI and Ollama APIs, allowing existing apps to connect through the user’s device. A simpler proxy mode is also available, but in that mode the zkAPI server relays requests and can see traffic.
What privacy limits remain?
zkAPI separates billing identity from API use; it does not make the user or the prompt fully anonymous. The provider still receives prompt contents and can potentially link sessions through repeated personal details or writing style. Network data, including an IP address and request timing, can also help correlate activity. The Foundation says Tor may help with network privacy, but prompt privacy and network anonymity are separate problems.
The Block’s report says zkAPI implements a design published by Ethereum co-founder Vitalik Buterin and Foundation dAI lead Davide Crapis in February. Its immediate change is narrower: users can pay for metered services without handing the provider a billing identity tied to each request.
Sources
- zkAPI announcement — blog.ethereum.org
- The Block’s report — theblock.co