grayr / private payments base sepolia

Agents pay.
Nobody sees who.

An AI agent pays a live x402 API with a zero-knowledge proof. The merchant gets USDC. The chain can't tell which agent paid.

pay as
Real testnet transactions, about 20 seconds. Every payment is refunded.
How it works
  1. The agent calls the API and gets 402 Payment Required: the price and where to pay.
  2. It proves, without saying which, that it owns an unspent note in the pool from a deposit that passed compliance screening. In agent mode the same proof shows the payment fits its policy: a Grayr-verified merchant, an allowed category, a per-payment cap and a daily budget.
  3. The facilitator checks the proof. The amount, merchant and request id are fixed inside it, so the payment can't be redirected.
  4. The pool contract verifies the proof on chain and pays the merchant. A relayer sends the transaction, so the payer's address never appears.
  5. Refunds come back as a new note only the payer can open.

Try it: curl -i /api/weather

Contracts