
Ethereum Now Lets You Pay for AI Without Revealing Who You Are
The Ethereum Foundation and the Open Anonymity Project launched zkAPI on Ethereum mainnet: users deposit ETH or USDC into a vault contract, then generate a zero-knowledge proof of sufficient, unspent funds to obtain a capped, short-lived API key, letting them call AI models through OpenRouter without the provider linking their prompts to a billing identity. The protocol (based on a February 2026 Ethereum Research proposal by Davide Crapis and Vitalik Buterin) issues signed usage receipts after the key expires to settle actual spend, and ships with a browser chatbot (OA Chat) and an open GitHub repo; it is explicitly labeled experimental with no formal audit yet. The same proof-based metering pattern is proposed for other metered services like blockchain data queries, image/video generation, and machine-to-machine payments.
What it claims
zkAPI went live on Ethereum mainnet on October 1. It separates who pays from what is asked. The provider (OpenRouter) sees the prompts, and the payment layer sees the spend, but neither can link the two. Once you deposit, your balance becomes a "private note" that only you can spend and that cannot be traced back to the deposit transaction. This is the property the design turns on. Your on-chain deposit is public, but your later usage is not tied to it.
How it works
- Deposit. Send ETH or USDC to the vault contract in one ordinary transaction. The balance becomes a private note.
- Prove. For each session, software on your device builds a zero-knowledge proof that you have enough funds and that the note is unspent.
- Get a key. The server checks the proof and returns a temporary API key. The key is capped at a dollar amount and is held only in device memory.
- Call the model. Requests go to the AI provider carrying only that key, with no name and no payment details.
- Settle. When the key expires, the provider issues a signed usage receipt. You are charged for actual use, not the cap.
sequenceDiagram
participant U as User device
participant V as Vault / payment layer
participant P as Provider (OpenRouter)
U->>V: Deposit (public, one tx)
U->>V: ZK proof: funds + unspent
V-->>U: Capped short-lived key
U->>P: Prompts + key only
Note over V,P: Payment layer sees spend, not prompts.<br/>Provider sees prompts, not payer.
P-->>V: Signed usage receipt at expiry
V-->>U: Charge actual usageHow to use it
- Existing apps: Any app that speaks the OpenAI API format can use zkAPI by pointing at a local address. The page does not give the address or setup commands, so check the GitHub repo.
- No-install option: OA Chat is a browser chatbot that runs on zkAPI.
- Model access: Keys work through OpenRouter, so you reach its catalogue of models.
- Providers: To integrate directly, a provider must accept a proof in place of an API key and settle signed usage receipts. The same pattern is pitched for other metered services: chain data queries, image and video generation, VPNs, and machine-to-machine payments.
Limits
- Prompt content is still exposed. zkAPI unlinks your identity from your prompts. It does not hide the prompts. The provider still reads everything you send, so the content itself remains a privacy risk. The article contrasts this with running a local model, which is the option that keeps the data at home.
- Experimental and unaudited. The repository labels the protocol experimental and lists no formal audit.
- Not covered by the article: fees, the proving cost or latency per key, the key lifetime, and the cap values.
Organisations named here
- Ethereum Foundation
- Open Anonymity Project
- OpenRouter
- OpenAI
- The New York Times
- Davide Crapis
- Marco De Rossi
- Vitalik Buterin
Technologies named here
- zkAPI
- OA Chat
- OpenRouter
- ERC-8004
- OpenAI API
- Ethereum
Techniques named here
- Zero-knowledge proof for payment authorization
- Private note / digital cash balance
Related in ai-infra
kerpopule/hermes-jev-skills
Wire It, Run It, Deploy It: AI Workflows in Gradio
