Skip to content

Back to the catalog

Ethereum Now Lets You Pay for AI Without Revealing Who You Are
decrypt.coarticle

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/USDC into a vault contract and generate zero-knowledge proofs of sufficient, unspent balance to receive capped, short-lived API keys for AI services (currently routed through OpenRouter), so the AI provider never learns payer identity and the payment layer never learns prompt content. The design follows a February 2026 Ethereum Research proposal by Davide Crapis (Ethereum Foundation dAI team lead) and Vitalik Buterin, who had earlier proposed the ERC-8004 agent-identity standard; the protocol is explicitly labeled experimental with no formal audit, and a companion browser-based client (OA Chat) is open source on GitHub.

TL;DR Ethereum Foundation's zkAPI uses zero-knowledge proofs to issue capped, short-lived, identity-decoupled API keys for paying for AI usage.
Also seen from another angle🧠 AI →
Document

What it is

zkAPI, launched on Ethereum mainnet October 1 by the Ethereum Foundation and the Open Anonymity Project. It also ships OA Chat, an open-source browser-based chat client requiring no installation.

How it works

A user deposits ETH or USDC into a vault contract in one transaction; the balance becomes a "private note" that only the depositor can spend and that cannot be traced back to the deposit. Each AI request, client-side software generates a zero-knowledge proof showing sufficient unspent funds, without revealing the deposit or identity. A server verifies the proof and issues a short-lived API key, capped at a dollar amount, held only in device memory. Requests go to the AI provider (currently OpenRouter) carrying just that key — no name or payment details. On key expiry, the provider returns a signed usage receipt and the user is billed for actual usage, not the cap. Any OpenAI-format client can integrate by pointing at a local address.

sequenceDiagram
    participant User
    participant Vault as Vault Contract (Ethereum)
    participant zkAPI as zkAPI Server
    participant Provider as AI Provider (OpenRouter)

    User->>Vault: Deposit ETH/USDC (one tx)
    Note over User,Vault: Balance becomes untraceable private note
    User->>zkAPI: ZK proof of sufficient, unspent balance
    zkAPI->>User: Short-lived, capped API key
    User->>Provider: Request + key (no identity)
    Provider->>zkAPI: Signed usage receipt
    zkAPI->>User: Charge actual usage

Preconditions / Affected

Applies to apps that speak the OpenAI API format and can be pointed at a local endpoint. Currently only works through OpenRouter as the backing provider. Other metered services (blockchain data queries, image/video generation, VPNs, machine-to-machine payments) could use the same scheme, but per the proposal, providers would need to accept a proof in place of an API key and settle signed usage receipts — not yet implemented for those cases.

Caveats

The project's own repository labels the protocol experimental and states there is no formal audit. The payment layer does not see prompt content, and the AI provider does not see payer identity, but both receipts (usage and payment) exist and the architecture's unlinkability guarantee rests entirely on the ZK proof and vault design, which is unaudited.

Organisations named here

  • Davide Crapis
  • Open Anonymity Project
  • Vitalik Buterin

Technologies named here

  • zkAPI
  • Ethereum
  • OA Chat
  • OpenRouter
  • zkAPI GitHub repository
  • ERC-8004
  • Nvidia 5090 graphics card

Techniques named here

  • Zero-knowledge proof for private payment authorization
  • Capped, short-lived API keys
  • Signed usage receipts
  • Local model inference